MCP供应商生态系统
一个模块化的、与供应商无关的模型上下文协议(MCP)生态系统,允许通过标准化的MCP服务器无缝连接到不同的AI和公用事业服务。
🏗️ 架构概述
mcp-vendors/
├── openai_server/ # OpenAI GPT and embedding services
├── groq_server/ # Groq-accelerated inference
├── local_llama_server/ # Local quantized LLaMA models
├── utility_server/ # Non-AI tools (search, weather)
├── orchestrator/ # Central router and connector
└── config/ # Global configuration files🧩 核心设计原则
- 模块化服务器:每个供应商都使用FastMCP独立运行
- 解耦配置:通过配置动态发现服务器
- LLM不可知论:轻松添加新的AI提供商
- 可组合逻辑:工具可以嵌入高级推理流程
- 轻量级界面:通过MCP装饰器的自描述工具
- 安全配置:基于环境的凭证管理
🚀 快速开始
1.安装依赖项
# Install for all servers
pip install fastmcp python-dotenv
# Server-specific dependencies
cd openai_server && pip install -r requirements.txt
cd groq_server && pip install -r requirements.txt
cd local_llama_server && pip install -r requirements.txt
cd utility_server && pip install -r requirements.txt2.配置环境变量
创建一个 .env 项目根目录中的文件具有以下键:
# OpenAI Configuration (required for openai_server)
OPENAI_API_KEY=your-openai-api-key-here
OPENAI_MODEL=gpt-4
OPENAI_EMBEDDING_MODEL=text-embedding-ada-002
# Groq Configuration (required for groq_server)
GROQ_API_KEY=your-groq-api-key-here
GROQ_MODEL=llama-3.1-8b-instant
# Local LLaMA / Ollama Configuration (required for local_llama_server)
MODEL_PATH=/path/to/your/local/model
MODEL_TYPE=llama
DEVICE=cpu
MAX_TOKENS=2048
OLLAMA_MODEL=tinyllama
OLLAMA_BASE_URL=http://localhost:11434
# Utility Services Configuration (required for utility_server)
WEATHER_API_KEY=your-openweathermap-api-key-here
WEATHER_BASE_URL=https://api.openweathermap.org/data/2.5
# Orchestrator Configuration (optional)
ORCHESTRATOR_HOST=localhost
ORCHESTRATOR_PORT=8000
LOG_LEVEL=INFO获取API密钥的位置:
| 密钥 | 提供者 | URL |
|---|---|---|
OPENAI_API_KEY | OpenAI | https://platform.openai.com/api-keys |
GROQ_API_KEY | Groq | https://console.groq.com/keys |
WEATHER_API_KEY | OpenWeatherMap | https://openweathermap.org/api |
当地电话/Ollama:
- 从以下位置安装Ollamahttps://ollama.com
- 拉一个模型:
ollama pull tinyllama - 集
OLLAMA_MODEL到要使用的模型名称 - Ollama一定在跑(
ollama serve)开始前local_llama_server
3.运行单个服务器
# OpenAI Server
cd openai_server && python server.py
# Groq Server
cd groq_server && python server.py
# Utility Server
cd utility_server && python server.py4.使用编排器
cd orchestrator && python orchestrator.py📋 服务器职责
| 服务器 | 用途 | 示例工具 |
|---|---|---|
openai_server | OpenAI GPT和嵌入 | openai_chat, openai_embed, list_models |
groq_server | Groq加速推理 | groq_chat, groq_embed |
local_llama_server | 本地/离线推理 | local_inference, local_embed |
utility_server | 非LLM公用事业 | web_search, get_weather |
orchestrator | 路由和发现 | 动态服务器管理 |
🔄 工作流示例
- 请求:用户/系统向编排器发送请求
- 发现:编排者阅读
config/mcp_servers.json - 路由:请求被路由到适当的MCP服务器
- 执行:工具通过执行
@mcp.tool装饰器 - 响应:向客户端返回统一响应
🛠️ 添加新服务器
- 按照模板创建新的服务器目录
- 实施
server.py使用FastMCP - 在中添加工具
tools/目录 - 更新
config/mcp_servers.json - 将环境变量添加到
.env
📚 文档
每台服务器都包含详细的文档:
- 设置和配置说明
- 带参数的工具参考
- 示例使用和集成
- 扩展指南
🔐 安全
- 存储在环境变量中的API密钥
- 源代码中没有硬编码凭据
- 每台服务器都在独立的进程中运行
- 可配置的访问控制
🤝 贡献
- 遵循既定的文件夹结构
- 使用FastMCP装饰器作为工具/资源
- 包含全面的文档字符串
- 添加新功能的测试
- 更新文档
📄 许可证
MIT许可证-有关具体的许可信息,请参阅各个服务器目录。
