Token导航 LogoToken导航

MCP Server · 开发工具

Opencode MCP Tool Search

一个动态的MCP工具搜索插件,用于按需加载工具以减少上下文使用。

未说明官方级别未说明来源级核验工具 4
开发工具TypeScript本地部署

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
francisco-m001
提供方
francisco-m001

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

1 个

MCP World

选型结论

Opencode MCP Tool Search 属于开发工具类 MCP Server,公开资料标注 4 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

opencode mcp工具搜索

一个动态MCP工具搜索插件 OpenCode 那 通过按需加载工具来减少上下文使用。

问题

当您配置了许多MCP服务器,每个服务器都有多个工具时 定义可能会占用上下文窗口的很大一部分:

  • 50+MCP工具 可以使用 约6700个代币 仅用于工具定义
  • 这会减少实际对话和代码的上下文

解决方案

此插件实现了 基于搜索的元工具模式:

  1. 与其预先加载所有工具,不如提供一个 mcp_tool_search

元工具

  1. 按名称、描述或服务器搜索工具
  2. 直接通过以下方式调用工具 mcp_call_tool
User: "What's the weather in NYC?"
    |
    v
OpenCode decides: need a weather tool
    |
    v
Calls: mcp_tool_search({ query: "weather" })
    |
    v
Search returns: [{ name: "get_weather", server: "weather-api", ... }]
    |
    v
Calls: mcp_call_tool({ server: "weather-api", tool: "get_weather", args: { location: "NYC" } })

代币节省

场景令牌使用
已加载所有工具~6.7万个令牌
使用此插件~500个令牌
储蓄~99%

需求

  • OpenCode v1.0.0或更高版本
  • Node.js 18+或Bun 1.0+

安装

npm install opencode-mcp-tool-search

然后添加到您的 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "plugins": ["opencode-mcp-tool-search"]
}
重要提示: 使用此插件时,您必须 全部删除 mcpServers 从你的 opencode.json。此插件接管MCP服务器管理-在插件中配置服务器(请参阅下面的快速入门)。

快速开始

1.从OpenCode配置中删除MCP服务器

重要提示: 此插件直接管理MCP服务器连接。您必须删除任何 mcpServers 从你的 opencode.json 以避免重复连接和冲突。

之前 (删除此项):

{
  "$schema": "https://opencode.ai/config.json",
  "mcpServers": {
    "github": { ... },
    "filesystem": { ... }
  }
}

之后:

{
  "$schema": "https://opencode.ai/config.json",
  "plugins": ["opencode-mcp-tool-search"]
}

2.在插件中配置MCP服务器

创建插件配置文件并将MCP服务器配置移到此处:

// .opencode/plugin/mcp-search.ts
import { createMCPToolSearchPlugin } from "opencode-mcp-tool-search";

export const MCPToolSearch = createMCPToolSearchPlugin({
  mcpServers: [
    {
      name: "github",
      command: "npx",
      args: ["-y", "@modelcontextprotocol/server-github"],
      env: { GITHUB_TOKEN: process.env.GITHUB_TOKEN },
    },
    {
      name: "filesystem",
      command: "npx",
      args: [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/allowed/dir",
      ],
    },
  ],
});

3.使用工具

配置后,OpenCode可以搜索和调用MCP工具:

# Search for tools
mcp_tool_search({ query: "github pull request" })

# Call a tool
mcp_call_tool({ server: "github", tool: "create_pull_request", args: { ... } })

# List all servers
mcp_tool_search({ list_servers: true })

可用工具

mcp_tool_search

按查询搜索MCP工具。

参数类型说明
querystring搜索查询(搜索名称、描述、服务器指令)
serverstring可选:将结果筛选到特定服务器
list_serversboolean可选:列出所有连接的服务器,而不是搜索

示例:

// Search by keyword
mcp_tool_search({ query: "weather" });

// Filter by server
mcp_tool_search({ query: "pull request", server: "github" });

// List all servers
mcp_tool_search({ list_servers: true });

mcp_call_tool

调用特定服务器上的MCP工具。

参数类型说明
server字符串必需:服务器名称
tool字符串必需:工具名称
argsobject可选:传递给工具的参数

例子:

mcp_call_tool({
  server: "github",
  tool: "create_issue",
  args: {
    owner: "myorg",
    repo: "myrepo",
    title: "Bug report",
    body: "Description of the issue",
  },
});

mcp_tool_info

获取特定工具的详细信息,包括其完整的JSON模式。

参数类型说明
tool_namestring要检查的工具的名称

例子:

mcp_tool_info({ tool_name: "create_pull_request" });

mcp_tool_search_status

检查插件和服务器连接状态。

例子:

mcp_tool_search_status();
// Returns: server count, connection status, tool count, any errors

配置

完整配置示例

