MCPS 模型上下文协议服务器合集
- 使用说明概览
- 项目简介:本仓库提供多套基于 MCP 的服务器实现示例,每个服务器暴露一组工具(Tools)、可以管理资源、执行外部功能、渲染和提供 Prompt 相关能力,整体通过 MCP 的标准 JSON-RPC 与客户端通信,并支持多种传输方式(如标准输入输出、SSE、WebSocket 等)。
- 主要功能点:
- 资源与数据访问:内置示例服务器提供数据信息、历史存储、记忆等能力(如 memory、LocalRecall、Todo、Mailbox 等)。
- 工具注册与执行:每个服务器通过 MCP SDK 注册若干工具,LLM 客户端可通过调用工具来完成外部功能调用(如网络搜索、天气查询、远程脚本执行、SSH 命令等)。
- 提示模板与对话上下文:部分实现提供与 Prompts/对话上下文相关的示例能力,便于渲染和管理对话上下文信息。
- 安全与扩展:服务器端负责会话管理、能力声明,支持环境变量配置、Key/Token 授权等,并可通过 Docker 或本地二进制形式运行。
- 安装步骤与运行方式(概览):
- 依赖与构建:需要 Go 1.24 及以上版本,仓库提供 Makefile 作为常用的开发与构建入口,可按项目提供的目标构建对应的 MCP 服务器。
- 运行方式两种常见路径:
- 直接运行编译好的服务器二进制:进入对应服务器目录后构建并执行生成的二进制,例如 weather、memory、todo 等。
- 使用 Docker 运行镜像:官方提供的镜像 ghcr.io/mudler/mcps/{server}:latest 等,可以直接在容器内运行服务器。
- MCP 客户端的配置(示例,客户端需提供用于连接 MCP 服务器的启动参数):
- MCP 客户端需要配置一个 JSON 对象,描述一个服务器的启动命令及参数,示例如下(仅为说明,实际值需按目标服务器路径与环境变量来设置): { "server_name": "weather", "command": "docker", "env": { "HA_TOKEN": "your-home-assistant-token", "HA_HOST": "http://localhost:8123" }, "args": [ "run", "-i", "--rm", "ghcr.io/mudler/mcps/weather:latest" ] }
- 说明:server_name 对应 MCP 服务器的名称(如 weather、memory、duckduckgo 等);command 与 args 指定如何启动服务器(若使用 Docker 镜像则如上所示;若直接运行二进制则写出可执行文件的路径与必要的参数)。
- 基本使用方法
- 启动服务器端
- 使用直接编译的二进制:进入对应服务器目录,执行 go build 后运行生成的二进制。
- 使用 Docker 镜像:按各服务器的 README 提供的镜像与参数启动。
- 配置 MCP 客户端
- 将 MCP 服务器的启动信息以 JSON 形式提供给客户端(如 LocalAI 配置),确保 server_name、command、args、以及必要的环境变量都正确设置,便于客户端通过 MCP 标准调用相应工具。
- 调用与调试
- MCP 客户端通过 JSON-RPC 形式请求调用服务器暴露的工具,服务器返回 JSON-RPC 响应或通知。
- 如工具需要外部凭据,请在启动时通过环境变量注入(示例:TWITTER_BEARER_TOKEN、HA_TOKEN、MEMORY_INDEX_PATH 等)。
- 启动服务器端
- 重要注意
- 该仓库提供多个独立的 MCP 服务器实现,每个服务器都是一个可独立运行的后端服务。实际生产使用时需根据目标服务器选择合适镜像或二进制,并正确传入所需的环境变量与参数。
- 某些服务器依赖外部服务(如 Twitter、Home Assistant、LocalRecall 等)的凭据或 API 限额,请确保凭据与网络可访问性配置正确,否则调用可能失败。