LLM与MCP服务器桥接工具

MCP Manager是一个连接大型语言模型(LLM)和MCP服务器的工具,支持通过自然语言提示与远程和本地API交互,并提供灵活的工作区配置。

  • by DMaxter
  • Rust
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 dmaxter/mcp-manager

使用说明

MCP经理

MCP管理器充当大型语言模型(LLM)和MCP服务器之间的桥梁。它允许您通过支持的聊天完成API使用自然语言提示与远程和本地API进行交互。

可以使用不同的配置定义工作区,使用单个MCP管理器实例连接到不同的LLM端点和MCP服务器(可能在各种端口、地址或路径上)。

什么是MCP服务器?

MCP服务器是一种中间件,目前位于LLM和API之间,允许LLM检查它有哪些工具可以执行用户提示可能具有的操作,并决定采取行动,而不是只向用户提供答案。MCP服务器将模型执行操作的“意愿”转换为操作本身,可能是对某个系统的更改或查询。

如果你想了解更多,请前往 https://mcp.so 并滚动到底部查看常见问题部分。

特性

  • 与各种LLM集成(目前支持Gemini、Azure OpenAI)
  • 启用LLM与MCP服务器的交互
  • 通过单个YAML文件进行灵活的工作空间配置
  • 支持API密钥身份验证(计划使用OAuth 2.0)
  • 以OpenAI格式显示用于发送提示的简单HTTP API

安装

只需在 发布 节,on 包裹,它已经准备好了。

配置

配置通过YAML文件进行管理(默认值: config.yaml 在运行时目录中)。可以使用以下命令覆盖路径 MCP_MANAGER_CONFIG 环境变量。

带注释的示例配置文件可在以下网址获得 config.example.yaml.

认证

目前,仅支持API密钥身份验证,并在模型设置中进行配置。 OAuth 2.0支持 是有计划的。

LLM配置

配置因LLM提供程序而异:

  • 双子座

    • 需要一个 API密钥
    • API终结点可以在 Gemini文档(使用基本REST端点)。API密钥 应通过MCP管理器进行配置 和 未包含在URL中
  • Azure OpenAI

    • 需要已部署的模型
    • 资源端点
    • API版本(请参见 可用版本)
    • 已部署模型名称
    • API密钥

用法

  1. 启动服务器
mcp-manager

可选地使用不同的配置路径

export MCP_MANAGER_CONFIG=/path/to/your/config.yaml
mcp-manager
  1. 通过HTTP调用执行提示(假设默认端口)

使用为配置的工作空间进行curl示例 /azure 并使用文件系统MCP服务器:

curl http://localhost:7000/azure -H "Content-Type: application/json" -d '{"messages": [{"role":"user","content":"Check if the file /tmp/abc exists"}]}'

输出类似于:

{
  "messages": [
    {
      "role": "user",
      "content": "Check if the file /tmp/abc exists"
    },
    {
      "role": "assistant",
      "tool_calls": [
        {
          "name": "get_file_info",
          "id": "cGAjCuzqBBnUx2J2dpjpDbZg",
          "arguments": {
            "path": "/tmp/abc"
          }
        }
      ]
    },
    {
      "type": "FunctionCallOutput",
      "call_id": "cGAjCuzqBBnUx2J2dpjpDbZg",
      "output": "Error: ENOENT: no such file or directory, stat '/tmp/abc'"
    },
    {
      "role": "assistant",
      "content": "The file /tmp/abc does not exist."
    }
  ],
  "temperature": null,
  "max_tokens": null,
  "top_p": null,
  "tools": null
}

我们得到了用户、模型、MCP管理器和MCP服务器之间交换的所有消息的完整列表。

局限性

贡献

欢迎捐款,请参阅 贡献.md

主要发展发生在 GitLab公司。问题和合并请求应提交到那里。镜像存储库维护在 GitHub 在GitHub上打开的问题将手动迁移到GitLab。

鼓励通过以下方式提交错误报告和功能请求 GitLab问题.

许可证

该项目在GNU GPLv3下获得许可