// .opencode/plugin/mcp-search.ts
import { createMCPToolSearchPlugin } from "opencode-mcp-tool-search";

export const MCPToolSearch = createMCPToolSearchPlugin({
  // MCP servers to connect to
  mcpServers: [
    {
      name: "my-server",
      command: "node",
      args: ["./my-mcp-server.js"],
      env: { API_KEY: process.env.API_KEY },
      cwd: "/path/to/server",
      instructions: "This server provides weather and calendar tools",
      timeout: 30000, // Connection timeout in ms
    },
  ],

  // Search configuration
  maxResults: 10, // Maximum results to return (default: 10)
  fuzzyMatch: true, // Enable fuzzy matching for typos (default: true)
  minScore: 0.1, // Minimum match score 0-1 (default: 0.1)
  searchInstructions: true, // Search server instructions too (default: true)
});

配置选项

选项类型默认值描述
mcpServersMCPServerConfig[][]MCP服务器配置数组
maxResultsnumber10搜索返回的最大工具数
fuzzyMatchbooleantrue启用模糊名称匹配
minScorenumber0.1结果的最低相关性得分(0-1)
searchInstructionsbooleantrue在搜索中包含服务器说明

MCP服务器配置

选项类型必填描述
namestring是唯一服务器标识符
commandstringYes启动服务器的命令
argsstring[]否命令参数
envRecord否环境变量
cwdstring否工作目录
instructionsstring否服务器描述(改进搜索)
timeoutnumber否连接超时(毫秒)(默认值:30000)

搜索工作原理

搜索使用 Fuse.js 加权模糊匹配 领域:

字段重量用途
工具名称50%主要标识符,处理拼写错误
工具描述35%语义相关性
服务器说明15%路由到正确的服务器

搜索功能:

  • 模糊匹配处理拼写错误(例如,“gihub”匹配“github”)
  • 高级查询的扩展搜索语法
  • 按相关性得分排序的结果

建筑

+----------------------------------------------------------+
|                      OpenCode                             |
+----------------------------------------------------------+
|  Plugin: opencode-mcp-tool-search                        |
|  +----------------------------------------------------+  |
|  |  State                                             |  |
|  |  - servers: Map                   |  |
|  |  - allTools: MCPTool[]                             |  |
|  +----------------------------------------------------+  |
|                          |                                |
|  +----------------------------------------------------+  |
|  |              Tools (exposed to OpenCode)              |  |
|  |  - mcp_tool_search     (search tools)             |  |
|  |  - mcp_call_tool       (execute tools)            |  |
|  |  - mcp_tool_info       (inspect tools)            |  |
|  |  - mcp_tool_search_status (check status)          |  |
|  +----------------------------------------------------+  |
|                          |                                |
|  +----------------------------------------------------+  |
|  |              MCP Client                             |  |
|  |  - Stdio transport to MCP servers                  |  |
|  |  - Parallel server connections                     |  |
|  |  - Tool listing and execution                      |  |
|  +----------------------------------------------------+  |
+----------------------------------------------------------+
              |                    |                    |
        +-----+----+        +------+-----+       +------+-----+
        | MCP      |        | MCP        |       | MCP        |
        | Server 1 |        | Server 2   |       | Server N   |
        +----------+        +------------+       +------------+

好处

  • 大量代币节省:工具令牌使用量减少约99%
  • 无协议更改:适用于标准MCP服务器
  • 透明:MCP服务器不需要任何修改
  • 更好的发现:搜索有助于更快地找到合适的工具
  • 并联连接:同时连接到所有服务器

权衡

  • 调用工具前搜索的额外步骤
  • 需要良好的搜索查询才能找到合适的工具
  • 服务器指令提高了可发现性

发展

# Clone the repository
git clone https://github.com/francisco-m001/opencode-mcp-tool-search.git
cd opencode-mcp-tool-search

# Install dependencies
npm install
# or
bun install

# Build
npm run build
# or
bun run build

# Watch mode for development
npm run dev
# or
bun run dev

项目结构

opencode-mcp-tool-search/
├── src/
│   ├── index.ts       # Plugin entry point and tool definitions
│   ├── search.ts      # Fuse.js search implementation
│   ├── mcp-client.ts  # MCP SDK client wrapper
│   ├── types.ts       # TypeScript interfaces
│   └── utils.ts       # Helper functions
├── package.json
├── tsconfig.json
└── README.md

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

相关项目

规格

MCP TypeScript官方SDK

许可证

MIT许可证-请参阅 许可证 了解详情。

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

工具搜索TypeScript本地部署MCP插件上下文优化开发效率

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Opencode MCP Tool Search

MCP World · 本页

4未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Opencode MCP Tool Search 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Opencode MCP Tool Search 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Opencode MCP Tool Search 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Opencode MCP Tool Search 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Opencode MCP Tool Search 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP