openllmc
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Run your AI clients through OpenLLM with openllm <client>.
openllm is one self-contained binary. It holds:
the CLI: it signs you in, runs your clients and applies their config overlays;
the local daemon (
openllm daemon): it serves your subscriptions (Claude, ChatGPT, Grok, …) and local model servers from this machine;one MCP server (
openllm mcp): gateway tools plus the Marketplace integrations you turned on.
Release binaries need no Bun or Node.js. The vendor clients have their own requirements.
Install
curl -fsSL https://www.openllm.sh/install | bashSupported targets are macOS and Linux, arm64 and x64. The installer checks each download against its published SHA-256, then:
Asks Full or Minimal in a terminal (Enter picks Full). A headless run picks Full without asking.
Signs you in. A browser window opens on OpenLLM. If it can't open, the link is printed so you can finish on another device. Approve there and the CLI receives its API key by itself, with nothing to copy. A key you already have is reused. Use
openllm login --api-keyto paste a key instead.Full only: installs the vendor CLIs you don't have yet (Claude Code, Codex, …) and starts the daemon.
You sign in to your subscriptions later, on the Providers page or through MCP. The installer never asks for them.
Mode | What you get |
Full (default) | CLI + vendor CLIs + the daemon running. This machine serves its own subscriptions. |
Minimal | CLI only. Clients go to the cloud, which reaches your subscriptions on another online device. A missing client CLI is offered for install the first time you run it. |
# Minimal
curl -fsSL https://www.openllm.sh/install | bash -s -- --minimal
# Headless, with a key (the dashboard's Add a computer command does this)
curl -fsSL https://www.openllm.sh/install | OPENLLM_API_KEY=sk-llm-... bashThe mode is saved, so updates and re-runs keep it. To switch a Minimal machine
to Full, run openllm login --start.
Useful installer variables: OPENLLM_CLOUD_ORIGIN (another gateway),
OPENLLM_SETUP_MODE=full|minimal, OPENLLM_SKIP_VENDOR_CLIS=1,
OPENLLM_ONLY_VENDOR_CLIS=claude_code,chatgpt and OPENLLM_DAEMON_PORT (8787
by default). The full list is at the top of install.sh.
Everything is saved in ~/.openllm/.env, which the CLI and the daemon share.
If
openllmis not on PATH afterwards, run~/.openllm/bin/openllm setupand open a new terminal.
Related MCP server: synapsis
Run a client
openllm claude # Claude Code
openllm codex # Codex
openllm grok # Grok Build
openllm hermes # Hermes TUI
openllm opencode # OpenCode
openllm raycast # apply OpenLLM to Raycast (uninstall to remove)
openllm chatgpt # macOS: the ChatGPT app launcher (uninstall to remove)Arguments after the client name go to the client (openllm claude --resume).
OpenLLM's own flags go before it: openllm -d claude skips every approval
prompt.
Session clients get their OpenLLM config at run time and leave your own client config untouched. Raycast and the ChatGPT launcher are applied once and stay until removed.
Where requests go:
Full: to the local daemon when it answers, otherwise to the cloud.
Minimal: always to the cloud.
OPENLLM_GATEWAY=local|cloudoverrides both.
The cloud sends subscription models to one of your online devices.
You can also get a reply without opening a client:
openllm -p "summarise this repo" -m lite --jsonLocal daemon
When the daemon runs, any OpenAI- or Anthropic-compatible tool can use it at
http://127.0.0.1:8787. Send no API key, or any placeholder (dummy-key,
ollama, …), and the daemon uses the key you signed in with. An sk-llm- key
you send yourself is used as-is.
openllm start | stop | restart | status
openllm sessions [list|attach|kill]
openllm auth providers # this machine's provider logins
openllm auth status [provider]Commands
Every command accepts -h / --help.
Command | What |
| Run a client through OpenLLM (see above) |
| Sign in through the browser and save an API key. |
| Manage the local daemon. |
| Provider logins on this machine: |
| Local daemon sessions |
| MCP over stdio; |
| Print the gateway origin, env file and port in use |
| Update the whole product from your gateway |
| Update only this binary |
| Turn the daemon's automatic updates on or off |
| Diagnose the daemon and leftover install state, and choose whether to send diagnostics |
| Remove OpenLLM from this machine |
| The memory hooks (event JSON on stdin) |
| Add |
| Print or install shell completion |
| Print the embedded OpenAPI spec |
| Print the version |
Settings are read from the process environment first, then
~/.openllm/.env, then the gateway built into the binary.
MCP
openllm mcp is one stdio server. It carries:
Gateway tools, generated from the OpenAPI spec: inference and read-only account views. Account and configuration writes are not exposed.
Provider login tools for this machine's daemon.
Integrations you turned on in the dashboard Marketplace, re-exported as
<id>__<tool>(for exampleopenllm-memory__recall,context-dev__web-search). Catalog items such as OpenLLM Memory and context.dev are included in every plan; you can also bring your own key where an integration allows it.--only openllm-memorykeeps just that upstream.
api_v1Models_list lists your subscription models first and asks agents to
prefer them over metered API models. Aliases (ultra, plus, lite, your own)
are fallback chains, not a promise that a subscription answers. The list does
not check live reachability or remaining quota.
Memory hooks
When the OpenLLM Memory integration is on, Claude Code and Grok Build sessions also get hooks that:
recalls relevant memories before each prompt;
saves durable preferences and decisions after a turn.
The hooks run inside the binary, so no Python, Node or Bun is needed. Memories
are stored in the cloud. Extraction runs on the session's gateway with the
lite alias by default (MEMORY_AUTO_MODEL overrides it).
MEMORY_AUTO_SAVE=0 or MEMORY_AUTO_RECALL=0 turns either off. Failures only
produce a rate-limited warning; they never block you. Content-free health logs
are in ~/.claude/plugin-state/memory/scopes/ (MEMORY_AUTO_LOG_DIR moves
them). Updated hooks take effect in your next session.
Build from source
Bun is needed to build, not to run release binaries. main tracks stable
releases; for a prerelease, check out its v... tag first.
git clone https://github.com/openllmsh/cli
cd cli
bun install
bun run compile:host # → dist/openllm (this machine's target)
./dist/openllm version # v0.0.0-dev
bun run compile # all 4 targets: darwin/linux × arm64/x64 (+ .gz)Source builds report 0.0.0-dev; release builds get their version from the
release pipeline. To use a source build as your MCP server, point the client's
openllm entry at dist/openllm with the mcp argument.
Verify
Published binaries are pinned by SHA-256 in manifest.ts.
From a source checkout, compare a binary against those pins:
bun install
bun run verify # every published target
bun run verify -- --host # this machine's target
bun run verify -- --file ./openllm # a local binary
bun run verify -- --installed # the openllm on PATHIt exits 0 only when every checked binary matches its pin. Use the source
revision that carries the pins of the release you are checking.
The binary is not byte-reproducible: bun build --compile --bytecode
embeds non-deterministic bytecode, so a rebuild won't match the release hash.
The check proves a binary is the one that was published. You still have to
trust the release source and the publisher.
License
Source-available under the Business Source License 1.1 (© OpenLLM, INC). It converts to MIT on the Change Date. Not OSI open-source.
Read-only mirror. Regenerated from the OpenLLM monorepo each release. PRs welcome: they are ingested upstream with your authorship preserved. BUSL contributions require the CLA (the bot will prompt you).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseAqualityBmaintenanceNexus-MCP is a local MCP server for coding agents. Hybrid code search and a call graph for 10 languages give the agent the right code in one call, so it reads less. No API key, no telemetry, MIT. * 95% fewer tokens to reach the right file * About 9× faster search than Grep and Read * Live Claude Code runs on 11 repos: cost per task lower on 8 of 115901 PyPIMIT
- AlicenseCqualityCmaintenanceUnified durable team memory MCP server with tools for session management, task tracking, handoff protocol, and search, plus a multi-provider LLM client.8MIT
- FlicenseNot gradedqualityDmaintenanceLocal MCP server that exposes fixed tools for GPT, Claude, and Gemini while routing to any OpenAI-compatible chat completions backend with independent configuration per target.1-
- FlicenseNot gradedqualityDmaintenanceEnterprise MCP server providing a suite of tools including file, database, GitHub, Slack, calendar, email, vector search, and Python execution, with safe defaults and OpenAI integration for automatic tool selection.-