时间-MCP
一个可以通过简单聊天界面访问的代理型AI系统,它通过调用时间API工具回答与时间相关的问题,并使用大型语言模型回答一般性问题。
服务介绍
time-mcp
一个使用工具增强的LLM流水线来回答与时间相关和一般问题的最简代理AI系统。
特性
- Flask API: 提供当前时间戳。
- MCP Agent Server: 推理代理,用于检测用户意图、调用工具(如时间API)、设计提示,并通过OpenRouter(兼容OpenAI的API)与LLM交互。
- Streamlit UI: 一个简单的聊天界面,用于与AI代理进行对话。
设置
1. 克隆并安装依赖项
bash
pip install -r requirements.txt
2. 环境变量
设置您的OpenRouter API密钥(从 https://openrouter.ai 获取):
bash
export OPENROUTER_API_KEY=sk-...your-key...
3. 运行服务器
打开三个终端(或使用后台进程):
终端1: Flask Time API
bash
python flask_api.py
终端2: MCP Agent Server
bash
python mcp_server.py
终端3: Streamlit UI
bash
streamlit run streamlit_ui.py
Streamlit UI将在您的浏览器中打开(默认:http://localhost:8501)
使用
- 在Streamlit UI中向代理询问任何问题。
- 如果您询问关于时间的问题(例如,“现在几点了?”),代理将调用Flask API获取当前时间,并使用LLM生成自然流畅的回答。
- 对于其他问题,代理将仅使用LLM进行回答。
架构
[Streamlit UI] → [MCP Agent Server] → [工具(例如,时间API)]
↓
[通过OpenRouter的LLM]
- MCP代理检测意图,按需调用工具,设计提示,并将其发送给LLM。
- 可轻松扩展以添加更多工具(只需在
MCPAgent类中添加)。
自定义
- 添加更多工具:在
MCPAgent中实现新方法,并更新self.tools。 - 改进意图检测:扩展
MCPAgent中的detect_intent()。 - 更改LLM模型:更新
call_llm()中的model字段。
要求
- Python 3.7+
- 查看
requirements.txt了解依赖项。
致谢
- 使用Flask、Streamlit、OpenRouter和Python构建。
- 受到代理型LLM设计模式的启发。