SEPTA MCP服务器(Python)
该存储库提供了一个模型上下文协议(MCP)服务器,该服务器将SEPTA的公共交通API作为结构化工具公开。它允许兼容MCP的客户端通过一致的界面获取有关公共汽车、电车、地铁和区域铁路的实时和预定信息。
安装
- 确保Python 3.11+可用。
- 安装软件包(如果您打算贡献,请使用可选的dev-extras):
pip install -e .[dev]- 通过控制台脚本启动服务器:
septa-mcp配置
配置由环境变量驱动 SEPTA_ 前缀:
SEPTA_BASE_URL(默认值:https://www3.septa.org/):所有SEPTA API请求的基本URL。SEPTA_TIMEOUT_SECONDS(默认值:10.0):HTTP请求超时(秒)。SEPTA_LOG_LEVEL(默认值:INFO):记录服务器的详细信息。SEPTA_API_KEY(可选):API密钥在需要时作为承载令牌传递。
可用工具
服务器注册以下工具(名称与MCP工具标识符匹配):
- 到达:即将到达的车站,有可选的方向和时间窗口。
- 下一个到达时间:出发地和目的地之间的下一个可用行程,带有可选的日期时间和旅行偏好。
- 列车视图:实时区域铁路列车数据,可按列车或线路过滤。
- transit_view:特定公交线路的实时车辆位置,具有缓存功能以限制重复请求。
- transition_view_all:所有公交线路的实时车辆位置,可选择短暂缓存。
- 巴士_行程:所有公交线路或特定线路的当前绕行路线。
- alerts_basic:基本服务警报,可选地仅限于一条路线。
- alerts_messages:详细的警报消息,可选择按路线或模式过滤。
- 电梯配件:全系统电梯停运信息。
- rr_时间表:起点和终点之间的区域铁路时刻表,可选日期时间。
- 巴士时刻表:通过SMS公交时刻表端点为车站/路线/方向安排公交行程。
- sms时间表:站点的SMS格式日程数据,带有可选的路线和方向过滤器。
- 停止:停止列出路线/方向或按站点id查找,可选路线规范化。
- 位置:基于纬度/经度和可选半径的附近站点或车站。
- gtfs_feed:可下载的GTFS馈送档案,如
google,google_bus,google_rail,或cct.
示例提示
使用自然语言触发客户端中的MCP工具。示例:
- “在接下来的20分钟内,显示30街站向东的到达情况。”
- “找到下午5点后从郊区站到特伦顿的下一班火车。”
- “列出17号线当前的公交绕行路线。”
- “获取路线47的TransitView数据并缓存响应。”
- “下载最新
google_railGTFS馈送。"
贡献
看 贡献.md 有关开发工作流程、风格、测试和CI期望的指导。
