Skip to main content
Glama
jorekai

DB Timetable MCP Server

by jorekai

铁匠徽章

DB 时刻表 MCP 服务器

德国铁路时刻表 API 的模型上下文协议 (MCP) 服务器。该服务器提供 MCP 工具和资源来访问时刻表数据、车站信息和列车变更。

命名义务:

该项目提供德国铁路时刻表数据,根据知识共享署名 4.0 国际许可协议 (CC BY 4.0)向公众开放。

有关 API 和许可条件的更多信息,请访问developers.deutschebahn.com 。 API 请求受许可条款的约束。

功能

  • 当前时刻表:检索车站的当前时刻表数据

  • 时间表变更:跟踪最新变更

  • 计划时间表:访问特定时间的计划时间表数据

  • 车站搜索:按名称或代码搜索火车站

Related MCP server: DevDb MCP Server

要求

  • Node.js 18 或更高版本

  • DB 时间表 API 的 API 凭证(客户端 ID 和客户端密钥)

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd db-mcp
  2. 安装依赖项:

    npm install
  3. 编译 TypeScript 代码:

    npm run build

配置

在项目根目录中创建一个.env文件,其中包含以下环境变量:

DB_TIMETABLE_CLIENT_ID=deine-client-id
DB_TIMETABLE_CLIENT_SECRET=dein-client-secret
TRANSPORT_TYPE=stdio
PORT=8080
SSE_ENDPOINT=/sse
LOG_LEVEL=info

配置选项

  • DB_TIMETABLE_CLIENT_ID :DB API 的客户端 ID(必需)

  • DB_TIMETABLE_CLIENT_SECRET :DB API 的客户端密钥(必需)

  • TRANSPORT_TYPE :MCP 服务器的传输类型( stdiosse ,默认值: stdio

  • PORT :SSE 服务器的端口(默认值: 8080

  • SSE_ENDPOINT :SSE 连接的端点(默认值: /sse

  • LOG_LEVEL :日志级别( debuginfowarnerror ,默认值: info

使用

启动服务器

在 stdio 模式下(用于 CLI 测试和调试):

npm start

在 SSE 模式下(针对 Web 客户端):

TRANSPORT_TYPE=sse npm start

使用检查模式进行测试

可以使用 FastMCP Inspector 测试服务器:

npx fastmcp inspect path/to/index.js

MCP 工具

该服务器提供以下工具:

  1. getCurrentTimetable :检索车站的当前时刻表数据

    • 参数: evaNo - 车站的 EVA 编号(例如法兰克福 Hbf 的 EVA 编号为 8000105)

  2. getRecentChanges :检索电台的最近更改

    • 参数: evaNo - 车站的 EVA 编号(例如法兰克福 Hbf 的 EVA 编号为 8000105)

  3. getPlannedTimetable :检索车站的计划时刻表数据

    • 范围:

      • evaNo - 车站的 EVA 编号(例如法兰克福 Hbf 的 EVA 编号为 8000105)

      • date - YYMMDD 格式的日期(例如 230401 表示 01.04.2023)

      • hour - HH 格式的小时(例如 14 表示下午 2 点)

  4. findStations :使用搜索模式搜索车站

    • 参数: pattern - 搜索模式(例如“Frankfurt”或“BLS”)

MCP 资源

服务器提供以下资源:

  1. 当前时间表数据db-api:timetable/current/{evaNo}

  2. 当前时间表变更db-api:timetable/changes/{evaNo}

  3. 计划时间表数据db-api:timetable/planned/{evaNo}/{date}/{hour}

  4. 站点搜索db-api:station/{pattern}

发展

项目结构

db-mcp/
├── src/
│   ├── api/             # API-Client und Typen
│   ├── tools/           # MCP-Tools
│   ├── resources/       # MCP-Ressourcen
│   ├── utils/           # Hilfsfunktionen
│   ├── config.ts        # Konfiguration
│   └── index.ts         # Haupteinstiegspunkt
├── dist/                # Kompilierte Dateien
├── .env                 # Umgebungsvariablen
├── package.json
├── tsconfig.json
└── README.md

NPM 脚本

  • npm run build :编译 TypeScript 代码

  • npm start :启动服务器

  • npm run dev :以开发模式启动服务器并自动重新加载

  • npm test :运行测试

可扩展性

潜在的扩展

  1. 数据处理和丰富

    • 语义时间表数据处理:将 XML 转换为具有语义丰富的结构化 JSON

    • 延误和中断的历史数据分析

    • 多式联运连接的整合

  2. 先进的 MCP 工具

    • 站间路线规划

    • 基于人工智能的延误和容量预测

    • 出行中断分析

    • 车站和连接点的无障碍检查

执照

MCP 服务器: MIT 许可证

DB 时刻表 API:知识共享署名 4.0 国际许可证

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jorekai/db-timetable-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server