Browse the MCP registry
The /mcp browse slash command opens an interactive picker against the
official registry at
registry.modelcontextprotocol.io.
Walkthrough
-
Inside the REPL, type:
/mcp browse -
Lime fetches the current server list from
registry.modelcontextprotocol.io/v0/serversand displays them with description, transport hints, and download counts where available. -
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.
-
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.
-
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.