使用说明
TfL MCP聊天机器人🚇
命令行人工智能旅行助手,通过模型上下文协议(MCP)包装器使用伦敦交通局(TfL)API检索实时伦敦地铁信息。
该项目演示了会话系统如何使用代理架构与现实世界的API进行交互,其中聊天机器人与MCP服务器通信,MCP服务器将传输数据作为可调用工具公开。
特性
聊天机器人目前支持:
- 检查伦敦地铁线路状态
- 检索下一列车到达时间
- 从自然语言中检测地铁线路和车站
- 使用MCP服务器包装器访问TfL数据
- 模块化Python后端架构
示例查询:
中心线状态
禧年线延迟了吗
牛津马戏团的下一班火车
下一班火车在滑铁卢
系统架构
该系统遵循代理架构:
User
↓
CLI Chatbot (Python)
↓
Intent Detection (utils)
↓
Service Layer (services)
↓
MCP Client
↓
MCP Server (Node.js)
↓
Transport for London API
↓
Live Transport Data
该架构演示了AI系统如何通过基于MCP的工具而不是直接的REST调用与API进行交互。
项目结构
tfl-mcp-chatbot/
│
├── chatbot.py
├── README.md
├── requirements.txt
├── .gitignore
│
├── config/
│ └── stations.py
│
├── services/
│ ├── arrivals.py
│ ├── line_status.py
│ └── mcp_client.py
│
├── utils/
│ └── detect.py
│
├── tests/
│ └── api_test.py
│
├── docs/
│ ├── Screenshots/
│ └── Report.docx
│
└── london-tfl-journey-status-mcp-server/
使用的技术
- python
- Node.js
- 模型上下文协议(MCP)
- 伦敦交通API
- Git
- GitHub
安装
克隆存储库:
git clone https://github.com/Ruwi2002/tfl-mcp-chatbot.git
导航到项目文件夹:
cd tfl-mcp-chatbot
安装Python依赖项:
pip install -r requirements.txt
运行MCP服务器
导航到MCP服务器文件夹:
cd london-tfl-journey-status-mcp-server
安装依赖项:
npm install
启动MCP服务器:
npm start
运行聊天机器人
返回到项目根目录并运行:
python chatbot.py
示例会话:
You: central line status
Bot: The Central line currently has Good Service.
You: next train at oxford circus
Bot: Next Central line train arrives in 2 minutes.
类型 exit 停止聊天机器人。
未来改进
- 车站间行程规划
- 基于Web的聊天机器人界面
- 基于LLM的自然语言理解
- 多线服务概述
- 实时中断警报
项目目的
该项目是作为大学最后一年项目的一部分开发的,该项目探索了会话式人工智能系统如何使用模型上下文协议(MCP)与现实世界的API进行交互。
该原型演示了如何通过MCP工具访问传输数据,并通过对话界面呈现给用户。
许可证
该项目旨在用于教育和研究目的。