Skip to content

Browse the MCP registry

The /mcp browse slash command opens an interactive picker against the official registry at registry.modelcontextprotocol.io.

Walkthrough

  1. Inside the REPL, type:

    /mcp browse
  2. Lime fetches the current server list from registry.modelcontextprotocol.io/v0/servers and displays them with description, transport hints, and download counts where available.

  3. Pick a server with the arrow keys. Lime fetches the details page, showing:

    • Available transports (stdio / sse / http / ws).
    • Required environment variables.
    • Tool list and any annotations.
    • Author and license.
  4. Pick a scope for the install:

    • user~/.lime/settings.json. Available to every project on this machine.
    • local.lime/settings.local.json. Available only in this repo, untracked.
    • project.lime.json (or .mcp.json). Committed and shared with teammates. Will require trust on first use in each clone.
  5. Lime writes the server definition into the chosen file. The next turn in the session sees the new server’s tools.

What gets written

For an stdio server like @modelcontextprotocol/server-sqlite:

{
"mcpServers": {
"sqlite": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "./data.db"],
"env": {}
}
}
}

You can edit this entry afterwards — tweak the args, add env vars, or add tools.allow / tools.deny rules.

Behind the scenes

Per the verification of crates/runtime/src/mcp_registry.rs:

  • The registry endpoint is hard-coded to https://registry.modelcontextprotocol.io/v0/servers.
  • Each detail page is fetched lazily — the picker fetches only the entry the user selected.
  • Network calls use the standard Lime HTTP client with redaction enabled.
  • Failures degrade gracefully: a 5xx during browse falls back to a “registry unavailable, try again later” message rather than crashing.

When to use mcp add instead

  • For servers not on the registry.
  • For internal company servers behind auth.
  • For scripted setups (Dockerfile, CI), where you want a deterministic command rather than an interactive flow.