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