Browsing & Connecting

Discover MCP servers and set up connections.


Browse Available Servers

bash
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:

code
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 collaboration

Get Server Details

bash
1belt mcp get linear
code
1Linear23Project 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 linear

Refresh 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:

bash
1belt mcp refresh todoist2belt mcp refresh mcpclickupcom
code
1Refreshed 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:

  1. Server card — GET /.well-known/mcp-server-card (MCP remote discovery)
  2. UCP — GET /.well-known/ucp when the server advertises an MCP transport (Universal Commerce Protocol)

You can paste either the origin or the full MCP URL. The web app 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:

bash
1belt mcp connect linear
code
1Authorize Linear:23https://linear.app/oauth/authorize?client_id=...&scope=...45Waiting for authorization...67Connected to Linear8  tools: belt mcp tools linear

The flow:

  1. CLI opens your browser to the service's authorization page
  2. You approve the requested permissions
  3. Tokens are exchanged and stored encrypted in your workspace
  4. 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 credentials list.

When you connect a custom MCP server URL (not a pre-registered slug), the API resolves the endpoint before OAuth:

  1. Server Card (SEP-2127) — if the URL is a bare origin (e.g. https://mcp.example.com), GET /.well-known/mcp-server-card may redirect to the real MCP endpoint.
  2. UCP discovery — if still a bare origin, GET /.well-known/ucp is checked for a transport with "transport": "mcp" and an endpoint URL (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):

code
1GET https://api.inference.sh/mcps/discover?url=https://mcp.example.com

No 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 the web app.

→ MCP Servers REST API: full directory, workspace CRUD, and tool proxy reference

API Key Servers

Some servers use API keys or personal access tokens instead of OAuth. In the web app, enter the token when connecting a custom MCP server. The token is stored as an encrypted workspace secret and sent as Authorization: Bearer on tool calls.

For programmatic connect, pass the token in POST /credentials metadata as bearer_token (see Credentials 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, open Mcps in the web app sidebar (/my/mcps), browse Explore → MCP servers (/mcps), register with POST /mcp-servers, or connect with POST /credentials and provider: "mcp" plus metadata.server_url. From vaults → credentials, add credential → MCP server opens the same add dialog on /my/mcps?add=1.

When server_url is a bare origin (scheme + host, path / or empty), the API resolves the actual MCP endpoint before OAuth:

  1. MCP server card — GET /.well-known/mcp-server-card (SEP-2127); uses the first remotes[].url when present.
  2. UCP discovery — GET /.well-known/ucp; uses the first service transport with "transport": "mcp" and a non-empty endpoint.

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:

StatusMeaning
connectedActive, ready to use
—Not connected

To list every credential your workspace has connected (OAuth, service accounts, and MCP):

bash
1belt credentials list
code
1provider                       type       source   status       display name2google                         oauth      own      connected    My Workspace3mcp:mcp.linear.app             mcp        own      connected    Linear

Inspect one connection (including scopes and account identifier):

bash
1belt credentials get google2belt credentials get mcp:mcp.linear.app --json

Use --json when you need the credential id for agent connector tools.


Disconnect

Revoke a connection and delete stored credentials. Requires belt login (or INFSH_API_KEY):

bash
1belt mcp disconnect slack
code
1Disconnected from Slack

Next

we use cookies

we use cookies to ensure you get the best experience on our website. for more information on how we use cookies, please see our cookie policy.

by clicking "accept", you agree to our use of cookies.
learn more.