MCP Servers
How MCP (Model Context Protocol) sources work in Fabric Agents — supported transports, tool namespacing, and the overall model.
Model Context Protocol (MCP) is an open protocol for exposing structured tools and resources to an AI agent. Lots of services ship an MCP server — Linear, GitHub, Notion, Sentry, Stripe — and you can write your own against the MCP spec.
Fabric Agents speaks MCP as a first-class source type. Add an MCP server as a source and every tool it exposes becomes callable inside a conversation.
Supported transports
Fabric Agents supports three MCP transports:
| Transport | When to use | Config field |
|---|---|---|
| HTTP (streamable) | Default for remote servers. | url (default when transport unspecified) |
| SSE (Server-Sent Events) | Older remote servers that pre-date streamable HTTP. | "transport": "sse" |
| stdio | Local servers that speak MCP over a subprocess. Common for community-built connectors. | "transport": "stdio" |
Tool namespacing
When an MCP source is enabled, every tool it exposes becomes available to the agent under a namespaced name:
mcp__<source-slug>__<tool-name>For example, adding a Linear MCP server with slug linear and a tool called list_issues gives the agent a tool called mcp__linear__list_issues. The agent sees the original tool name and description; the namespace is invisible to you and prevents collisions between sources that happen to share tool names.
Permissions work against the namespaced form: writing a pattern like list in your source's permissions.json expands to mcp__linear__.*list.* automatically.
Built-in: fabric-agents-docs
Fabric Agents ships one always-on MCP server out of the box: fabric-agents-docs. It lets the agent search this documentation site directly. You don't need to add or configure it — it's wired into every session.
Lifecycle
When a source is enabled, the MCP client:
- Connects to the configured transport.
- Calls
listTools()as a health check — a server that can't list tools is considered unhealthy and the source shows "needs auth" or "unreachable" in the sidebar. - Stays connected for the lifetime of the session. If the connection drops, the next tool call triggers an automatic reconnect.
For stdio servers, Fabric Agents spawns the subprocess with a filtered environment — sensitive variables (ANTHROPIC_API_KEY, AWS_*, GITHUB_TOKEN, etc.) are stripped before launch to avoid accidentally leaking credentials to servers you don't fully trust.
What's next
- Connecting an MCP server — add a server with HTTP, SSE, or stdio.
- Authentication — bearer tokens, OAuth, and token refresh.
Related
- Sources overview — the three source types at a glance.
- APIs — REST API source type for services without an MCP server.
- Permissions — how MCP tool allowlists work in Explore mode.
Sources
Connect Fabric Agents to external data — MCP servers, REST APIs, and local folders. How sources work, how to add one, and how the agent uses them in conversations.
Connecting MCP servers
Add an MCP server to Fabric Agents — config schemas for HTTP, SSE, and stdio transports, with worked examples.