跳转到内容

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 开发者指南

更多资源