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.

This page is about bringing an existing MCP server into Datafuse. To use your Datafuse integrations from an MCP client, see Connect any MCP client.


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 (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.