npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-research-router

v1.0.14

Published

MCP Research Router - Intelligent tool selection and parallel execution for research tasks

Readme

MCP Research Router

📖 引言

你是否遇到过这些问题?

  • 有多个 MCP 服务器,每次都要逐个添加到客户端,很麻烦?
  • 工具太多,不知道该用哪个?
  • 需要同时调用多个工具,但只能一个一个来?

MCP Research Router 就是为你准备的。

它是一个 MCP 聚合器和智能路由器,帮你:

  • 一次连接,访问所有 MCP 服务器
  • 自动推荐最适合的工具
  • 批量并行执行,性能提升 3-5 倍

🎯 这个工具适合你吗?

✅ 适合使用

  • 有多个 MCP 服务器需要统一管理
  • 工具数量多,不知道该用哪个
  • 需要批量调用多个工具
  • 想通过 LLM 智能推荐工具

❌ 不适合使用

  • 只有一个 MCP 服务器
  • 工具数量少,能直接选择
  • 不需要智能推荐功能

如果你的客户端已经支持添加多个 MCP,并且你只有少量工具,那么你不需要这个工具。

⚡ 特点

1. 统一管理多个 MCP 服务器

聚合多个 MCP 服务器,一次连接即可访问所有工具。无需在每个客户端中逐个添加。

2. 智能工具推荐

根据你的需求,通过 LLM 自动推荐最合适的工具。不用再翻阅长长的工具列表。

3. 批量并行执行

同时调用多个相关工具,性能提升 3-5 倍。适合需要综合多个工具结果的场景。

🚀 快速开始

1. 安装

npm install -g mcp-research-router
# 或直接运行
npx mcp-research-router

2. 配置

推荐:使用环境变量

在 MCP 客户端中添加环境变量:

MCP_LLM_ENABLED=true
MCP_LLM_API_KEY=your-api-key-here
MCP_LLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4
MCP_LLM_MODEL=glm-4.7-flash
MCP_SERVER_URL=http://127.0.0.1:3000/mcp/your-group-id

3. 连接到客户端

编辑配置文件(适用于 Claude Desktop、Cursor 等支持 MCP 的客户端):

  • Claude Desktop:
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Cursor:
    • Windows: %APPDATA%\Cursor\User\globalStorage\mcp_settings.json
    • Mac: ~/Library/Application Support/Cursor/User/globalStorage/mcp_settings.json

最小配置(仅连接服务):

{
  "mcpServers": {
    "mcp-research-router": {
      "command": "npx",
      "args": ["mcp-research-router"]
    }
  }
}

包含环境变量:

{
  "mcpServers": {
    "mcp-research-router": {
      "command": "npx",
      "args": ["mcp-research-router"],
      "env": {
        "MCP_LLM_ENABLED": "true",
        "MCP_LLM_BASE_URL": "https://ark.cn-beijing.volces.com/api/coding/v3",
        "MCP_LLM_API_KEY": "your-api-key-here",
        "MCP_LLM_MODEL": "ark-code-latest",
        "MCP_SERVER_ENABLED": "true",
        "MCP_SERVER_URL": "http://your-server-url/mcp/endpoint",
        "MCP_SERVER_NAME": "my-server",
        "MCP_SERVER_HEADERS": "{\"Authorization\": \"Bearer your-token\"}"
      }
    }
  }
}

📖 使用方法

获取工具列表

{
  "name": "get_tool_list"
}

智能工具推荐

{
  "name": "get_tool_list",
  "arguments": {
    "user_query": "搜索关于人工智能的最新新闻",
    "max_tools": 3
  }
}

系统会根据你的需求推荐最合适的工具。

批量执行工具

{
  "name": "execute_tools",
  "arguments": {
    "tools": [
      {
        "tool_name": "server-name-metaso-metaso_web_search",
        "arguments": {"q": "人工智能最新发展"}
      }
    ]
  }
}

⚙️ 配置说明

环境变量(推荐)

| 环境变量 | 说明 | 默认值 | |---------|------|--------| | MCP_LLM_ENABLED | 是否启用 LLM 推荐 | false | | MCP_LLM_API_KEY | LLM API 密钥 | - | | MCP_LLM_BASE_URL | LLM 基础 URL | https://api.siliconflow.cn/v1 | | MCP_LLM_MODEL | LLM 模型名称 | Qwen/Qwen2.5-7B-Instruct | | MCP_LLM_TIMEOUT | LLM 调用超时时间(毫秒) | 90000 | | MCP_SERVER_ENABLED | 是否启用 MCP 服务器 | false | | MCP_SERVER_URL | MCP 服务器 URL | - | | MCP_SERVER_NAME | MCP 服务器名称(工具名前缀) | default | | MCP_SERVER_HEADERS | MCP 服务器请求头(JSON 格式) | {} | | MCP_PROMPTS_PATH | 自定义提示词目录路径 | 包内 prompts 目录 | | MCP_MAX_RECOMMENDATIONS | 最大推荐数 | 5 | | MCP_MAX_ITERATIONS | 最大迭代次数 | 3 | | MCP_MIN_CONFIDENCE | 最小置信度 | 0.7 |

MCP_SERVER_HEADERS 使用方法

需要填写 JSON 格式的字符串:

MCP_SERVER_HEADERS={"Authorization": "Bearer your-token"}

示例:

  • Bearer Token 认证:{"Authorization": "Bearer your-token"}
  • API Key 认证:{"X-API-Key": "your-api-key"}
  • 多个请求头:{"Authorization": "Bearer your-token", "X-Custom-Header": "value"}

配置文件方式

如果需要使用配置文件,编辑 config.json

{
  "subAgent": {
    "enabled": true,
    "type": "openai",
    "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
    "apiKey": "your-api-key-here",
    "model": "glm-4.7-flash",
    "timeout": 90000
  },
  "mcpServers": {
    "enabled": true,
    "servers": [
      {
        "name": "my-favorites",
        "type": "streamable-http",
        "url": "http://127.0.0.1:3000/mcp/your-group-id"
      }
    ]
  }
}

完整配置示例请参考 config.full.example.json

🎨 提示词模式

系统支持多种提示词模式,你可以根据需求选择:

预定义模式

  • tool_recommendation(默认):快速工具推荐
  • deep_research:深度研究模式,适合复杂任务

自定义模式

prompts/ 文件夹中创建新文件夹:

prompts/
└── my_mode/
    ├── system.txt
    └── user.txt

使用时传入 prompt_mode: "my_mode"

详细说明请查看 prompts/README.md

❓ 常见问题

Q: 如何配置 MCPHub 分组?

  1. 在 MCPHub 网页端创建分组
  2. 添加常用的 MCP 服务器到分组
  3. 复制分组 ID
  4. 配置环境变量:MCP_SERVER_URL=http://127.0.0.1:3000/mcp/分组ID

⚠️ 不要把 MCP Research Router 自己添加到分组里,否则会无限套娃。

Q: 不配置 LLM 能使用吗?

可以,但功能受限:

  • ✅ 可以获取工具列表
  • ✅ 可以执行工具
  • ❌ 无法使用智能推荐功能

🛠️ 开发

# 安装依赖
pnpm install

# 开发模式(支持热重载)
pnpm dev

# 构建
pnpm build

# 运行
pnpm start

📄 许可证

MIT

🙏 赞赏

如果你觉得这个项目对你有帮助,欢迎通过微信赞赏支持我的开发工作:

🔗 相关链接