MCP Server Integration
Register Model Context Protocol servers, discover their tools, and connect them to pipelines.
The Model Context Protocol (MCP) is an open standard for exposing tools and data to LLMs. Pipelines connects to remote MCP servers and makes their tools available to LLM-generated pipeline fields.
Transport: Streamable HTTP. Pipelines speaks MCP over HTTP (JSON-RPC 2.0, with
optional SSE responses). The server URL must be reachable over the public internet.
Legacy /sse-only URLs are best-effort remapped to /mcp and origin candidates on
connect.
Three ways to connect an MCP server
- Provider gallery — one-click tiles on the MCP Servers page. Each tile knows the URL and the right auth flow for that vendor.
- Add Tool Endpoint → MCP Server tab — use this for internal MCP servers or vendors not in the gallery.
- Deconstruct a vendor JSON snippet — many vendors publish a
mcpServersJSON blob intended for Claude Desktop. Pipelines doesn't import this directly, but the fields are easy to map into the modal. See When the vendor gives you a JSON snippet below.
Provider gallery
These providers are pre-configured. On the MCP Servers page, scroll to the gallery and click Connect on the tile you want.
| Provider | Category | How you connect |
|---|---|---|
| Notion | Knowledge Base | OAuth 2.1 (auto-registered) |
| GitHub | Code | OAuth 2.1 (Pipelines-managed app) |
| Canva | Design | OAuth 2.1 (auto-registered) |
| Sentry | Monitoring | OAuth 2.1 (auto-registered) |
| Browserbase | Automation | API key |
| Neon | Database | Bearer token |
| Firecrawl | Search & Scraping | API key |
| Bright Data | Search & Scraping | API key |
| Tavily | Search & Scraping | API key |
The gallery may change over time — the in-product list is the source of truth. If a provider you need isn't here, register it as a custom MCP server.
Register a custom MCP server
- Navigate to MCP Servers in the sidebar.
- Click Add Tool Endpoint.
- Make sure the MCP Server tab is selected.
- Fill in the fields:
- Name (required) — how the endpoint is displayed in lists and the Pipeline Builder (1–255 characters).
- URL (required) — the Streamable HTTP endpoint URL. Must use
https://, for examplehttps://mcp.example.com/mcp. - Description (optional) — short note for teammates.
- Authentication method — one of:
- None — no auth headers.
- API Key — a single custom header. Fill in
Header Name(defaultX-API-Key) and the key value. - Bearer Token — sent as
Authorization: Bearer <token>. - OAuth 2.0 — opens a consent popup. See OAuth for Tools.
- Click Add & Discover Tools (or Connect via OAuth for OAuth servers).
What happens on save. Pipelines connects to the server (running OAuth discovery if OAuth was selected), asks it for its tool list, and stores each discovered tool on the endpoint. If the server is unreachable, the endpoint is still saved with status unhealthy so you can retry with Refresh Tools later.
When the vendor gives you a JSON snippet
MCP vendors commonly publish a config like:
{
"mcpServers": {
"example": {
"url": "https://mcp.example.com/mcp",
"headers": { "Authorization": "Bearer sk-..." }
}
}
}Pipelines doesn't accept this file directly. Deconstruct it into the modal like so:
| JSON field | Modal field |
|---|---|
mcpServers.<key> (the key) | Name (the key is just a local label — pick anything friendly) |
.url | URL |
.headers.Authorization: Bearer <x> | Authentication → Bearer Token, value <x> |
.headers["X-Api-Key"] or similar | Authentication → API Key, Header Name = that header, API Key = its value |
.command / .args / .env | Not applicable — these describe a locally-launched server. Only remote URL-based MCP servers can be registered. |
If the snippet only has url and no headers, pick Authentication: None. If it
has both an Authorization header and a second custom header, the UI only supports
one — use whichever carries the credential.
Tool discovery
After saving, discovered tools appear on the endpoint detail page with name, description, and input schema. This list is read-only — you can't disable tools at the endpoint level. To restrict which tools an LLM can actually call, do it per binding (pick Specific tools instead of All tools when attaching the endpoint to a field). See Tool Bindings.
Click Refresh Tools on the detail page to re-ask the server for its tool list. All previously stored tool records are replaced with the fresh set.
Health status and Test Connection
Every endpoint shows one of three health states as a badge on the list and detail pages:
| Badge | Meaning |
|---|---|
| Healthy | The last probe reached the server and successfully listed tools. |
| Unhealthy | The last probe failed. Click Test Connection for the exact error. |
| Unknown | No probe has run recently (for example, right after an OAuth callback). |
Health is not continuously monitored. It's only updated when you click Test Connection or Refresh Tools, when you first create the endpoint, or at the end of an OAuth callback. There is no background sweep.
Test Connection re-runs initialize and tools/list against the server. For OAuth
endpoints, it also refreshes the access token if it's close to expiry. The result
shows the tool count detected and, on failure, the server's error message.
Using MCP tools in pipelines
- Open a pipeline in the Pipeline Builder.
- Select a node and click an LLM-response field.
- In the LLM configuration panel, open Tool Bindings → Add Tool Binding.
- Pick the MCP endpoint, then either leave "all tools" selected or pick specific tools.
- Optionally set Max Tool Rounds (default 5, up to 20).
- Save.
See Tool Bindings for how bindings behave during generation.
Debugging checklist
If tool calls aren't working as expected:
- On the endpoint detail page, click Test Connection. The error message is shown verbatim.
- Click Refresh Tools. If the expected tool isn't listed, the problem is upstream on the MCP server.
- Confirm the endpoint is Active (toggle on the list page).
- For OAuth endpoints with a stale token, re-run the OAuth flow from the detail page.
- Check the binding still targets the tool you expect. When multiple endpoints expose a tool with the same name, Pipelines auto-prefixes them with a sanitized endpoint name to disambiguate.
- In Data Explorer, open a recent run and inspect per-round tool calls — the arguments, result (truncated at 100 KB), and any error are recorded against the LLM response.