项目简介
LLM Gateway MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在实现高能力 AI 代理(如 Claude 3.7)向更经济高效的 LLM 模型(如 Gemini Flash 2.0 Lite)的智能任务委派。它通过统一的 MCP 工具接口,为 AI 代理提供文档处理、数据提取、成本优化等功能,并支持多种 LLM 提供商,帮助用户在保证输出质量的同时显著降低 API 成本。
主要功能点
- MCP 协议原生支持: 完全基于 Model Context Protocol 构建,与 MCP 客户端无缝集成。
- 智能任务委派: 允许高级 AI 代理将文档处理、数据提取等任务智能委派给成本更低的 LLM 模型,实现 AI-to-AI 协作。
- 多LLM模型支持: 统一接口支持 OpenAI、Anthropic (Claude)、Google (Gemini)、DeepSeek 等多家 LLM 提供商,并可灵活扩展。
- 成本优化: 通过智能路由、模型选择和缓存机制,显著降低 LLM API 的使用成本。
- 文档处理工具: 提供文档分块、摘要、实体提取等常用文档处理功能。
- 灵活部署: 支持多种部署方式,包括 pip 安装和 Docker 容器部署。
安装步骤
-
克隆仓库
git clone https://github.com/Dicklesworthstone/llm_gateway_mcp_server.git cd llm_gateway_mcp_server -
安装 Python 包
-
使用 pip 安装基本依赖:
pip install -e . -
或安装包含所有可选依赖(如向量数据库、文档处理等)的版本:
pip install -e .[all]
-
-
配置环境变量
-
创建 '.env' 文件,并根据需要配置 API 密钥、服务器端口、日志级别等。以下是一个 '.env' 文件示例:
# API Keys (至少配置一个) OPENAI_API_KEY=your_openai_key ANTHROPIC_API_KEY=your_anthropic_key GEMINI_API_KEY=your_gemini_key DEEPSEEK_API_KEY=your_deepseek_key # Server Configuration SERVER_PORT=8000 SERVER_HOST=127.0.0.1 # Logging Configuration LOG_LEVEL=INFO USE_RICH_LOGGING=true # Cache Configuration CACHE_ENABLED=true CACHE_TTL=86400注意: 请将 'your_openai_key' 等占位符替换为您实际的 API 密钥。
-
服务器配置
MCP 客户端需要配置 MCP 服务器的连接信息,以下是一个 JSON 格式的配置示例,您需要根据实际情况修改 'command' 和 'args' 字段:
{ "serverName": "llm_gateway", // MCP 服务器名称,可自定义 "command": "python", // 启动 MCP 服务器的命令 "args": [ "-m", "llm_gateway.cli.main", "run" // 启动服务器的子命令 ], "transport": "stdio", // 传输协议,通常使用 stdio "modelContextCapabilities": [ // 服务器声明的模型上下文能力 "tool-execution", "resource-access", "prompt-templating" ] }
参数注释:
- 'serverName': MCP 服务器的名称,客户端可以通过此名称识别服务器。
- 'command': 启动 MCP 服务器的可执行命令,这里假设您已安装 Python 环境,并使用 'python' 命令运行服务器。
- 'args': 传递给 'command' 的参数列表。
- '"-m"': Python 的 '-m' 参数用于运行模块,'llm_gateway.cli.main' 指定要运行的模块为 'llm_gateway.cli.main'。
- '"run"': 'run' 是 'llm_gateway.cli.main' 模块定义的子命令,用于启动 MCP 服务器。
- 'transport': 指定 MCP 客户端和服务器之间的传输协议,'stdio' 表示使用标准输入输出流进行通信,这是常用的简单协议。
- 'modelContextCapabilities': 声明服务器支持的 MCP 协议能力。
基本使用方法
-
启动 MCP 服务器
在仓库根目录下,执行以下命令启动 MCP 服务器:
python -m llm_gateway.cli.main run或者使用 Docker 启动:
docker compose up服务器默认监听 'http://localhost:8000'。
-
配置 MCP 客户端
根据 MCP 客户端的具体配置方法,填入上述服务器配置信息。确保客户端能够通过 'stdio' 或其他配置的传输协议与服务器建立连接。
-
使用 MCP 客户端调用工具
MCP 客户端连接成功后,即可通过客户端提供的 API 调用 LLM Gateway MCP 服务器暴露的工具,例如:
from mcp.client import Client async def main(): client = Client("http://localhost:8000") # 客户端连接 MCP 服务器 # 调用 generate_completion 工具生成文本 completion_response = await client.tools.generate_completion( prompt="请总结一下这篇文章的主要内容。", provider="openai", model="gpt-4o-mini" ) print(completion_response['text']) await client.close() if __name__ == "__main__": asyncio.run(main())更多工具的使用方法,请参考仓库 README.md 中的 "Usage Examples" 部分。
信息
分类
AI与计算