项目简介

'mcp-collection' 仓库提供了一个预构建的Docker镜像,该镜像打包了多个不同的模型上下文协议(MCP)服务器实现。用户可以通过运行此容器并指定参数来选择启动其中任何一个服务器。这种方式简化了多个MCP服务器的部署和管理。

主要功能点

  • 多服务器集成: 一个Docker镜像中包含多种用途的MCP服务器,如用于获取网页内容、执行计算、搜索信息、访问数据库等。
  • 远程访问支持: 通过内置的 'supergateway' 工具,将标准输入输出(stdio)接口桥接到HTTP/SSE或WebSocket等协议,使得MCP服务器可以轻松通过网络访问。
  • 容器化部署: 提供针对Docker和Kubernetes优化的部署方式,具备健康检查、非root用户运行等特性。
  • 简化启动: 通过统一的入口脚本,只需在运行容器时指定所需的服务器名称即可启动。

安装步骤

本项目以Docker镜像形式分发,安装非常简单:

  1. 确保您已安装Docker环境。
  2. 拉取最新的Docker镜像:
    docker pull ghcr.io/erhardtconsulting/mcp-collection:1.0.0

服务器配置

MCP客户端(如LLM应用)需要知道如何启动并连接到特定的MCP服务器。对于使用 'mcp-collection' 容器的项目,客户端需要配置的是运行该Docker容器的命令及其参数。

配置的关键在于指定要运行哪个包含在镜像中的MCP服务器。

例如,如果您的MCP客户端配置需要提供一个启动MCP服务器的“命令”和“参数列表”,您可以这样描述您的配置:

  • 命令 (Command): 'docker' (或者您的系统中Docker可执行文件的完整路径)
  • 参数列表 (Args):
    • 'run' (Docker运行子命令)
    • '--rm' (可选,容器停止后自动移除)
    • 'ghcr.io/erhardtconsulting/mcp-collection:1.0.0' (要使用的镜像名称和标签)
    • '[特定MCP服务器名称]' (这是最重要的部分,您需要替换为镜像中包含的某个具体服务器的名称,例如 'mcp-server-fetch', 'mcp-server-calculator', 'mcp-searxng' 等。请参考仓库的说明获取可用服务器列表)
    • '[可选的服务器参数]' (如果选定的特定MCP服务器需要额外的启动参数,在此处添加)

请注意,具体的配置格式取决于您使用的MCP客户端库或框架。核心是让客户端能够执行 'docker run ... ghcr.io/erhardtconsulting/mcp-collection:1.0.0 [特定MCP服务器名称] [...]' 这条命令来启动目标服务器。

基本使用方法

  1. 通过上述配置,您的MCP客户端启动 'mcp-collection' 容器,指定要运行的特定MCP服务器(例如 'mcp-server-fetch')。
  2. 容器启动后,执行入口脚本,激活环境并使用 'supergateway' 启动您指定的MCP服务器。'supergateway' 会处理MCP客户端与服务器之间的通信协议转换(默认为 stdio,通过网关可转为 HTTP/SSE/WebSocket)。
  3. 您的MCP客户端通过建立的连接,向运行中的MCP服务器发送标准的JSON-RPC请求,例如:
    • 请求读取资源 ('mcp/resource/read')
    • 请求调用工具 ('mcp/tool/execute')
    • 请求获取Prompt ('mcp/prompt/get')
  4. MCP服务器处理请求并返回JSON-RPC响应给客户端。

通过这种方式,LLM客户端无需关心底层服务器的具体实现细节,只需通过标准MCP协议与容器中运行的选定服务器进行交互,从而获得所需的功能和上下文信息。

信息

分类

AI与计算