Skip to main content
Glama

One compiled binary that carries every OpenLLM extension: a single MCP server (openllm mcp) exposing the full native gateway API (one tool per OpenAPI operation, generated from the same schema the gateway serves at /api/swagger), semantic code + docs search (openllm-context), and persistent cross-session memory (openllm-memory) — plus the hook subcommands the openllm plugin's session hooks shell out to.

Self-contained by construction: the SDK is generated and committed (src/sdk/generated/) so this package links no private workspace code — it builds standalone from this repo.

Install

The canonical distribution is the compiled binary (verified against its published SHA-256). Installing the openllm plugin from your gateway's dashboard installs it for you; standalone:

curl -fsSL "https://openllm.sh/api/setup/cli/install.sh" | bash
# ↑ also runs `openllm setup` (PATH symlink + shell completion)
openllm version
openllm mcp            # the unified MCP server (stdio)

Installed from the dashboard (one-click)? That path runs sandboxed and skips PATH/completion — run ~/.openllm/bin/openllm setup once.

Or consume the source as a package:

bun install github:openllmsh/cli # latest

Related MCP server: synapsis

Build from source

This repo is self-compilable — no private packages, no monorepo needed (the SDK is committed under src/sdk/generated/):

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 — source builds carry the dev sentinel
bun run compile             # all 4 targets: darwin/linux × arm64/x64 (+ .gz sidecars)

A source build bakes the 0.0.0-dev sentinel (release builds are stamped by the release pipeline via --version), so it never self-updates — run it directly or point mcpServers.openllm at your dist/openllm.

Commands

Command

What

openllm mcp [--only <group>]

the unified MCP server over stdio — groups: openllm (native API), openllm-context, openllm-memory (default all)

openllm exec ctx <index|search|status|index-docs> …

code/docs-search hook verbs (what the plugin's hooks call)

openllm setup

PATH symlink + shell completion (idempotent)

openllm completion <bash|zsh|fish|install>

print or install shell completion

openllm api --spec

print the embedded OpenAPI spec

openllm self-update

converge to the gateway's pinned release

openllm version

print the version

Config: OPENLLM_CLOUD_ORIGIN / OPENLLM_API_KEY (env, or the shared ~/.openllm/.env — the same file the daemon pairing writes, so one pairing applies to every OpenLLM tool on the box).

Verify

Every published binary is pinned by SHA-256 in manifest.ts, committed to this repo. Confirm the artifacts the cloud serves are exactly what this source vouches for — no trust required:

bun install
bun run verify                        # download every published target, hash it, check vs manifest.ts
bun run verify -- --host              # just this machine's target
bun run verify -- --file ./openllm   # a binary you already installed/downloaded
bun run verify -- --installed         # the `openllm` on your $PATH

Exit code is 0 only when every checked binary matches its pinned digest.

Note: the binary is not byte-reproducible (bun build --compile --bytecode embeds non-deterministic bytecode), so rebuilding from source won't hash-match the release. The verifiable guarantee is that the published asset matches the SHA-256 committed here — the same digest the install script and openllm self-update enforce on download.

License

Source-available under the Business Source License 1.1 (© OpenLLM, INC) — converts to MIT on the Change Date. Not OSI open-source.


Read-only mirror. Regenerated from the OpenLLM monorepo each release. PRs welcome — ingested upstream with your authorship preserved. BUSL contributions require the CLA (the bot will prompt you).

Related MCP Connectors

Related MCP Servers