Getting Started with Fenceline MCP Server
The Fenceline MCP Server is an authenticated preview for fence-contractor business data, material intelligence, and permit analysis. Browser automation and permit submission are unavailable while their security boundaries are being hardened.
What is MCP?
Model Context Protocol (MCP) is a standardized way for AI applications to connect to external data sources and tools. It enables seamless integration between AI assistants and business systems.
Key Features
🏛️ Permit Analysis
Analyze stored jurisdiction requirements and manage application records without portal submission.
🧱 Material Intelligence
AI-powered material search, pricing analysis, and inventory management.
🔍 Business Intelligence
Vector search across your business data with RAG capabilities.
🤝 Supplier Data
Search supported supplier catalogs and resolve authoritative pricing.
Quick Start
- Get an API Key - Contact your administrator for MCP access permissions
- Test the Console - Use our interactive console to explore tools
- Integrate - Connect your applications using our API
Available Transports
Streamable HTTP (recommended)
Endpoint: https://mcp.fenceline.ai/mcp
Use the current MCP SDK transport for session initialization, request/response calls, and explicit session termination.
Legacy Server-Sent Events (SSE)
Endpoint: https://mcp.fenceline.ai/mcp/sse
Use an MCP SDK client that can attach an API key header. Native browser EventSource doesn't support custom authentication headers.
JSON-RPC HTTP
Endpoint: https://mcp.fenceline.ai/mcp/rpc
Simple request/response pattern ideal for server-to-server integrations.
Authentication
All MCP tools require API key authentication. Configure the current MCP SDK transport to include your key on every request:
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
const transport = new StreamableHTTPClientTransport(
new URL('https://mcp.fenceline.ai/mcp'),
{ requestInit: { headers: { 'X-API-Key': process.env.MCP_API_KEY } } }
);
const client = new Client({ name: 'my-client', version: '1.0.0' });
await client.connect(transport);
For a single request without an MCP session, the compatibility JSON-RPC endpoint accepts the same header:
curl -X POST https://mcp.fenceline.ai/mcp/rpc \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Next Steps
- Explore the Available Tools documentation
- Check out Code Examples
- Review the API Reference
- Try the Interactive Console