MCP 服务器
模型上下文协议 (MCP)
MCP (Model Context Protocol) 是驱动 OpenCode 扩展性的开放标准。它允许 AI Agent 以标准化的方式与外部工具、数据源和环境进行交互。
你可以把 MCP Server 想象成”技能”或”驱动程序”,安装后即可赋予 AI 新的超能力。OpenCode 支持任何兼容 MCP 的服务器。
精选 MCP 服务器
With Context MCP
仓库: boxpositron/with-context-mcp
管理项目专属的 Markdown 笔记,支持模板、批量编辑和忽略模式。非常适合维护 Agent 可以引用的结构化项目文档。
- 使用场景: “记住我们在 v2 中做出的 API 设计决策” — 持久化存储和检索项目上下文
- 安装: 添加到你的
opencode.jsonMCP 服务器配置中
Xquik — X/Twitter 数据
仓库: Xquik-dev/x-twitter-scraper
X/Twitter 数据提取技能,包含 MCP 服务器、REST API 和 20 个提取工具。兼容 Claude Code、Cursor、Codex 和 40+ Agent。
- 使用场景: “在 Twitter 上查找关于 React Server Components 的最新讨论”
- 安装: 添加到你的 MCP 服务器配置中,并填入你的 API 凭据
MCP 语音界面
仓库: shantur/mcp-voice-interface
通过 Web 浏览器使用语音与 AI 助手对话。兼容 Claude Desktop 和 OpenCode。
- 使用场景: 免手操作编程 — 双手在键盘上时口述指令
- 安装: 启动 Web 服务器并通过 MCP 连接
Opencode Browser
仓库: different-ai/opencode-browser
OpenCode 的浏览器自动化插件。可以浏览网站、与 DOM 元素交互并提取内容。
- 使用场景: “访问 localhost:3000 并验证登录按钮是否正常工作”
- 安装: GitHub
热门 MCP 集成
许多 OpenCode 插件底层使用 MCP。以下是一些类别:
| 类别 | 示例 | 说明 |
|---|---|---|
| Web 搜索 | Exa, Google AI Search | 搜索网络获取实时信息 |
| 文档 | Context7 | 获取官方库文档到上下文中 |
| 代码搜索 | Grep.app | 跨公共 GitHub 仓库搜索 |
| 浏览器 | Playwright MCP, Opencode Browser | 自动化浏览器交互和测试 |
| 记忆 | Opencode Mem, With Context | 持久化记忆和项目上下文存储 |
Oh My OpenAgent 内置 MCP
如果你使用 Oh My OpenAgent,三个 MCP 服务器会自动启用:
| MCP | 基于 | 用途 |
|---|---|---|
websearch | Exa | 网页搜索代码、文档和解决方案 |
context7 | Context7 | 官方文档查询 |
grep_app | Grep.app | 跨公共仓库的 GitHub 代码搜索 |
无需配置 — 开箱即用。
配置 MCP 服务器
在 opencode.json 中添加 MCP 服务器:
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["-y", "@my-org/mcp-server"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
对于 Oh My OpenAgent 用户,MCP 服务器也可以在 oh-my-openagent.json 中配置。
开发自定义 MCP 服务器
OpenCode 提供了用于构建自定义 MCP 服务器的 SDK:
TypeScript
import { Server } from '@model-context-protocol/sdk';
const server = new Server({
name: "my-tool",
version: "1.0.0"
});
server.defineTool("get_data", {
query: "string"
}, async ({ query }) => {
return `Results for: ${query}`;
});
server.start();
Go
import "github.com/anomalyco/opencode-sdk-go/mcp"
server := mcp.NewServer("my-tool", "1.0.0")
server.Tool("get_data", "Fetch data", func(args map[string]interface{}) string {
return "Results"
})
server.Start()
Python
from opencode_sdk import MCPServer
server = MCPServer("my-tool", "1.0.0")
@server.tool("get_data")
def get_data(query: str) -> str:
return f"Results for: {query}"
server.start()
如需完整文档,请访问 MCP 开发者指南。
更多资源
- Awesome OpenCode — 浏览所有插件和 MCP 服务器
- Oh My OpenAgent — 内置 MCP 服务器的 Agent 管理工具
- 官方 MCP 规范 — 协议规范和文档