跳转到内容

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.json MCP 服务器配置中

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基于用途
websearchExa网页搜索代码、文档和解决方案
context7Context7官方文档查询
grep_appGrep.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 开发者指南

更多资源