Publishing agents as MCP tool providers
Expose a single agent's tool surface as its own MCP endpoint so external chat services can use Bifrost agents as tools
The root Bifrost MCP server is a discovery and dispatch gateway: it exposes four stable tools that find an agent, load its instructions, inspect a tool schema, and execute the selected capability. Sometimes you want a fixed native tool list instead. Bifrost supports that through per-agent MCP endpoints.
What this gives you
Section titled “What this gives you”A per-agent MCP endpoint scopes tool visibility to exactly one agent’s tool list. From the client’s perspective, the endpoint is a single coherent capability — “Bifrost ticket-triage agent” — rather than the full platform surface.
Use it to:
- Publish a domain-specific agent (a billing assistant, a Microsoft 365 inspector, a runbook executor) as a callable tool inside Claude Desktop, Copilot, or Cursor.
- Hand a community user one URL that gives them exactly the tools you’ve curated, with no ability to enumerate the full platform.
- Compose Bifrost agents inside another organization’s MCP-enabled chat service via OAuth.
How agent-scoped endpoints work
Section titled “How agent-scoped endpoints work”The Bifrost MCP server handles requests to https://your-instance/mcp/{agent_id} as an agent-scoped native surface. It scopes the tool list to that agent’s configured workflow tools and system_tools, then applies the connecting user’s access on every request.
OAuth discovery is served per-agent at /.well-known/oauth-authorization-server/mcp/{agent_id} and /.well-known/oauth-protected-resource/mcp/{agent_id} — clients that perform path-aware discovery (Claude, Cursor) will use the correct endpoints automatically.
Publish an agent as MCP
Section titled “Publish an agent as MCP”-
Confirm the global MCP server is enabled in Settings → MCP. Per-agent endpoints share the same OAuth provider as the root endpoint.
-
On the agent detail page, copy the agent’s UUID from the URL bar (
/agents/{id}). This is the path component for the MCP URL. -
Build the per-agent URL:
https://your-instance.com/mcp/{agent_id}. Share it with whoever is configuring the external client.
Configure in Claude Desktop
Section titled “Configure in Claude Desktop”-
Open Claude Desktop’s
claude_desktop_config.json. -
Add an
mcpServersentry for the agent endpoint:{"mcpServers": {"bifrost-ticket-triage": {"url": "https://your-instance.com/mcp/aaaa1111-bbbb-2222-cccc-333344445555"}}} -
Restart Claude. On first use, Claude opens the OAuth flow scoped to this agent. After login, only this agent’s tools appear in the tool tray.
Example: a triage agent inside Claude
Section titled “Example: a triage agent inside Claude”Imagine you have ticket-triage-agent configured in Bifrost with three tools: lookup_customer, get_ticket, and update_ticket. Publishing it as MCP gives Claude exactly those three tools — not the full Bifrost surface.
A user in Claude can now say:
Look up customer alice@example.com and triage their open ticket.
Claude calls lookup_customer, then get_ticket, then update_ticket, all through the agent-scoped MCP endpoint. Each call is authenticated as the connecting user, runs through Bifrost’s normal permission checks, and is recorded as a regular tool execution in History.
Compose with other MCP servers
Section titled “Compose with other MCP servers”Because the per-agent endpoint is just another MCP server from the client’s perspective, it sits alongside any other MCP server the client uses. A Claude Desktop config might look like:
{ "mcpServers": { "bifrost-gateway": { "url": "https://your-instance.com/mcp" }, "bifrost-ticket-triage": { "url": "https://your-instance.com/mcp/aaaa1111-bbbb-2222-cccc-333344445555" }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] } }}Claude blends tools from all three. The agent-scoped endpoint keeps Bifrost’s surface narrow and predictable, while the root endpoint can discover and dispatch across every agent the user is allowed to access.
Next steps
Section titled “Next steps”- Configuring the MCP server
- Connecting Claude, Copilot, Cursor, and Open WebUI
- Agents and Chat — agent configuration including
system_toolsandAccess Level