MCP 多服务器客户端,搭配 Together AI
一个用于构建的起始模板 模型上下文协议(MCP) 由……驱动的客户端 Together AI(可译为“共智AI”或根据具体语境调整为更贴切的表述) 推理服务。本项目展示了如何连接多个MCP服务器,并使用开源大型语言模型(LLM)与它们进行交互。
🎯 这是什么?
这个仓库提供了一个 干净、可直接投入生产的启动模板 对于:
- 构建可与任何MCP服务器协同工作的MCP客户端
- 使用Together AI的推理API(而非Claude/GPT)
- 同时管理多个MCP服务器
- 创建命令行界面(CLI)和网页用户界面(Web UI)
🏗️ 建筑学
该项目遵循一个 微服务模式 包含三个核心组件:
mcp-client/
├── llm_service.py # LLM inference (Together AI)
├── mcp_manager.py # MCP server management
├── streamlit_ui.py # Web interface
├── cli_app.py # CLI interface
└── requirements.txt # Dependencies组件:
- 大型语言模型服务通过Together AI处理所有大型语言模型(LLM)的推理任务
- MCP 管理器管理与多个MCP服务器的连接
- 指挥者(或编曲者,根据上下文具体含义可能有所不同)在LLM(大型语言模型)和MCP(多上下文处理)服务之间通过代理循环进行协调
🚀 快速入门
先决条件
- Python 3.8或更高版本
- Together AI API密钥(在这里获取一个)
- 一个MCP服务器(我们以Firecrawl为例)
安装
# Clone the repository
git clone
cd mcp-client
# Install dependencies
pip install -r requirements.txt运行Web用户界面
streamlit run streamlit_ui.py然后:
- 在侧边栏中输入您的Together AI API密钥
- 添加您的MCP服务器
- 点击“连接到服务器”
- 开始聊天吧!
运行命令行界面 (CLI)
python main.py🔧 配置 Firecrawl(示例)
我们使用 Firecrawl(可译为“火行者”或根据具体语境意译为其他名称,如“火焰爬行者”等) 作为网页抓取的MCP服务器示例。
选项1:使用Docker在本地运行Firecrawl
遵循 Firecrawl 贡献指南 在本地设置 Firecrawl:
# Clone and run Firecrawl
git clone https://github.com/firecrawl/firecrawl
cd firecrawl
docker-compose up这将启动Firecrawl http://localhost:3002
选项2:使用npx运行Firecrawl MCP服务器
最简单的方法是使用 Firecrawl MCP 服务器:
在用户界面中:
- 服务器名称:
firecrawl-local - 命令:
npx - 参数:
-y firecrawl-mcp - 环境变量:
{
"FIRECRAWL_API_KEY": "local-dev-key",
"FIRECRAWL_API_URL": "http://localhost:3002"
}✨ 特点
🤖 代理循环
大型语言模型(LLM)可以按顺序使用多个工具来回答复杂问题:
Query → Tool 1 → Analyze → Tool 2 → Analyze → Final Answer🔌 支持多服务器
同时连接到多个MCP服务器:
- 用于网页抓取的Firecrawl
- 自定义Python服务器
- 自定义 Node.js 服务器
- 任何兼容MCP的服务器
🎨 双接口
- Streamlit 用户界面视觉化、交互式界面
- CLI(Command Line Interface)的中文翻译是“命令行界面”基于终端的自动化
🔑 动态配置
- 实时添加/移除服务器
- 更改API密钥而无需更改代码
- 轻松切换模型
📦 项目结构
.
├── llm_service.py # Together AI integration
├── mcp_manager.py # MCP server management
├── streamlit_ui.py # Web interface
├── cli_app.py # CLI interface
├── requirements.txt # Python dependencies
├── ui.png # UI screenshot
└── README.md 🛠️ 添加新的MCP服务器
通过用户界面:
- 点击侧边栏中的“添加新服务器”
- 填写服务器详细信息(名称、命令、参数、环境变量)
- 点击“添加服务器”
- 点击“连接到服务器”
通过代码(命令行界面):
编辑 cli_app.py 并添加到 MCP_SERVERS 列表:
MCP_SERVERS = [
{
"name": "my-server",
"command": "python",
"args": ["path/to/server.py"],
"env": {"API_KEY": "your-key"}
},
]🧪 示例查询
一旦连接到Firecrawl:
"Scrape https://example.com and summarize it"
"Search the web for latest AI news"
"Map all URLs on example.com"
"Extract structured data from this webpage"🔑 配置
联合人工智能模型
可用模型(可在用户界面或代码中配置):
meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8(默认)meta-llama/Meta-Llama-3.1-8B-Instruct-Turbometa-llama/Meta-Llama-3.1-70B-Instruct-Turbo
环境变量
对于CLI(命令行界面)使用,请设置:
export TOGETHER_API_KEY="your-key-here"📚 了解更多
MCP Resources(公司名,可译为“MCP资源公司”)
Firecrawl 资源:
共同人工智能资源:
🤝 贡献(或:参与贡献)
这是一个初始模板——请随意:
- 添加更多MCP服务器
- 改进用户界面
- 添加新的大型语言模型(LLM)提供商
- 增强错误处理
- 添加测试
______________________________________________________________________
用爱心打造,作为MCP与Together AI集成的起始模板
