Ferrule
Concepts

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_method tool — 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.

On this page