opencode-cli MCP server
Commit Oct 25, 2026Wraps the opencode CLI API into MCP tools to enable agentic implementation, session memory search, and automated agent run management.
Also known as sandraschi/opencode-cli-mcp
- Stars
- 3
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Oct 25, 2026
- License
- MIT
What is opencode-cli MCP?
opencode-cli wraps the opencode CLI API into MCP tools to enable agentic implementation, session memory search, and automated agent run management.
Summary generated from the project's README
About opencode-cli MCP server
Developers using the opencode CLI can manage agentic implementations and long-term session memory through this MCP server. It acts as a bridge between high-judgment orchestration models like Claude and the implementation capabilities of opencode, which utilizes models such as DeepSeek V4 Flash or Pro for heavy lifting. The server provides 22 tools, including primary portmanteau commands for managing runs, sessions, and system configurations, alongside 15 legacy aliases for granular control.
A standout feature is the eternal session memory, which allows users to perform full-text searches or semantic RAG queries across every conversation transcript stored in a local SQLite database. This enables users to recall specific details from months prior. The server can be installed via a Windows setup executable or as a .mcpb bundle for Claude Desktop. It requires the opencode CLI to be installed locally and provides a FastAPI REST bridge and a React-based dashboard for monitoring agent activity and system health.
What you can do with it
- 1Retrieve historical contextAsk the AI to find specific technical discussions or decisions made in previous months using semantic search.
Written from the project's README. Every use case is checked against a quote from it.
README
View on GitHubopencode-cli-mcp
📖 Installation Guide - quick start, manual setup, and troubleshooting 📖 Onboarding - 5-minute first-run guide 📖 Full reference - tools, endpoints, env vars, architecture
MCP server wrapping opencode CLI's HTTP API (opencode serve) into 22 FastMCP tools (7 primary portmanteaus + 15 legacy aliases). Also includes a FastAPI REST bridge (unified with the MCP endpoint on one port), a Vite/React fleet-standard dashboard, and OpenCode custom tools that extend opencode itself.
Pattern: Plan with Claude, implement with opencode. Claude (expensive, high-judgment) orchestrates and supervises; opencode handles implementation grunt work on cheaper models (DeepSeek V4 Flash/Pro).
🧠 Eternal Session Memory — opencode stores every session since install in one searchable SQLite database. Ask it "what were we discussing last December about X?" — no other agentic IDE can do that. opencode-cli-mcp makes that memory searchable, exportable, editable, and backed up.
What can you do?
| Capability | How |
|---|---|
| Wayback session find | opencode_depot(action="search", query="...") — full-text (FTS5) across every session transcript and title, ever. "What were we working on in December?" |
| Semantic recall (RAG) | opencode_depot(action="rag", query="...") — embeddings-based similarity over indexed transcripts; find it when you don't remember the words. rag_index builds the index, rag_status shows state |
| Read the past | opencode_sessions(action="messages"|"diff"|"export", session_id=...) — full transcript, file changes, or a clean markdown/html document |
| Edit the past | rename / archive / unarchive / delete sessions (live API or offline depot) |
| Never lose it | opencode_backups(action="create"|"restore", ...) — db + config snapshots, rotation, disk guard, autobackup every 24h |
| Run agents | opencode_runs(action="start"|"status"|"list"|"cancel", ...) — launch, supervise, review |
| Manage opencode | opencode_system(...) — status, providers, project, MCP pulse, config drift |
| Desktop sidebar | sidebar/opencode-sidebar.ahk (AHK v2 companion, outside the .mcpb) — docked session list, palette jump, right-click rename/archive/delete, hover previews. See docs/SIDEBAR.md |
Install
Download: opencode-cli-mcp-0.2.11-setup.exe - installs the desktop app and its embedded backend in one step (Windows, current user, no admin).
The installer is unsigned, so SmartScreen will warn. Click More info → Run anyway.
All releases, older versions, and the .mcpb bundle: Releases.
| You want | Use |
|---|---|
| Desktop app + backend | opencode-cli-mcp-0.2.11-setup.exe above |
| MCP server inside Claude Desktop only | opencode-cli-mcp-0.2.11.mcpb from Releases |
| Manual setup, prerequisites, troubleshooting | INSTALL.md |
| Development setup and build recipes | docs/DEVELOPMENT.md |
Every path needs the opencode CLI installed (npm i -g opencode-ai).
MCP Tools
Primary surface - seven portmanteaus (operation discriminator):
| Tool | Purpose |
|---|---|
opencode_runs(action=...) |
start / status / list / cancel agent runs |
opencode_sessions(action=...) |
list / get / messages / send / diff / grep / export / rename / delete sessions (live opencode serve API - the opencode UI picks the changes up immediately) |
opencode_depot(action=...) |
eternal memory - list/archive/unarchive/rename/delete/search/stats over the opencode SQLite DB. Full-text search across EVERY session since install, works offline (no opencode serve needed). |
opencode_backups(action=...) |
protect the memory - db + config snapshots (consistent online backup API), rotation, disk-space guard, guarded restore (refuses while serve runs unless force=True) |
opencode_system(action=...) |
status / providers / project / launch_ui / mcp_pulse / config_drift |
opencode_mcpb_install(...) |
install .mcpb bundles into opencode config |
opencode_shutdown(confirm=...) |
graceful self-termination |
15 legacy atomic tools remain mounted as aliases through 0.2.x (opencode_run_agent, opencode_get_run_status, opencode_list_runs, opencode_cancel_run, opencode_list_sessions, opencode_get_session, opencode_send_message, opencode_get_messages, opencode_session_diff, opencode_server_status, opencode_list_providers, opencode_get_project, opencode_get_config, opencode_get_health, opencode_launch_ui, plus opencode_session_grep / opencode_export_session / opencode_config_drift / opencode_mcp_pulse).
Prefab in-chat cards: show_runs_app, show_sessions_app, show_status_app.
Eternal Session Memory
opencode records every conversation and agent run since install into one
searchable SQLite database (~/.local/share/opencode/opencode.db). No other
agentic IDE has this — you cannot ask Claude or Cursor "what were we discussing
last December about santiclaus-mcp?", but you can ask opencode:
opencode_depot(action="search", query="santiclaus") # wayback find - full-text across ALL transcripts
opencode_depot(action="rag", query="santiclaus") # semantic recall - embeddings over indexed transcripts
opencode_depot(action="rag_index") # build the RAG index (once)
opencode_sessions(action="get", session_id="ses_...") # metadata
opencode_sessions(action="messages", session_id="ses_...") # the transcript
opencode_sessions(action="export", session_id="ses_...") # markdown/html document
opencode_backups(action="create", kind="all") # protect it (autobackup 24h)
Full walkthrough: docs/ETERNAL_MEMORY.md (also on the webapp Help page and History page).
Key Workflows
See Usage Guide for full details.
Basic: Launch -> Poll -> Review
opencode_run_agent(prompt="refactor main.py", wait=false)
-> { job_id: "abc" }
opencode_get_run_status("abc") -> poll until completed
opencode_session_diff("session-xyz") -> review changes
Multi-Agent Sweep
Launch N agents across N repos in parallel, poll all, review diffs. Designed for fleet-wide operations.
Interactive Supervision
Start an agent, read its messages mid-task, send corrections, review final diff.
OpenCode Custom Tools
Copy .opencode/tools/*.ts into your opencode project to give opencode's LLM direct access to MCP fleet management, session inspection, and system diagnostics. 6 tools covering fleet, sessions, runs, system, providers, and tool discovery. See the OC Tools page in the webapp for full documentation and source.
Documentation
| Doc | Description |
|---|---|
| Onboarding | 5-minute first-run guide |
| Usage Guide | All tools, workflows, async patterns, webapp pages |
| Integration Guide | MCP client config (Claude Desktop, Cursor, Windsurf) |
| Advanced Usage | Async patterns, session management, cross-project, custom tools |
| Improvement Plan | Known issues and roadmap |
| Changelog | Version history |
Stack
- Backend: Python 3.12+, FastMCP 3.4.4, FastAPI, uvicorn, httpx, pydantic v2, prefab-ui, psutil, SQLite (job store)
- Frontend: React 18, Vite 5, TypeScript, TailwindCSS 3.4, Zustand, Framer Motion, Lucide, React Router, @tauri-apps/api
- Native: Tauri 2 (NSIS installer, embedded PyInstaller backend)
- Quality: ruff, biome, pytest (+coverage), Playwright e2e, pre-commit, just
Ports
| Port | Service |
|---|---|
| 10950 | Frontend (Vite) |
| 10951 | Backend (FastAPI) |
| 4097 | opencode serve (dedicated; desktop app owns 4096) |
Security
This MCP server runs arbitrary shell commands (opencode run) from LLM prompts. Only install in environments where you trust your MCP client (Claude Desktop, Cursor) and the models it uses.
Fleet
- Registered in
mcp-central-docs: ports 10950/10951 fleet-registry.jsonandglama.jsonin repo root- Webapp dashboard:
http://localhost:10950(run.\start.ps1)
opencode-cli MCP questions
Can I search through my past conversation history?
Yes, it features 'Eternal Session Memory' which allows for full-text search and semantic RAG-based recall across every session stored in a SQLite database.
Is there a way to visualize my sessions and runs?
Yes, the server includes a Vite/React dashboard webapp for managing and viewing your data.