MCP代理模板仓库
这个仓库提供了一个即开即用的模板,用于构建和运行代理(或智能体) LangChain(朗链,但通常直接音译为“朗链”或保持原英文名,根据上下文确定具体译法) 和 FastMCP(可译为“快速多重共定位”或根据具体上下文可能译为其他更贴切的名称,但此处保持原英文缩写形式以体现专业术语)。\ 它包括:
- 用于配置和运行MCP服务器的框架。
- 用于代理交互的命令行界面(CLI)客户端。
- 一个基于Flask的Web用户界面,支持流式响应和工具追踪。
- 提供样板文件和环境变量配置,便于快速设置。
______________________________________________________________________
目录
______________________________________________________________________
文件夹结构
repo-root/
│
├── mcp/ # MCP servers and configuration
│ ├── mcp.config.json # Master config listing servers
│ ├── weather_server.py # Example server (OpenWeatherMap API)
│ ├── github_server.py # Example server (GitHub API)
│ ├── template.py # Boilerplate server template
│ └── init.py
│
├── cli-client/ # Command-line client
│ ├── cli.py # LangChain agent CLI
│ └── init.py
│
├── web-ui/ # Flask web client
│ ├── webui.py # Flask app with SSE streaming
│ ├── templates/
│ │ └── index.html # Chat UI
│ └── static/
│ ├── style.css # Styles
│ └── app.js # Front-end logic
│
├── requirements.txt # Python dependencies
├── template.env # Environment variable template
├── .gitignore
└── README.md # Project documentation______________________________________________________________________
环境设置
- 复制提供的模板:
cp template.env .env打开 .env 文件并设置您的环境变量值。
必填变量与可选变量
要求:
OPENAI_API_KEY(或者ANTHROPIC_API_KEY(如果使用Anthropic模型)
FLASK_SECRET_KEY(任意随机字符串,用于会话加密)
推荐:
WEATHER_API_KEY用于天气服务器演示
GITHUB_TOKEN用于GitHub服务器演示(提高了速率限制)
可选/高级:
- 内存设置(
CLI_MEMORY,WEB_MEMORY等
- 系统提示设置(
CLI_SYSTEM_PROMPT,WEB_SYSTEM_PROMPT)
- 自定义模型选择(
OPENAI_MODEL,ANTHROPIC_MODEL)
参考 template.env 以获取变量的完整列表及其用途。
配置MCP服务器
MCP服务器在……中定义 mcp/mcp.config.json。 每个条目都指定了如何启动服务器:
{
"servers": {
"weather": {
"transport": "stdio",
"command": "python",
"args": ["mcp/weather_server.py"],
"meta": {
"summary": "Weather tools via OpenWeatherMap",
"category": "demo"
}
}
}
}- 交通;运输通信方法(本地推荐使用stdio)。
- 命令可执行以运行。
- 参数参数(通常是服务器的.py文件)。
- 元(或目标、宗旨,具体含义需结合上下文)用于描述目的的元数据。
添加新服务器:
- 在mcp/目录下创建一个.py文件(你可以复制template.py作为模板)。
- 在mcp/mcp.config.json中注册它。
- 在 .env 文件中更新任何新增的必要变量。
使用命令行界面 (CLI)
CLI 客户端允许您在终端中与代理进行交互。
# Activate your environment
pip install -r requirements.txt
# Run the CLI
python cli-client/cli.py- 输入您的查询内容,然后按回车键。
- 代理决定何时调用MCP工具。
- 输入 exit 或 quit 以退出。
定制化:
更换为以下模型: OPENAI_MODEL(可译为“OpenAI模型”或根据上下文简化为“OpenAI模型名”,但通常直接保留为“OPENAI_MODEL”以指代特定模型名称) 或者 人类模型(或“类人模型”,具体翻译可能根据上下文有所调整) 在 .env 文件中。
启用或禁用内存 CLI_MEMORY 可以翻译为“命令行接口内存”或根据上下文简化为“CLI内存”.
使用 CLI系统提示符 设置系统指令。
使用网页界面
网页用户界面(Web UI)在您的浏览器中提供了一个聊天界面,支持流式传输和工具追踪功能。
# Activate your environment
pip install -r requirements.txt
# Run the web server
python web-ui/webui.py访问 http://127.0.0.1:5000。
特点:
- 流媒体: 启用后,可逐标记查看输出。
- 工具痕迹: 检查工具被调用的时间和方式。
- 重置内存: 一键清除对话状态。
- 系统提示: 通过 .env 文件配置以实现自定义行为。
