Universal MCP 项目简介
Universal MCP 是一个基于 Model Context Protocol (MCP) 构建的中间件,旨在帮助API应用程序无缝集成到支持MCP协议的大型语言模型(LLM)客户端中。它通过标准化的方式,将外部服务的API能力封装为LLM可调用的“工具”,并处理认证、凭证管理等复杂细节。
主要功能点
- MCP协议支持: 完全符合Model Context Protocol (MCP) 标准,与兼容的LLM客户端进行通信。
- 简化API集成: 通过可插拔的“应用程序”概念,轻松集成各种外部服务(如GitHub、Google Calendar、Gmail等)的API。
- 工具管理: 提供强大的工具注册、发现、验证和执行能力,将API操作转化为LLM可理解和使用的工具。
- 凭证管理: 支持多种灵活的凭证存储方式(内存、环境变量、系统安全存储),简化认证流程(API Key、OAuth等)。
- 多种服务器模式: 支持本地开发、AgentR平台集成等多种部署和配置模式。
- 上下文服务: 为LLM应用提供结构化的上下文信息和功能访问框架。
安装步骤
Universal MCP 是一个 Python 包,可以使用 pip 工具进行安装。需要 Python 3.11 或更高版本。
-
确保你已安装 Python 3.11+ 和 pip。
-
打开终端或命令行工具。
-
运行以下命令进行安装:
pip install universal-mcp或者使用 'uv' 工具安装(推荐,可以管理隔离环境和依赖):
uv pip install universal-mcp
服务器配置(供 MCP 客户端使用)
MCP服务器通常不是一个独立运行的后台服务,而是由MCP客户端按需启动和管理的进程。为了让你的MCP客户端(如 Claude, Cursor 等)能够连接到 Universal MCP,你需要在客户端的配置中指定如何启动 Universal MCP 服务器。
大多数MCP客户端需要以下信息来配置一个服务器:
- 名称 (Name):一个标识符,用于在客户端中区分不同的MCP服务器(例如:'universal_mcp')。
- 命令 (Command):启动 Universal MCP 服务器的可执行命令。通常是安装 Universal MCP 的命令行入口点。推荐使用 'uvx' 来运行最新版本的 Universal MCP,命令为 'uvx'。
- 参数 (Args):传递给命令的参数。例如,指定要使用的配置文件路径。典型的参数是 'universal-mcp@latest run -c path/to/your/server_config.json'。'universal-mcp@latest run' 告诉 'uvx' 运行最新版本的 'universal-mcp' 包中的 'run' 命令,'-c path/to/your/server_config.json' 指定了服务器的配置路径。
- 环境变量 (Env):如果你的服务器或应用程序需要API Key等环境变量,可以在这里设置。
你需要根据你的 MCP 客户端应用程序的具体配置格式,填入上述信息。例如,配置中可能会包含类似如下的结构(具体格式请参考你的客户端文档):
- name: 例如 "universal_mcp"
- command: 例如 "uvx"
- args: 例如 ["universal-mcp@latest", "run", "-c", "path/to/your/server_config.json"]
- env: 例如 { "AGENTR_API_KEY": "YOUR_AGENTR_KEY", "ANOTHER_API_KEY": "YOUR_OTHER_KEY" }
这里的 'path/to/your/server_config.json' 是你创建的 Universal MCP 服务器的配置文件路径(参考仓库 README 中的 Quick Start 部分,需要手动创建此文件来定义加载哪些应用程序和集成)。
基本使用方法
一旦 Universal MCP 安装完毕,并且你已经在MCP客户端中配置好了如何启动它,客户端在需要调用工具时会自动启动 Universal MCP 进程并与之通信。
如果你想在命令行中手动测试 Universal MCP 服务器(主要用于开发和调试),可以按照以下步骤:
-
创建一个服务器配置文件(例如 'config.json'),定义服务器类型、传输协议、端口以及要加载的应用程序和集成。参考仓库 README 中的 Quick Start 示例。
-
在终端中设置任何需要的环境变量(例如,如果你在配置中使用了环境变量存储类型或 AgentR 集成)。
-
运行命令启动服务器(例如):
universal_mcp run -c config.json或者使用 'uvx':
uvx universal-mcp@latest run -c config.json
服务器将根据配置文件启动,加载指定的应用程序及其工具,并监听配置的传输协议端口,等待MCP客户端连接。仓库中的 'playground' 目录提供了一个使用 Streamlit 和 FastAPI 构建的客户端示例,你可以参照其 'src/playground/main.py' 和 'src/playground/agents/react.py' 来了解如何通过客户端代码连接和使用服务器。
信息
分类
开发者工具