MCP Servers¶
The Model Context Protocol (MCP) is an open standard for connecting AI agents to external tools and data sources. Manifest Platform supports registering external MCP servers so that their tools become available to your agents and workflows.
What is MCP?¶
MCP provides a standardized way for AI applications to discover and invoke tools hosted by external servers. Instead of building custom integrations for every tool, you register an MCP server once and all of its tools become available across the platform.
sequenceDiagram
participant Agent as Flow Agent
participant Platform as Manifest Platform
participant MCP as External MCP Server
Agent->>Platform: "Create a GitHub issue"
Platform->>MCP: tools/list (discover available tools)
MCP-->>Platform: [create_issue, list_repos, ...]
Platform->>Agent: Tool options available
Agent->>Platform: Call create_issue(title, body)
Platform->>MCP: tools/call(create_issue, {title, body})
MCP-->>Platform: {issue_url: "..."}
Platform-->>Agent: Result: issue created
Key Concepts¶
| Concept | Description |
|---|---|
| MCP Server | A process that exposes tools, resources, and prompts via the MCP protocol |
| Tool | A callable function with a defined input schema and description |
| Resource | Read-only data exposed by the server (files, database records, etc.) |
| Transport | Communication mechanism: SSE (HTTP) or stdio (subprocess) |
Registering an MCP Server¶
Register an external MCP server through the platform UI or API. Once registered, the platform periodically discovers the server's tools and makes them available to agents.
- Navigate to Solution Builder > MCP Servers.
- Click Register MCP Server.
- Fill in the server details:
- Name: A display name (e.g., "GitHub Tools")
- Transport: SSE or stdio
- URL (SSE): The server's SSE endpoint (e.g.,
https://mcp.example.com/sse) - Command (stdio): The command to launch the server process
- Configure authentication if required.
- Click Save & Discover Tools.
Transport Types¶
SSE (Server-Sent Events)¶
SSE transport connects to a remote MCP server over HTTP. This is the recommended transport for production use.
Network requirements
The Manifest Platform must be able to reach the MCP server's URL. If the server is behind a firewall, configure network access or use a tunnel.
Stdio (Standard I/O)¶
Stdio transport launches the MCP server as a subprocess. This is useful for development and for servers distributed as CLI tools.
name: Local File Tools
transport: stdio
command: npx
args:
- "-y"
- "@modelcontextprotocol/server-filesystem"
- "/data/shared"
Stdio limitations
Stdio transport runs the server as a child process on the platform. It is suitable for lightweight servers. For production workloads with high throughput, use SSE transport with a dedicated server.
Tool Discovery¶
After registering an MCP server, the platform discovers its tools by calling the tools/list method. Discovered tools are stored and made available to agents.
Automatic Discovery¶
The platform refreshes the tool list periodically (default: every 5 minutes) and on-demand when you click Refresh Tools in the UI.
Viewing Discovered Tools¶
Navigate to the MCP server's detail page in Solution Builder > MCP Servers to see all discovered tools with their names, descriptions, and input schemas.
Authentication¶
MCP servers often require authentication. The platform supports several auth methods, with credentials stored securely using the platform's encryption service.
Supported Auth Methods¶
| Method | Configuration | Use Case |
|---|---|---|
| None | No auth configuration | Public MCP servers |
| Bearer Token | Token stored as a platform secret | API-key-protected servers |
| Header | Custom header name + secret value | Servers using custom auth headers |
| OAuth | Client ID + secret + token URL | OAuth-protected servers |
Configuring Authentication¶
The token_secret_key references a secret stored in the platform's secret manager. Create the secret first under Admin > Settings in your workspace.
Using MCP Tools in Agents¶
Once an MCP server is registered and its tools are discovered, you can assign those tools to agents.
Assigning Tools to an Agent¶
- Open the agent in the Agent Builder.
- Go to the Tools tab.
- Under MCP Tools, select the MCP server.
- Check the tools you want the agent to use.
- Save the agent configuration.
How Agents Select MCP Tools¶
When an agent receives a user message, it evaluates all available tools (built-in + MCP + hosted service) and selects the best match based on:
- Tool description -- The natural language description from the MCP server
- Input schema -- Whether the user's intent matches the expected input
- Tool name -- Used as a secondary signal for selection
The agent handles MCP tool calls transparently. From the user's perspective, there is no difference between a built-in tool and an MCP tool.
Using MCP Tools in Workflows¶
MCP tools can also be used as steps in workflow DAGs.
graph LR
A["Extract Data"] --> B["Analyze with Agent"]
B --> C["Create GitHub Issue\n(MCP Tool)"]
C --> D["Notify Team"]
Add an MCP tool step in the workflow builder by selecting MCP Tool as the step type and choosing the server and tool.
Troubleshooting¶
Tools are not showing up after registration
- Verify the MCP server is reachable from the platform (check URL/network).
- Click Refresh Tools to force a re-discovery.
- Check the server logs for errors in the
tools/listhandler.
Tool calls are failing with authentication errors
- Verify the secret referenced in the auth config exists and has the correct value.
- For OAuth, check that the token URL is correct and the client credentials are valid.
- Check the MCP server logs for details on the rejected request.
Tool calls are timing out
- The default timeout for MCP tool calls is 30 seconds. If your tool needs more time, configure the timeout in the MCP server registration.
- For long-running tools, consider using an async pattern where the tool returns immediately and the agent polls for results.
Next Steps¶
- Webhooks -- Configure outbound event notifications
- Connectors -- Build data connectors for databases and APIs
- Agents -- Learn more about building agents with tools