MCP Tools Reference

Tools available when you connect Claude Desktop to Fenceline.

🔐

Authentication Required

All tools require an API key. Results are automatically scoped to your contractor account—you can only access your own data.

Search & RAG

Vector-powered semantic search across your business data

rag.search

Search across contractor data using natural language

Input: { query: string, types?: string[], contractorId?: string }
Example: "Find vinyl fence materials under $30"
rag.searchComprehensive

Multi-entity search returning projects, materials, and more

Input: { query: string, topK?: number, contractorId?: string }
Example: "Everything about the Johnson project"
rag.answerQuery

Get AI-generated answers with source citations

Input: { query: string, context?: string[], contractorId?: string }
Example: "What are our most popular fence styles?"

Materials

Query and search your material catalog

materials.search

Natural language search through your materials

Input: { query: string, filters?: object, contractorId?: string }
Example: "6ft privacy vinyl fence white"
materials.getDetails

Get full details for a specific material

Input: { materialId?: string, materialName?: string }
Example: Get pricing, specs, and availability
materials.listAll

List all materials with optional filtering

Input: { materialType?: string, groupBy?: string }
Example: Group by type: vinyl, wood, aluminum

Permits

Analyze permit requirements by location

permits.analyze_requirements

Check what permits are needed for an address

Input: { address: string, fenceType: string, height: number }
Example: "Do I need a permit for 6ft fence at 123 Main St?"

Knowledge Base

Search documentation and FAQ

kb.search

Search help docs and frequently asked questions

Input: { query: string }
Example: "How do I set up QuickBooks integration?"

Example Conversations

Once Claude Desktop is connected, you can ask questions naturally:

"What vinyl fencing options do we have under $35 per linear foot?"

→ Uses materials.search to find matching products

"Does the customer at 456 Oak Ave need a permit for their 6ft fence?"

→ Uses permits.analyze_requirements to check jurisdiction rules

"Find all projects we did in West Palm Beach last quarter"

→ Uses rag.searchComprehensive to find matching projects