MCP Protocol
How Ferrule implements the Model Context Protocol as a multi-tenant gateway.
MCP Protocol
The Model Context Protocol (MCP) is an open standard that lets AI assistants discover and invoke tools from external services in a structured, interoperable way. Rather than each AI client building custom integrations, MCP defines a common wire format — JSON-RPC 2.0 — that any compliant client can speak.
Learn more at modelcontextprotocol.io.
How Ferrule uses MCP
Ferrule acts as an MCP gateway: a single endpoint your AI assistant connects to, which then fans out to every integration your organization has enabled.
AI Client ──MCP──► Ferrule Gateway ──SDK/REST──► Integration APIs
(per-org server)When your AI assistant connects to Ferrule over MCP it receives:
- A
describe_methodtool — ask Ferrule to describe any tool's parameters before calling it. - A
call_<service>tool per enabled integration — e.g.call_clio,call_slack,call_asana.
All tools share the same authentication: a single API key you generate in the Ferrule dashboard.
Per-organization MCP servers
Each organization gets its own isolated MCP server. The tools your AI assistant sees are filtered to the integrations your organization has connected and enabled. Connecting the same AI client under a different API key gives it a completely different tool set.
Tools/call dispatch
When your AI assistant calls call_<service> it passes:
{
"method": "name_of_the_tool",
"params": { "...": "..." }
}Ferrule looks up the method in its internal registry, refreshes OAuth tokens if needed, creates an authenticated client for the integration, and executes the underlying SDK function. The result is returned as structured content.
MCP endpoint
POST https://app.ferrule.io/api/mcp{"\n"}Authorization: Bearer <api-key>
Ferrule supports both the standard MCP HTTP transport and the legacy SSE transport for clients that require it.