Clients

MCP server

Add the openllm MCP server to any MCP client over stdio to get gateway API tools, shared memory, subscription logins, and your marketplace integrations.

openllm mcp runs one MCP server, named openllm, over stdio. It uses the API key and gateway in ~/.openllm/.env, so the client that starts it needs no key of its own. All plans.

What it provides

GroupToolsWhat they do
openllmapi_<operation>, for example api_v1ChatCompletions_chatCompletions, api_v1Models_listCall the gateway: chat, messages, responses, embeddings, images, audio, video, search, and models, plus read-only account lookups
openllmlocal_auth_providers, local_auth_status, local_auth_usage, local_auth_refresh, local_auth_login, local_auth_submit_code, local_auth_cancel, local_auth_logoutCheck and manage subscription logins on this machine's daemon
openllm<integration>__<tool>Tools from integrations you enabled on Integrations. See Marketplace
openllm-memorymemory, recall, whoAmISave, forget, and search memories across sessions and devices, and show which account the server uses

Things the server does not offer: changes to your account, keys, providers, or configuration; vault and passkey operations; and integration secrets.

A few tools have specific behavior:

  • api_v1Models_list lists your subscription models first.
  • api_v1Audio_transcriptions takes a local file path, up to 25 MiB. Ogg and FLAC files need ffmpeg on your PATH.
  • The local_auth_* tools act only on the daemon on this machine. The ones that log in, log out, or refresh tell the agent to run them only when you ask.

To expose one group, for example while debugging, pass --only:

openllm mcp --only openllm-memory

Clients that get it automatically

You do not need to configure MCP for these. The launcher adds the openllm server each time:

ClientHow
Claude Code--mcp-config with a run-local file
Codex-c mcp_servers.openllm.* overrides
ChatGPT for MacThe same overrides, through the launcher
OpenCodemcp.openllm in the run-local config
Grok Build[mcp_servers.openllm] in the run-local config.toml
Hermesmcp_servers.openllm in the session or profile config
DeepSeek HarnessThe OpenLLM bundle registers it

Raycast does not get the MCP server.

Add it to another MCP client

To use the tools in any other MCP client:

  1. Check that the CLI has a key: run openllm config --json and look for "keyConfigured":true. If it is false, run openllm login.

  2. Add a stdio server with the command openllm and the argument mcp. Most clients use this JSON shape:

    {
      "mcpServers": {
        "openllm": {
          "command": "openllm",
          "args": ["mcp"]
        }
      }
    }
  3. If the client cannot find openllm on its PATH, use the full path, ~/.openllm/bin/openllm, written out in full for your home directory.

  4. Restart the client, or reconnect its MCP servers, so it lists the new tools.

Run the server on the machine whose daemon you want the local_auth_* tools to control.

Memory

The memory tool saves or forgets a fact, recall searches saved memories, and whoAmI shows the account the server is signed in as. Memories are tied to your account, so every client and device sees the same ones.

Claude Code, Grok Build, and the ChatGPT launcher also recall before each prompt and save after each turn without being asked. To turn that off, set MEMORY_AUTO_RECALL=0 or MEMORY_AUTO_SAVE=0. See Memory and integrations.

One memory store per account, shared by every client and device.

Check that it works

openllm mcp

The server prints [LOG] [MCP] openllm v… listening on stdio (groups: openllm, openllm-memory) to stderr and waits for a client. Press Control-C to stop it. Then, in your client, list the tools and ask for whoAmI.

Common problems

SymptomCauseFix
The server exits right away with a key messageNo API key is savedRun openllm login, or openllm start in a terminal
unknown group--only got an unsupported nameUse openllm or openllm-memory
Integration tools are missingThey load when the server startsRestart the client after enabling an integration
The client cannot start openllmopenllm is not on the client's PATHUse the full path to the binary

For anything else, see Troubleshooting.

Last updated on

On this page