Model Context Protocol

Registering MCP Integrations

How to register an MCP server's connection metadata as a Datafuse integration.

Datafuse's mcp runtime type stores an MCP server's connection metadata on an integration record. Catalog providers with declared MCP actions expose those actions through tool resolution; definitions without declared actions expose the fallback discovery tool (mcp_list_tools). It does not host, supervise, or keep MCP server processes alive — see Introduction to MCP for the current scope.


Registering an MCP Integration

Create an integration definition with runtime.type: mcp and an mcp block. The mcp config accepts arbitrary extra fields (command, args, env, url, etc.) since it is stored as free-form JSON and passed straight to the discovery tool's config.

yaml
key: apify-mcp
title: Apify MCP Server
description: Run scrapers and extract data from any website using Apify Actors.
category: data-analytics
runtime:
  type: mcp
mcp:
  command: npx
  args:
    - -y
    - "@apify/mcp-server"
  env:
    APIFY_TOKEN: "your_apify_api_token_here"

Submit it the same way as any custom integration:

bash
curl -X POST https://api.datafuse.xyz/api/v1/integrations \
  -H "Authorization: Bearer $DF_TOKEN" \
  -H "Content-Type: application/json" \
  -d @apify-mcp.json

See Custom Integrations for the full request/response schema and how integration YAML is converted to JSON.


Discovering Tools

Once registered, resolve the integration's tools like any other:

bash
curl -X POST https://api.datafuse.xyz/api/v1/integrations/{integration_id}/resolve-tools \
  -H "Authorization: Bearer $DF_TOKEN"

For a definition without declared actions, the response includes the fallback tool mcp_list_tools, whose config contains the registered mcp block. Catalog providers that declare their MCP actions return those actions instead.


Current Limitations

  • Datafuse does not run or supervise the MCP server process itself — for a command/args (stdio) config, the process lifecycle is the responsibility of whatever executes the tool call today (not a hosted supervisor).
  • There is no built-in retry/backoff, health check, or auto-restart for MCP server connections.
  • Tool resolution can expose declared catalog actions or the fallback discovery tool, but per-tool invocation against the target MCP server is not yet proxied through Datafuse.
  • There is no dashboard UI step for adding MCP servers yet — use the API directly as shown above.

If your use case needs a fully hosted MCP bridge today, run the MCP server in your own infrastructure and connect clients to it directly.