MCP 与 LSP
OpenCode 通过 MCP(Model Context Protocol) 扩展外部工具,通过 LSP(Language Server Protocol) 获取实时语言诊断。
MCP 概述
MCP 让 Agent 调用数据库、浏览器、Slack、自定义 API 等,而无需把逻辑写进 OpenCode 本体。
配置位置:
- 全局:
~/.config/opencode/opencode.json的mcp字段 - 项目:项目根
opencode.json
配置 MCP Server
stdio 本地进程
SSE / HTTP 远程服务
TUI 中可用 /connect 交互式添加 Provider;MCP 通常在配置文件中维护。
MCP 与权限
MCP 工具名通常带 server 前缀。可在 permission 中控制:
安全建议:
- 只启用项目需要的 MCP
- 对写操作、网络 MCP 默认
ask - 审查 MCP Server 源码与权限范围
常用 MCP 场景
Explore Subagent + MCP 只读查询,可避免 Build 误改生产数据。
LSP 集成
OpenCode 可连接语言服务器,在编辑后获取 diagnostics(错误、警告),供 Agent 自我修正。
启用
opencode.json:
需本机已安装对应 LSP 二进制。
与 Agent 的配合
- Agent 修改
foo.ts - LSP 返回 type error
- Agent 读取 diagnostic 继续修复
这比纯靠模型「猜」类型错误更可靠。
LSP 权限
permission.lsp 控制是否允许调用 LSP 工具,默认通常为 allow。
MCP vs LSP
两者可同时启用,互补而非替代。