LLM Gateway MCP Server

LLM Gateway MCP Server

site icon
2025.04.09 0
PythonAI任务委派成本优化多模型集成开发效率
LLM Gateway MCP Server 是一个基于模型上下文协议(MCP)的服务器,旨在实现从高能力AI代理(如Claude 3.7 Sonnet)到成本效益更高的LLM(如Gemini Flash 2.0 Lite)的智能任务委派。它提供了一个统一的接口,支持多个大型语言模型(LLM)提供商,同时优化成本、性能和质量。
View on GitHub

Overview

产品定位

LLM Gateway MCP Server 是一个专为AI代理设计的任务委派服务器,通过智能路由和优化,实现高效、经济的AI任务处理。

核心功能

  1. MCP协议集成
  2. 原生MCP服务器,支持AI代理集成
  3. 所有功能通过标准化的MCP工具暴露
  4. 支持工具组合和发现

  5. 智能任务委派

  6. 任务路由和提供商选择
  7. 成本-性能平衡
  8. 委派跟踪

  9. 高级缓存

  10. 多级缓存策略(精确匹配、语义相似、任务感知)
  11. 持久化缓存
  12. 缓存分析

  13. 文档工具

  14. 智能分块(基于令牌、语义边界、结构分析)
  15. 文档操作(摘要、实体提取、问题生成、批量处理)

  16. 结构化数据提取

  17. JSON提取(带模式验证)
  18. 表格提取
  19. 键值对提取
  20. 语义模式推断

  21. 锦标赛模式

  22. 代码和文本竞赛
  23. 多模型比较
  24. 性能指标评估
  25. 结果存储

  26. 高级向量操作

  27. 语义搜索
  28. 向量存储
  29. 混合搜索(关键字+语义)
  30. 批量处理

适用场景

  1. AI代理编排:高级AI代理(如Claude 3.7)委派常规任务给成本更低的模型
  2. 企业文档处理:大规模文档的高效处理(分块、摘要、实体提取)
  3. 研究与分析:研究论文处理、结构化信息提取、模型比较
  4. 模型基准测试与选择:运行模型竞赛,生成性能指标

工具列表

  1. 文档分块工具:将大文档分割为语义上有意义的小块
  2. 文档摘要工具:生成文档摘要,支持多种格式
  3. 实体提取工具:从文本中提取特定类型的实体
  4. JSON提取工具:从文本中提取结构化JSON数据
  5. 多完成工具:从多个提供商获取相同提示的完成结果
  6. 优化工作流工具:执行多步骤工作流,优化模型选择
  7. 锦标赛工具:运行模型竞赛,比较输出
  8. RAG查询工具:基于检索的生成,提高事实准确性
  9. 本地文本处理工具:离线文本操作(清理、格式化)
  10. 工具列表工具:动态发现可用工具

常见问题解答

  1. 如何配置API密钥?
  2. .env文件中设置各提供商的API密钥

  3. 如何启用缓存?

  4. 设置CACHE_ENABLED=true,并可配置缓存类型和TTL

  5. 如何优化成本?

  6. 使用智能路由将适当任务委派给更便宜的模型
  7. 启用高级缓存避免冗余API调用

  8. 如何扩展新的LLM提供商?

  9. 服务器采用可扩展架构,可添加新的提供商集成

使用教程

使用依赖

# 安装uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh

安装教程

# 克隆仓库
git clone https://github.com/yourusername/llm_gateway_mcp_server.git
cd llm_gateway_mcp_server

# 使用uv创建venv并安装
uv venv --python 3.13
source .venv/bin/activate
uv pip install -e ".[all]"

环境设置

创建.env文件并配置API密钥:

# API密钥(至少需要一个提供商)
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_PORT=8013
SERVER_HOST=127.0.0.1

# 日志配置
LOG_LEVEL=INFO
USE_RICH_LOGGING=true

# 缓存配置
CACHE_ENABLED=true
CACHE_TTL=86400

运行服务器

# 启动MCP服务器
python -m llm_gateway.cli.main run

# 或使用Docker
docker compose up

调试方式

服务器运行后,可通过以下方式测试:

  1. 使用MCP客户端连接服务器
  2. 调用工具接口进行测试
  3. 检查日志输出(日志级别可设置为DEBUG以获取更详细信息)

示例调试命令(Python):

import asyncio
from mcp.client import Client

async def test_connection():
    client = Client("http://localhost:8013")
    response = await client.tools.list_tools()
    print(response)
    await client.close()

asyncio.run(test_connection())

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。