Discover MCP servers and set up connections.
Browse Available Servers
1# List all servers2belt mcp list34# Filter by category5belt mcp list --category developer6belt mcp list --category productivity78# Show only featured servers9belt mcp list --featured1011# Search by name or description12belt mcp search "slack"13belt mcp search "issue tracking"Output shows slug, category, auth type, connection status, and description:
1mcp servers2slug category auth status description3linear developer oauth connected Project management and issue tracking4slack communication oauth — Team messaging and notifications5github developer oauth — Code hosting and collaborationGet Server Details
1belt mcp get linear1Linear23Project management and issue tracking45 slug linear6 category developer7 auth oauth8 server https://mcp.linear.app9 docs https://linear.app/docs/mcp10 status connected1112 tools: belt mcp tools linearRefresh server metadata
Re-probe an MCP server to update its name, description, auth type, and logo. Useful after a server adds PRM metadata or when initial enrichment returned hostname-style names:
1belt mcp refresh todoist2belt mcp refresh mcpclickupcom1Refreshed Todoist2 Task and project management3 auth: oauth4 icon: https://...The CLI resolves the slug to a server ID and calls POST /mcp-servers/{id}/refresh. Requires belt login.
Connect
When you connect with a bare origin URL (for example https://mcp.example.com), the platform resolves the actual MCP endpoint before OAuth:
- Server card —
GET /.well-known/mcp-server-card(MCP remote discovery) - UCP —
GET /.well-known/ucpwhen the server advertises an MCP transport (Universal Commerce Protocol)
You can paste either the origin or the full MCP URL. The workspace and API use the same resolution when you provide server_url in a connect request.
OAuth Servers
Most connectors use OAuth. The CLI opens your browser to authorize:
1belt mcp connect linear1Authorize Linear:23https://linear.app/oauth/authorize?client_id=...&scope=...45Waiting for authorization...67Connected to Linear8 tools: belt mcp tools linearThe flow:
- CLI opens your browser to the service's authorization page
- You approve the requested permissions
- Tokens are exchanged and stored encrypted on your team
- CLI confirms the connection
For servers that support Client ID Metadata Document (CIMD) OAuth, inference shell identifies itself via https://api.inference.sh/.well-known/mcp-client.json instead of registering a new OAuth client on each connect. Servers without CIMD support fall back to Dynamic Client Registration or BYOK credentials you provide.
Non-interactive OAuth (CI, scripts): When stderr is not a TTY, CI is set, or BELT_NON_INTERACTIVE=1, belt mcp connect prints the authorization URL but does not open a browser or poll for completion. Open the URL manually, approve access, then verify with belt mcp get <slug> or belt integrations list.
When you connect a custom MCP server URL (not a pre-registered slug), the API resolves the endpoint before OAuth:
- Server Card (SEP-2127) — if the URL is a bare origin (e.g.
https://mcp.example.com),GET /.well-known/mcp-server-cardmay redirect to the real MCP endpoint. - UCP discovery — if still a bare origin,
GET /.well-known/ucpis checked for a transport with"transport": "mcp"and anendpointURL (Universal Commerce Protocol merchants).
You do not need to discover endpoints manually; pass the merchant or vendor origin and the platform follows redirects to the MCP URL.
REST discovery proxy (for custom UIs; avoids browser CORS on redirects):
1GET https://api.inference.sh/mcps/discover?url=https://mcp.example.comNo API key required. The API tries /.well-known/mcp-server-card, then OAuth metadata on the URL. Returns the server card or OAuth discovery JSON with Cache-Control: public, max-age=300. Use the same URL shapes as when connecting via CLI or workspace.
→ MCP Servers REST API — full directory, team CRUD, and tool proxy reference
API Key Servers
Some servers use API keys or personal access tokens instead of OAuth. In the workspace, enter the token when connecting a custom MCP server. The token is stored as an encrypted team secret and sent as Authorization: Bearer on tool calls.
For programmatic connect, pass the token in POST /integrations metadata as bearer_token (see Integrations API — Bearer token connect).
No-Auth Servers
Public servers that don't require credentials connect immediately.
Custom server URLs
The directory covers known servers (belt mcp connect linear). To connect an arbitrary HTTPS MCP server, use Settings → MCP servers in the web app, register with POST /mcp-servers, or connect with POST /integrations and provider: "mcp" plus metadata.server_url.
When server_url is a bare origin (scheme + host, path / or empty), the API resolves the actual MCP endpoint before OAuth:
- MCP server card —
GET /.well-known/mcp-server-card(SEP-2127); uses the firstremotes[].urlwhen present. - UCP discovery —
GET /.well-known/ucp; uses the first service transport with"transport": "mcp"and a non-emptyendpoint.
If discovery fails, the original URL is used. Paste the full MCP path when you already know it (for example https://mcp.linear.app).
Check Connection Status
Connection status is shown in belt mcp list and belt mcp get:
| Status | Meaning |
|---|---|
| connected | Active, ready to use |
| — | Not connected |
To list every integration your team has connected (OAuth, service accounts, and MCP):
1belt integrations list1provider type status display name2google oauth connected My Workspace3mcp:mcp.linear.app mcp connected LinearInspect one connection (including scopes and account identifier):
1belt integrations get google2belt integrations get mcp:mcp.linear.app --jsonUse --json when you need the integration id for agent connector tools.
Disconnect
Revoke a connection and delete stored credentials. Requires belt login (or INFSH_API_KEY):
1belt mcp disconnect slack1Disconnected from SlackNext
- Using Tools — call tools on connected servers
- Agent Tools — add connector tools to your agents