mcpField
M
MCP Manager

MCP Manager

本地服务
github.com/DMaxterAI 与智能体376 周前更新

关于 MCP Manager

MCP Manager 连接受支持的大模型端点与本地 MCP 服务,供团队通过 HTTP API 发送自然语言提示词。多个工作区可在同一实例中配置不同模型和服务。

主要功能

  1. 01支持 Gemini 和 Azure OpenAI
  2. 02连接本地 MCP 服务
  3. 03通过 YAML 配置工作区
  4. 04API 密钥认证
  5. 05兼容 OpenAI 格式的 HTTP 提示词 API

适用场景

  1. 01向不同配置的工作区发送提示词
  2. 02通过本地 MCP 服务查询或操作 API

MCP 相关

它将受支持的大模型连接到本地 MCP 服务,并把提示词路由至其工具。远程 MCP 服务连接仍在计划中。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Manager

CI Release

MCP Manager 充当大模型与 MCP 服务之间的桥梁。它支持通过聊天补全 API 使用自然语言提示词与远程和本地 API 交互。

可定义具有不同配置的工作区,从而通过单个 MCP Manager 实例连接到不同的大模型端点和 MCP 服务(可能使用不同的端口、地址或路径)。

什么是 MCP 服务?

MCP 服务是一种中间件,目前位于大模型和 API 之间,让大模型能够检查有哪些可用工具可用于执行用户提示词中可能要求的操作,并决定采取行动,而不只是向用户提供答案。MCP 服务会将模型执行某项操作的“意图”转化为实际操作,无论是更改还是查询某个系统。

如需了解更多信息,请访问 https://mcp.so,并滚动到页面底部查看常见问题解答。

功能

  • 集成多种大模型(目前支持 Gemini、Azure OpenAI)
  • 支持大模型与 MCP 服务交互
  • 通过单个 YAML 文件灵活配置工作区
  • 支持 API Key 身份验证(计划支持 OAuth 2.0)
  • 提供简单的 HTTP API,以 OpenAI 格式发送提示词

安装

只需在 Release 部分的 Packages 中下载适用于你操作系统的文件,即可开始使用。

配置

配置通过 YAML 文件管理(默认位于运行目录下的 config.yaml)。可以使用 MCP_MANAGER_CONFIG 环境变量覆盖该路径。

带注释的示例配置文件见 config.example.yaml。

身份验证

目前仅支持 API Key 身份验证,可在模型设置中进行配置。计划支持 OAuth 2.0。

大模型配置

配置因大模型提供方而异:

  • Gemini

    • 需要 API Key
    • API 端点可在 Gemini 文档中找到(使用基础 REST 端点)。应通过 MCP Manager 配置 API Key,而不要将其包含在 URL 中
  • Azure OpenAI

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

使用方法

  1. 启动服务
mcp-manager

也可以使用不同的配置路径

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

下面是一个 curl 示例,使用为 /azure 配置的工作区和 filesystem 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 Manager 和 MCP 服务之间交换的所有消息的完整列表。

限制

  • 支持的大模型

    • Gemini
    • Azure OpenAI
    • (计划支持:Claude 和 OpenAI)
  • 支持的 MCP 服务连接

贡献

欢迎贡献,请参阅 CONTRIBUTING.md

主要开发工作在 GitLab 上进行。请在此提交问题和合并请求。我们在 GitHub 上维护了一个镜像仓库,在 GitHub 上提交的问题将由我们手动迁移至 GitLab。

欢迎通过 GitLab Issues 提交错误报告和功能请求。

许可证

本项目采用 GNU GPLv3 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。