MCP代理服务器

一个基于TypeScript的MCP服务器,用于在MCP客户端之间委托任务、卸载上下文窗口并实现并行和Map-Reduce任务执行。

  • by tanevanwifferen
  • JavaScript
  • 本地部署
  • 28 星标
  • 更新于
在 GitHub 查看 tanevanwifferen/mcp-inception

使用说明

免责声明

好吧,这是一个困难的问题。很遗憾,这需要一些设置。 但是,如果你能让这更简单,请给我发公关。

mcp初始mcp服务器

从您的mcp客户端呼叫另一个mcp客户端。委派任务,卸载上下文窗口。你的代理人的代理人!

这是一个基于TypeScript的MCP服务器,实现了一个简单的LLM查询系统。

  • MCP服务器和客户端合二为一
  • 使用 mcp客户端cli
  • 卸载上下文窗口
  • 委派任务
  • 并行和映射减少了任务的执行

特性

工具

  • execute_mcp_client -向单独的LLM提问,忽略查询其工具时所需的所有中间步骤,并返回输出。
    • 将问题视为必需参数
    • 返回答案,忽略所有中间上下文
  • execute_paralle_mcp_client-获取输入列表和主提示符,并对输入中的每个字符串并行执行提示符。 例如,现在有6个主要城市的时间——伦敦、巴黎、东京、里约、纽约、悉尼。
    • 主要提示“这个城市几点了?”
    • 输入列表,伦敦巴黎等
    • 对每个输入并行运行提示
    • 注意:等待 这 在使用此功能之前
  • execute_map_reduce_mcp_client -并行处理多个项目,然后按顺序将结果缩减为单个输出。
    • 拿 mapPrompt 随着 {item} 单个项目处理的占位符
    • 拿 reducePrompt 随着 {accumulator} 和 {result} 用于组合结果的占位符
    • 获取列表 items 处理
    • 可选的 initialValue 用于蓄能器
    • 并行处理项目,然后按顺序减少结果
    • 示例用例:分析多个文档,然后将所有文档中的关键见解综合成摘要

发展

依赖关系:

  • 安装mcp客户端cli
    • 同时安装配置文件以及其中所需的mcp服务器 ~/.llm/config.json
  • 在某处创建一个bash文件来激活venv并执行 llm 可执行
#!/bin/bash
source ./venv/bin/activate
llm --no-confirmations

安装软件包

安装依赖项:

npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

安装

要与Claude Desktop一起使用,请添加服务器配置:

在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-inception": {
      "command": "node",
      "args": ["~/Documents/Cline/MCP/mcp-inception/build/index.js"], // build/index.js from this repo
      "disabled": false,
      "autoApprove": [],
      "env": {
        "MCP_INCEPTION_EXECUTABLE": "./run_llm.sh", // bash file from Development->Dependencies
        "MCP_INCEPTION_WORKING_DIR": "/mcp-client-cli working dir"
      }
    }
  }
}

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。