使用说明
项目简介
Universal MCP (通用模型上下文协议服务器) 是一个为API应用设计的中间件,它实现了模型上下文协议 (MCP) 服务器架构,旨在简化大型语言模型 (LLM) 应用与各种后端服务的集成。该项目提供了一套标准化的接口,使得 LLM 客户端能够安全、可扩展地访问和利用外部数据与功能。
主要功能点
- MCP 协议兼容: 完全兼容模型上下文协议,能够作为 MCP 服务器与客户端进行通信。
- API 简化集成: 预置了对多种常用 API 服务的集成支持,如 GitHub, Google Calendar, Gmail, Reddit, Tavily, ZenQuotes 等,可以通过简单的配置即可使用这些服务提供的工具。
- 统一鉴权管理: 内置 API 密钥和 OAuth 认证支持,方便管理和配置各种 API 服务的身份验证。
- 灵活可扩展架构: 易于扩展,开发者可以方便地添加新的应用集成,只需少量代码即可完成工具的注册和管理。
- 凭据安全管理: 提供内存和环境变量等多种凭据存储方式,保证 API 密钥等敏感信息的安全。
安装步骤
-
安装 universal-mcp:
打开终端,运行以下命令安装 universal-mcp Python 包:
pip install universal-mcp -
获取 AgentR API 密钥 (可选):
如果要使用需要身份验证的服务(如 GitHub, Gmail 等),您需要一个 AgentR API 密钥。访问 https://agentr.dev 创建账户并生成 API 密钥。
将 API 密钥设置为环境变量:
export AGENTR_API_KEY="your_api_key_here"
服务器配置
Universal MCP 服务器可以通过命令行 'universal_mcp run' 启动。MCP 客户端需要配置服务器连接信息,以下是使用 SSE 传输协议的服务器配置示例 (JSON 格式):
{ "server_name": "universal_mcp", "command": "universal_mcp", "args": [ "run", "-t", "sse" ], "transport": "sse" }
配置参数说明:
- 'server_name': 服务器名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里是 'universal_mcp'。
- 'args': 传递给 'universal_mcp run' 命令的参数列表:
- 'run': 运行服务器的子命令。
- '-t sse': 指定使用 Server-Sent Events (SSE) 作为传输协议。
- 'transport': 客户端使用的传输协议,必须与服务器端配置一致,这里是 'sse'。
其他传输协议:
除了 SSE,Universal MCP 还支持 Stdio 和 WebSocket 传输协议。您可以通过修改 '-t' 参数来切换协议,例如使用 WebSocket:
universal_mcp run -t websocket
客户端的 JSON 配置也需要相应地修改 'transport' 和 'args' 中的参数。
基本使用方法
-
启动 MCP 服务器:
在终端中运行以下命令,启动 Universal MCP 服务器 (默认使用 stdio 传输协议):
universal_mcp run或者,使用 SSE 协议启动服务器:
universal_mcp run -t sse -
配置和运行 MCP 客户端:
根据 MCP 客户端的具体使用方式,配置连接到 Universal MCP 服务器。客户端将通过 MCP 协议与服务器进行通信,调用注册的工具,并获取上下文信息。
-
使用预置应用:
Universal MCP 预置了多个常用 API 应用,例如 'zenquotes', 'tavily', 'github', 'google-calendar', 'gmail', 'resend', 'reddit'。您可以在客户端通过工具名称 (例如 'tavily_search', 'github_star_repository') 调用这些应用提供的功能。
如果需要使用需要认证的应用 (例如 GitHub, Gmail),请确保已配置相应的 API 密钥或 OAuth 认证信息 (通过 AgentR 平台管理)。
-
开发自定义应用 (高级):
开发者可以参考仓库中的 'src/universal_mcp/applications/' 目录下的示例应用,开发自定义的 API 应用并将其注册到 Universal MCP 服务器中,扩展服务器的功能。
信息
分类
网页与API