OpenCode MCP Server
使用说明
项目简介
OpenCode MCP Server 是一个基于 MCP 的后端服务,旨在向 MCP 兼容的客户端(如 IDE 插件、AI 客户端等)暴露 OpenCode 的能力。它实现了资源管理、工具注册与执行、以及提示模板渲染等核心功能,支持通过标准输出/stdio 以及可远程访问的 HTTP 传输模式,方便在本地开发环境与远程部署中使用。
主要功能点
- MCP 服务器实现与注册工具
- 提供 21 种工具,覆盖执行、文件、配置、代理、技能、MCP 管理与工具配置等类别。
- 为每个工具提供输入输出模式、注解、以及错误处理机制,便于 LLM 客户端发现和使用。
- 传输模式
- stdio(默认,本地 IDE 集成)
- HTTP(远程访问,支持无状态和有状态会话,使用 SSE 实时流)
- 会话与任务管理
- 支持创建会话、在会话中发送提示、列出会话、终止会话等能力
- 支持多工具协同(如代理、技能、模型配置等)
- 配置与持久化
- 融合 API 更新与本地 opencode.json 配置持久化
- 自动探测工作目录、模型、提供商等信息
- 安全性与健壮性
- 输入校验、错误信息可操作性、日志输出与超时控制
安装步骤
- 克隆并安装依赖
- 常规步骤:执行 npm install
- 构建与运行
- 执行 npm run build 进行打包
- 运行方式通常为直接执行打包后的 dist/index.js(若采用默认流程)
- 运行时参数与环境
- 运行时可通过环境变量选择传输模式(MCP_TRANSPORT)、HTTP 端口(MCP_HTTP_PORT)等
- 详细环境变量请参考 README 中的说明
服务器配置(客户端使用 MCP 连接该服务器的配置信息)
配置示例(JSON 文本,含 server name、command、args 等): { "mcpServers": { "opencode": { "command": "node", "args": ["dist/index.js"], "env": { "OPENCODE_SERVER_URL": "http://localhost:4096", "OPENCODE_DEFAULT_PROJECT": "/path/to/your/project" } // 说明: // - serverName 对应仓库打包后的服务名,默认为 opencode-mcp // - command/args 指定启动服务器的命令和参数 // - OPENCODE_SERVER_URL 指向 OpenCode 服务端地址 // - OPENCODE_DEFAULT_PROJECT 指定默认工作目录,可省略 } } } 说明:
- MCP 客户端需要该配置来知道如何启动并连接到 OpenCode MCP Server。
- 配置中的 dist/index.js 假设已构建产物、路径根据实际打包结果调整。
- 也可以使用 HTTP 传输模式,通过设置 MCP_TRANSPORT=http、MCP_HTTP_PORT=端口等来启用远端访问。
基本使用方法
- 启动服务器后,客户端可通过 MCP 协议向服务器发送请求,读取资源、调用工具、渲染提示模板并获取返回结果。
- 如果使用 HTTP 传输,客户端应在初始化阶段建立会话、订阅 SSE 流,并通过相应端点 /mcp、/mcp/:sessionId 进行无状态/有状态交互。
- 在本地 IDE 集成中,通常使用 stdio 传输,服务器将直接通过标准输入输出与客户端通信。