claude-opencode-mcp-v2
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENCODE_BIN | No | Path to the OpenCode binary. If not set, the bridge searches PATH, node_modules/.bin, and ~/.opencode/bin. | |
| XDG_CONFIG_HOME | No | Base directory for XDG config. If set, the global config is loaded from $XDG_CONFIG_HOME/claude-opencode-mcp/config.json. | |
| CLAUDE_OPENCODE_LOG | No | Log level for the bridge. One of debug, info, warn, error, silent. | |
| CLAUDE_OPENCODE_CONFIG | No | Path to an extra configuration file that overrides global and project configs. | |
| OPENCODE_SERVER_PASSWORD | No | Password for connecting to an existing OpenCode server. Used with OPENCODE_SERVER_USERNAME when opencode.url is set. | |
| OPENCODE_SERVER_USERNAME | No | Username for connecting to an existing OpenCode server. Defaults to 'opencode'. | |
| CLAUDE_OPENCODE_STATE_DIR | No | Directory to store session state and logs. Defaults to ~/.local/state/claude-opencode-mcp. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| delegate_taskA | Delegate a software-engineering task to an OpenCode agent (DeepSeek by default) that runs in the same workspace. The agent explores the repository itself and returns a concise summary plus structured findings. Every agent can be granted or denied edits and shell access per call with allow_edits / allow_bash; grants still enforce the bridge security policy (sensitive-file protection for edits, no git history changes for shell). Returns { status, session_id, summary, findings, files_changed }. |
| create_sessionA | Create a persistent delegation session in a workspace without running a task yet. Follow up with send_message to keep the agent's context between calls. |
| send_messageA | Continue an existing delegated session with another message. The agent keeps its previous context and its permission level; allow_edits / allow_bash can change that level for this and later messages. |
| get_sessionA | Return the stored state of a delegated session plus its live OpenCode status when a server is running. Use get_diff to inspect file changes. |
| get_diffB | Return the file changes made by a delegated session, as reported by OpenCode (GET /api/session/{id}/diff). |
| abort_sessionA | Stop a long-running or unwanted delegated task. Safe to call when the session is already idle. |
| list_agentsA | List the agents that delegate_task and create_session can use, including project-local agents from .claude-opencode/agents. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools map cleanly to distinct resources and actions (get_session/get_diff/abort_session/list_agents). The only fuzzy boundary is delegate_task vs. create_session+send_message, since a one-shot task is essentially create+send combined, but the descriptions explicitly distinguish one-shot vs. persistent session workflows.
Every tool follows a clean verb_noun pattern (delegate_task, create_session, send_message, get_session, get_diff, abort_session, list_agents). No style mixing or vague verbs.
Seven tools is well-scoped for a delegation bridge: session lifecycle, message continuation, diff inspection, abort, and agent discovery. Each tool earns its place with no redundant surface.
The session lifecycle is well covered (create, send, get, diff, abort, delegate, list_agents). Minor gaps: no list_sessions to enumerate existing sessions and no explicit close/delete, though abort_session partially fills the teardown role.