MCP LLM Bridge 是一个创新的桥接工具,用于连接 Model Context Protocol (MCP) 服务器和兼容 OpenAI API 的大语言模型。该项目实现了 MCP 和 OpenAI function calling 接口之间的双向协议转换,使得任何兼容 OpenAI API 的语言模型都能够通过标准化接口使用 MCP 工具。
- 协议转换: 将 MCP 工具规范转换为 OpenAI 函数模式
- 双向兼容: 支持 OpenAI API 和实现 OpenAI API 规范的本地端点
- 灵活集成: 可与多种 LLM 服务集成,包括 OpenAI、Ollama 和 LM Studio
MCP 是由 Anthropic 提出的一个标准协议,用于定义 AI 模型与外部工具和资源的交互方式。它包含三个核心概念:
-
Resources(资源):
- 定义模型可访问的外部数据和状态
- 提供标准化的数据访问接口
-
Prompts(提示):
- 定义模型的输入格式和上下文
- 支持动态参数和模板化
-
Tools(工具):
- 定义模型可以调用的函数和操作
- 提供标准化的工具调用接口
本项目通过以下方式实现 MCP 和 OpenAI API 的桥接:
-
协议转换层:
- MCP Tool → OpenAI Function Schema
- OpenAI Function Call → MCP Tool Execution
-
会话管理:
- 维护 MCP 服务器连接
- 处理 LLM API 调用
-
数据流转:
MCP Server ←→ Bridge ←→ LLM API
- 安装依赖:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/bartolli/mcp-llm-bridge.git
cd mcp-llm-bridge
uv venv
source .venv/bin/activate
uv pip install -e .
- 创建测试数据库:
python -m mcp_llm_bridge.create_test_db
- OpenAI 配置
创建 .env
文件:
OPENAI_API_KEY=your_key
OPENAI_MODEL=gpt-4 # 或其他支持工具调用的 OpenAI 模型
- Ollama 配置
llm_config=LLMConfig(
api_key="not-needed",
model="mistral-nemo:12b-instruct-2407-q8_0",
base_url="http://localhost:11434/v1"
)
- LM Studio 配置
llm_config=LLMConfig(
api_key="not-needed",
model="local-model",
base_url="http://localhost:1234/v1"
)
- 启动服务:
python -m mcp_llm_bridge.main
- 示例查询:
"What are the most expensive products in the database?"
mcp-llm-bridge/
├── src/ # 源代码
├── tests/ # 测试文件
├── References/ # MCP 相关文档
└── assets/ # 项目资源
-
添加新的 LLM 支持:
- 实现兼容的 API 接口
- 配置相应的 LLMConfig
-
自定义 MCP 工具:
- 在 src 目录下创建新的工具定义
- 实现工具的执行逻辑
运行测试套件:
python -m pytest
- MCP Resources Documentation
- MCP Prompts Documentation
- MCP Tools Documentation
- MCP Sampling Documentation
本项目采用 MIT 许可证。详见 LICENSE.md 文件。