Skip to content
Darkmatter Docs
GitHub Website
Connect / MCP servers

Connect

MCP servers

Connect any MCP server to your outpost, and let your own programs and agents reach the outpost with an API key.

Add an MCP server

In Settings → Connections, under Third-party MCPs, choose Add MCP, paste the server’s link into MCP link and press Connect. The outpost discovers whether the server wants OAuth, opens the provider’s sign-in page for you and returns you to Connections when it is done; a server that needs no sign-in connects directly. Then run Test connection to check the sign-in and count its tools, and open Review tools to see them.

  • The link must be an HTTP or HTTPS URL to a Streamable HTTP endpoint, or a legacy SSE endpoint on a path ending in /sse.
  • Providers must support dynamic client registration or client ID metadata documents; a server that requires a hand-registered OAuth app is not supported.
  • Local stdio servers, custom headers, MCP resources and prompts are not supported. An outpost holds up to 32 MCP connections.

After connecting

The server’s tools enter the outpost’s catalog named after the connection and the tool, mcp_<server>_<tool>; a tool name that is not a plain identifier is sanitized and given a short hash. Chat attributes each call to the server it came from. The row reads Connected, Sign-in required or Disabled, and its menu offers Test connection, Change link and Disconnect, plus Sign in or Sign in again for a server that uses OAuth.

  • The row’s switch disables a server without dropping its sign-in: its tools leave the catalog, old bindings refuse new calls, and calls already sent finish.
  • Disconnect removes the saved connection and its tokens. It does not revoke the grant on the provider’s side; do that in the provider’s account settings.
  • Settings → Keys can sign a server out while keeping its link, so an administrator can sign in again from Connections.

Bring your own agent or program

MCP is how your outpost reaches other services. To let a program or an agent of yours reach the outpost, an administrator creates a key under Settings → API keys with a name, the lowest role it needs and an expiry; the secret is shown once. Send it as a bearer token to the outpost’s HTTPS API, or give it to the Python SDK. Another outpost’s agent reaches yours over the agent-to-agent API once both are enrolled in the same mesh, with no key at all.

An external program
import drkm

drkm.connect("https://outpost.example", token="drkm_ak_...")
print(drkm.outposts())

# Or from any HTTP client:
# curl -H "Authorization: Bearer drkm_ak_..." https://outpost.example/users/me
Find a guide, concept, or SDK methodEsc to close