项目简介
Lab Verse MCP Gateway 是一个专为 AI 驱动应用设计的 Model Context Protocol (MCP) 服务器,它充当大型语言模型 (LLM) 客户端与多种外部服务之间的智能桥梁。通过提供标准化的 JSON-RPC 接口,您的 LLM 应用可以无缝地访问并调用 HuggingFace、SocialPilot、Unito 和 WordPress.com 等平台的强大功能,从而扩展 LLM 的能力,实现更复杂的自动化工作流和更丰富的交互模式。该网关支持多租户和白标部署,并内置了全面的监控与商业化功能。
主要功能点
- 多服务集成: 连接 HuggingFace (模型搜索、推理执行、数据集管理)、SocialPilot (社交媒体内容发布与分析)、Unito (跨平台任务与数据双向同步) 和 WordPress.com (博客文章创建与管理) 等。
- 标准化工具接口: 将集成的外部服务封装为 LLM 可理解和调用的“工具”。LLM 客户端可以通过发送 JSON-RPC 请求,调用这些工具来执行特定任务。
- 灵活的上下文提供: 为 LLM 客户端提供结构化的资源(如外部服务数据)、Prompt 模板和可执行的工具访问,帮助 LLM 更好地理解任务并采取行动。
- 多租户与白标支持: 平台支持为不同的客户或代理商提供定制化的 AI 网关服务,实现品牌独立和收入共享。
- 内置监测与可观测性: 集成 Prometheus 和 Grafana,提供实时的系统性能、请求延迟、错误率等关键指标的监控和警报,确保服务稳定性。
安装步骤
在开始之前,请确保您已安装 Node.js (v20+) 和 npm。
- 克隆仓库:
打开您的终端或命令行工具,执行以下命令克隆项目仓库:
git clone https://github.com/deedk822-lang/The-lab-verse-monitoring-.git - 进入项目目录:
进入刚克隆下来的项目文件夹:
cd The-lab-verse-monitoring- - 安装主应用依赖:
安装项目根目录下的所有必要依赖:
npm install - 安装 MCP 服务器依赖:
该项目包含多个独立的 MCP 网关服务器。它们位于 'mcp-server' 目录下,需要单独安装其依赖:
cd mcp-server npm install @modelcontextprotocol/sdk dotenv cd .. - 配置环境变量:
复制示例环境变量文件并进行编辑:
编辑 '.env.local' 文件,填入您的 API 密钥和配置信息。至少需要配置以下变量:cp .env.example .env.local- 'GATEWAY_URL': 您的网关部署 URL (例如: 'https://your-domain.vercel.app')
- 'GATEWAY_KEY': 用于保护您的网关 API 的主密钥
- 'HF_API_TOKEN': HuggingFace API 令牌
- 'SOCIALPILOT_ACCESS_TOKEN': SocialPilot API 访问令牌
- 'UNITO_ACCESS_TOKEN': Unito API 访问令牌
- 'WORDPRESS_COM_OAUTH_TOKEN': WordPress.com OAuth 令牌
服务器配置
MCP 客户端(通常是 LLM 应用或其集成层)需要知道如何连接到此网关并调用其提供的功能。 该网关的核心 JSON-RPC 端点是 '/api/mcp' (通过 'app.js' 暴露)。
对于 MCP 客户端,您通常需要配置以下信息:
- 服务器名称 (server_name): 'LapVerse MCP Gateway'
- 服务器URL (endpoint_url): 'https://<您的部署域名>/api/mcp'
- 注意: '<您的部署域名>' 是您部署此网关后的实际域名,例如 'https://the-lab-verse-monitoring.vercel.app'。
- 认证令牌 (auth_token_env_var): 'GATEWAY_API_KEY'
- 说明: 客户端应在其请求头中携带 'Authorization: Bearer <您的API密钥>' 进行认证。'GATEWAY_API_KEY' 是您在 '.env' 或 Vercel 环境变量中配置的密钥。
- 可调用工具 (Tools): 此网关提供了一系列工具,用于与 HuggingFace、SocialPilot、Unito 和 WordPress.com 等服务交互。当 MCP 客户端发送请求时,它会指定要调用的“工具方法”及其参数,例如:
- HuggingFace 工具: 方法名以 'hf_' 开头 (例如: 'hf_list_models', 'hf_model_info', 'hf_run_inference')
- SocialPilot 工具: 方法名以 'sp_' 开头 (例如: 'sp_create_post', 'sp_get_analytics')
- Unito 工具: 方法名以 'unito_' 开头 (例如: 'unito_list_workspaces', 'unito_create_sync')
- WordPress.com 工具: 方法名以 'wpcom_' 开头 (例如: 'wpcom_create_post', 'wpcom_list_sites')
客户端发送的 JSON-RPC 请求示例如下(这只是概念性描述,实际的 JSON-RPC 协议会更结构化): '{"jsonrpc": "2.0", "method": "hf_list_models", "params": {"search": "bert", "limit": 5}, "id": 1}'
重要提示: 在部署生产环境时,请务必设置 'GATEWAY_API_KEY' 和各项服务的 API 密钥,例如 'HF_API_TOKEN'、'SOCIALPILOT_ACCESS_TOKEN' 等。
基本使用方法
- 启动后端 MCP 网关服务器:
在 'mcp-server' 目录下,需要分别启动四个独立的 MCP 网关服务器。这些服务器负责直接与各自的外部服务通信:
在生产环境中,强烈建议使用进程管理器(如 PM2)或容器化部署(如 Docker Compose)来持久运行这些服务器。# 在 mcp-server 目录下运行 node huggingface-gateway.js node socialpilot-gateway.js node unito-gateway.js node wpcom-gateway.js - 部署主网关应用: 部署主 Next.js 应用到 Vercel (推荐,'vercel --prod') 或本地运行开发服务器 (如果支持,'npm run dev')。这将启动 Express 应用,提供 '/api/mcp' 作为 MCP 客户端的 JSON-RPC 入口。
- LLM 客户端调用: 配置您的 LLM 客户端(例如:使用 LangChain、LlamaIndex 等框架构建的应用)以连接到您的部署域名下的 '/api/mcp' 端点,并携带正确的 'Authorization' 请求头。一旦连接成功,LLM 即可通过调用上述定义的工具方法来执行外部操作或获取信息。 例如,一个 LLM 可能发出请求来“搜索 HuggingFace 上的特定 AI 模型”,或者“在社交媒体上发布一条新消息”,或者“在 WordPress 博客上创建一篇新文章”。
信息
分类
AI与计算