Token导航 LogoToken导航TokenDH.com
Db Timetable API MCP Server logo
运维云端stdio官方级别未说明来源级核验

Db Timetable API MCP Server

MCP Server

一个连接AI代理与德国铁路时刻表API的MCP服务器,提供标准化协议访问德国铁路时刻表数据、实时更新和车站信息。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
C#VS Code实时数据VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

abeckDev

提供方

abeckDev

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

DB时间表API MCPServer

![.NET CI with Code Coverage](https://github.com/abeckDev/DB-TimetableAPI-MCPServer/actions/workflows/dotnet-ci.yml) ](https://github.com/abeckDev/DB-TimetableAPI-MCPServer/actions/workflows/docker-publish.yml) ![License: MIT](https://opensource.org/licenses/MIT) ![codecov](https://codecov.io/github/abeckDev/DB-TimetableAPI-MCPServer)

用于德国铁路API时间表集成的模型上下文协议(MCP)服务器

MCP服务器,将人工智能代理与德国铁路API时间表连接起来,通过标准化协议无缝访问德国铁路时刻表数据、实时更新和车站信息。

______________________________________________________________________

🎯 概述

DB时间表API MCPServer 是模型上下文协议(MCP)服务器的开源实现,与 德国铁路API时间表该项目作为中间件,获取、处理德国铁路时刻表数据,并将其提供给下游人工智能代理和客户端应用程序。

项目范围

此存储库侧重 专门 关于MCP服务器的实现。它不包括:

  • 时间表代理或客户端应用程序
  • 面向用户的界面(移动应用程序、网站)
  • MCP服务器本身之外的后端服务

MCP服务器充当标准化的桥梁,允许AI代理通过统一的协议与德国联邦铁路的时刻表数据进行交互。

______________________________________________________________________

🏗️ 建筑

下图说明了DB TimetableAPI MCPServer如何融入整体解决方案:

flowchart LR
    subgraph API["DB Timetable API"]
        DB[("Deutsche Bahn
Timetable API")]
    end
    
    subgraph Server["Timetable MCP Server
(This Repository)"]
        MCP["MCP Server
Implementation"]
        Tools["Offer Timetable
MCP Tools"]
        MCP --> Tools
    end
    
    subgraph Agent["Timetable Agent
(Not in Scope)"]
        TA["Timetable Agent
Orchestrator"]
    end
    
    subgraph Clients["Client Applications
(Not in Scope)"]
        Mobile["📱 Mobile Apps"]
        Web["🌐 Websites"]
        Phone["📞 Phone"]
    end
    
    DB -->|"API Auth"| MCP
    MCP -->|"Timetable Data"| Tools
    Tools -->|"Expose MCP Tools"| TA
    Mobile --> TA
    Web --> TA
    Phone --> TA
    
    style Server fill:#e1f5ff,stroke:#0288d1,stroke-width:3px
    style API fill:#f5f5f5,stroke:#666,stroke-width:2px
    style Agent fill:#fff3e0,stroke:#ff9800,stroke-width:2px
    style Clients fill:#fff3e0,stroke:#ff9800,stroke-width:2px

组件流程

  1. DB时间表API

- 德国铁路API的官方时间表 - 需要API身份验证 - 提供时刻表和实时列车数据

  1. 时间表MCP服务器 - 此存储库

- 使用DB API进行身份验证 - 获取和处理时间表数据 - 为代理提供标准化的MCP工具 - 实现模型上下文协议规范

  1. 时间表代理 (不在范围内)

- 使用此服务器上的MCP工具 - 协调请求和响应 - 与客户端应用程序的接口

  1. 客户端应用程序 (不在范围内)

- 移动应用程序、网站、语音助手等。 - 时刻表信息的最终用户界面

此存储库仅实现MCP服务器组件。

______________________________________________________________________

🤖 什么是模型上下文协议(MCP)?

模型上下文协议(MCP) 是Anthropic开发的一个开放标准,简化了AI代理与外部系统、工具和数据源的连接方式。将其视为“用于AI的USB-C”-一种通用连接器,消除了定制集成的需要。

关键概念

  • MCP主机:AI代理所在的环境(例如聊天机器人界面、IDE)
  • MCP客户端:将用户请求转换为MCP兼容消息的网桥
  • MCP服务器:执行操作和获取数据的后端服务(如本项目)

为什么选择MCP?

  • 标准化:一种将AI代理与任何数据源连接的协议
  • 模块化:跨不同AI应用程序工作的可重用服务器组件
  • 实时上下文:使AI代理能够访问其训练集之外的实时数据
  • 可扩展性:随着人工智能生态系统的发展,降低集成复杂性

有关更多信息,请访问 MCP官方文件.

______________________________________________________________________

✨ 特性

DB TimetableAPI MCPServer计划提供以下功能:

核心功能

  • 计划时间表访问:检索任何DB车站的预定到达和离开时间
  • 实时更新:访问实时延迟信息、取消和平台更改
  • 车站搜索:查找车站并检索详细的设施信息
  • 标准化MCP接口:通过MCP协议公开德国铁路数据

数据能力

  • 列车时刻表(IC、ICE、RE、区域列车)
  • 平台信息
  • 延迟状态和取消通知
  • 路线变更和服务中断
  • 车站元数据和设施
  • 历史和实时数据访问

______________________________________________________________________

📦 先决条件

在设置MCP服务器之前,请确保您拥有以下内容:

系统要求

  • .NET 9.0 SDK 或以后

- 下载自 dotnet.microsoft.com - 验证安装: dotnet --version

  • Node.js (推荐LTS版本)

- MCP Inspector调试工具所需 - 下载自 - 验证安装: node --versionnpm --version

  • Git 用于版本控制
  • Visual Studio Code (建议用于devcontainer支持)

- 安装 开发容器扩展 用于devcontainer支持

数据库API访问

您必须从德国铁路公司获得API证书:

  1. 访问 DB API市场
  2. 创建开发人员帐户
  3. 订阅 API时间表
  4. 生成API密钥
  5. 查看API服务条款和使用限制

备注:时间表API使用知识共享归因4.0(CC BY 4.0)许可证。确保您的用例符合这些条款。

______________________________________________________________________

🚀 安装

克隆存储库

git clone https://github.com/abeckDev/DB-TimetableAPI-MCPServer.git
cd DB-TimetableAPI-MCPServer

还原NuGet包

dotnet restore

构建项目

dotnet build

该项目应成功建成。如果你遇到任何问题,请确保你有。NET 9.0 SDK已安装。

使用Docker(推荐用于生产环境)

运行MCP服务器最简单的方法是使用Docker。预构建的映像会自动发布到GitHub容器注册表。

拉取并运行最新图像

# Pull the latest image from GitHub Container Registry
docker pull ghcr.io/abeckdev/db-timetableapi-mcpserver:latest

# Run the container with your API credentials
docker run -d \
  --name db-timetable-mcp \
  -p 3001:3001 \
  -e DeutscheBahnApi__ClientId="your-actual-client-id" \
  -e DeutscheBahnApi__ApiKey="your-actual-api-key" \
  -e DeutscheBahnApi__BaseUrl="https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/" \
  ghcr.io/abeckdev/db-timetableapi-mcpserver:latest

# Check if the container is running
docker ps

# View logs
docker logs db-timetable-mcp

MCP服务器可在以下网址访问 http://localhost:3001/mcp.

构建自己的Docker镜像

如果你更喜欢在本地构建Docker镜像:

# Build the image
docker build -t db-timetableapi-mcpserver:local .

# Run the container
docker run -d \
  --name db-timetable-mcp \
  -p 3001:3001 \
  -e DeutscheBahnApi__ClientId="your-actual-client-id" \
  -e DeutscheBahnApi__ApiKey="your-actual-api-key" \
  -e DeutscheBahnApi__BaseUrl="https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/" \
  db-timetableapi-mcpserver:local

Docker Compose

您还可以使用Docker Compose来简化管理。创建一个 docker-compose.yml 文件:

services:
  mcp-server:
    image: ghcr.io/abeckdev/db-timetableapi-mcpserver:latest
    container_name: db-timetable-mcp
    ports:
      - "3001:3001"
    environment:
      - DeutscheBahnApi__ClientId=your-actual-client-id
      - DeutscheBahnApi__ApiKey=your-actual-api-key
      - DeutscheBahnApi__BaseUrl=https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/
    restart: unless-stopped

然后运行:

docker compose up -d

Docker镜像标签

为了提高灵活性,图像标记了多个标识符:

  • latest -主分支的最新构建
  • main -与最新版本相同,跟踪主分支
  • main- -来自主分支的特定提交SHA(例如。, main-abc1234)

拉取特定版本的示例:

docker pull ghcr.io/abeckdev/db-timetableapi-mcpserver:main-a1b2c3d

______________________________________________________________________

⚙️ 配置

设置API凭据

MCP服务器需要德国铁路API凭证才能运行。您可以通过两种方式进行配置:

选项1:使用应用程序设置。developer.json(推荐用于本地开发)

  1. 导航到项目目录:
   cd AbeckDev.DbTimetable.Mcp
  1. 创建或编辑 appsettings.Development.json:
   {
     "Logging": {
       "LogLevel": {
         "Default": "Information",
         "Microsoft.AspNetCore": "Warning"
       }
     },
     "DeutscheBahnApi": {
       "BaseUrl": "https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/",
       "ClientId": "your-actual-client-id",
       "ApiKey": "your-actual-api-key"
     }
   }

⚠️ 备注:The appsettings.Development.json 文件已在 .gitignore 以防止意外提交您的凭据。

选项2:使用环境变量

您还可以使用环境变量配置服务器:

export DeutscheBahnApi__ClientId="your-actual-client-id"
export DeutscheBahnApi__ApiKey="your-actual-api-key"
export DeutscheBahnApi__BaseUrl="https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/"

对于Windows PowerShell:

$env:DeutscheBahnApi__ClientId="your-actual-client-id"
$env:DeutscheBahnApi__ApiKey="your-actual-api-key"
$env:DeutscheBahnApi__BaseUrl="https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/"

配置选项

以下配置选项在 DeutscheBahnApi 章节:

选项说明必填默认
BaseUrl德国铁路API时间表的基本URLhttps://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/
ClientId来自市场的DB API客户端ID-
ApiKey您的数据库API密钥来自市场-

API费率限制

请注意德国铁路API费率限制:

  • 公共端点:每秒最多60个请求
  • 经过身份验证的端点:因订阅层而异

在部署中配置适当的缓存和请求限制。

______________________________________________________________________

🎮 用法

启动MCP服务器

本地运行(命令行)

  1. 导航到项目目录:
   cd AbeckDev.DbTimetable.Mcp
  1. 运行服务器:
   dotnet run
  1. 服务器将启动并监听 http://0.0.0.0:3001

- MCP端点位于: http://localhost:3001/mcp

  1. 您应该看到类似于以下内容的输出:
   info: Microsoft.Hosting.Lifetime[14]
         Now listening on: http://0.0.0.0:3001
   info: Microsoft.Hosting.Lifetime[0]
         Application started. Press Ctrl+C to shut down.

使用VS代码任务

该项目包括预配置的VS Code任务,以便于开发:

  1. 在VS Code中打开项目
  2. Ctrl+Shift+B (或 Cmd+Shift+B 在macOS上)运行默认构建任务
  3. 使用 Terminal > Run Task... 访问其他任务:

- build-solution:构建整个解决方案 - run-mcp-server:运行MCP服务器 - build-and-run-server:按顺序构建和运行服务器

调试MCP服务器

MCP服务器可以使用 MCP检查员,模型上下文协议服务器的可视化调试工具。

使用VS代码进行调试(推荐)

存储库包括一个预配置的调试启动配置:

  1. 安装MCP检查器 (如果尚未安装):
   npm install -g @modelcontextprotocol/inspector
  1. 配置API凭据appsettings.Development.json 如配置部分所述
  1. 在VS Code中打开项目
  1. 启动调试:

- 按 F5 或前往 Run > Start Debugging - 选择“使用检查器(HTTP)调试MCP服务器”配置 - 这将: - 构建解决方案 - 在端口3001上启动MCP服务器 - 在端口6274上启动MCP检查器 - 在浏览器中自动打开检查器UI

  1. 使用MCP检查器:

- Inspector提供了一个基于web的界面,用于与您的MCP服务器进行交互 - 测试可用工具(GetStationBoard、GetStationChanges等) - 实时查看请求和响应 - 调试MCP实现的问题

手动调试设置

如果您希望单独运行组件:

  1. 启动MCP服务器 在一个终端中:
   cd AbeckDev.DbTimetable.Mcp
   dotnet run
  1. 启动MCP检查器 在另一个终端中:
   npx @modelcontextprotocol/inspector --transport http --server-url http://localhost:3001/mcp
  1. 打开检查器 在浏览器中:

- 检查器将输出一个URL,如下所示: http://localhost:6274 - 在浏览器中打开此URL以访问调试界面

测试服务器

服务器运行后,您可以使用MCP检查器对其进行测试:

  1. 列出可用工具:

- 在MCP检查器中,单击“列出工具”以查看所有可用的MCP工具 - 您应该看到: get_station_board, get_recent_station_changes, get_full_station_changes, get_station_information, find_train_connections

  1. 测试get_station_information:

- 选择 get_station_information 工具 - 输入车站名称,如“法兰克福”或“柏林” - 点击“调用工具”执行 - 查看带有站点信息的XML响应

  1. 测试get_station_board:

- 选择 get_station_board 工具 - 输入EVA站编号(例如。, 8000105 法兰克福中央火车站) - 可选地以格式提供日期/时间 yyyy-MM-dd HH:mm - 点击“呼叫工具”查看到达和离开

与AI代理集成

要将此MCP服务器与AI代理或客户端应用程序集成:

  1. 连接到MCP端点: http://localhost:3001/mcp
  2. 使用HTTP传输 如本实现中配置的
  3. 可用工具:

- get_station_board:检索车站的出发和到达情况。 - get_recent_station_changes:获取最近的更改(延迟、取消)。 - get_full_station_changes:获取一个车站的所有时刻表更改。 - get_station_information:搜索电台信息。 - find_train_connections:查找并评估具有延误信息的两个车站之间的列车连接。

对于生产部署,请考虑:

  • 使用带有正确SSL证书的HTTPS
  • 实施速率限制和缓存
  • 添加身份验证/授权
  • 在反向代理后部署

______________________________________________________________________

🐳 使用DevContainers进行开发

该项目包括VS Code的完整DevContainer配置,提供了一个预先安装了所有必需工具的一致开发环境。

什么是DevContainer?

DevContainers(开发容器)允许您将Docker容器用作功能齐全的开发环境。这确保了:

  • 所有团队成员的一致开发环境
  • 无需安装。NET、Node.js或其他本地工具
  • 不影响本地系统的隔离环境
  • 预先配置了所有必要的扩展和工具

DevContainers的先决条件

  • Docker 桌面版 已安装并正在运行

- Windows/macOS - Linux

  • Visual Studio Code 随着 开发容器扩展

- 从以下位置安装: 开发容器扩展

在DevContainer中打开项目

  1. 克隆存储库 (如果你还没有):
   git clone https://github.com/abeckDev/DB-TimetableAPI-MCPServer.git
   cd DB-TimetableAPI-MCPServer
  1. 在VS代码中打开:
   code .
  1. 在容器中重新打开:

- VS Code应检测 .devcontainer 配置 - 将出现一条通知:“文件夹包含开发容器配置文件” - 点击 “在容器中重新打开” - 或者,按 F1 并选择 “开发容器:在容器中重新打开”

  1. 等待容器构建:

- 第一次构建容器需要几分钟的时间 - 集装箱包括: - .NET 9.0 SDK - Node.js LTS - Azure命令行界面 - MCP检查器(自动安装) - 所有必要的VS代码扩展

  1. 开始开发:

- 容器准备就绪后,您可以立即开始编码 - VS Code中的所有终端都将在容器内运行 - 项目将自动恢复并准备构建

DevContainer功能

DevContainer配置了:

  • 基本图像: mcr.microsoft.com/devcontainers/dotnet:1-9.0-bookworm
  • 已安装的工具:

- .NET 9.0 SDK - Node.js LTS - Azure命令行界面 - MCP检查器(通过npm)

  • VS代码扩展:

- C#开发工具包 - C#扩展 - Azure CLI扩展 - GitHub Copilot(如果可用) - GitHub操作扩展 - VS Code 图标

  • 端口转发:

- 端口3001:MCP服务器 - 端口6274:MCP检查员 - 端口6277:MCP检查器代理

在DevContainer中配置API凭据

在DevContainer中打开项目后:

  1. 创建 AbeckDev.DbTimetable.Mcp/appsettings.Development.json 使用您的凭据:
   {
     "Logging": {
       "LogLevel": {
         "Default": "Information",
         "Microsoft.AspNetCore": "Warning"
       }
     },
     "DeutscheBahnApi": {
       "BaseUrl": "https://apis.deutschebahn.com/db-api-marketplace/apis/timetables/v1/",
       "ClientId": "your-actual-client-id",
       "ApiKey": "your-actual-api-key"
     }
   }
  1. 开始调试 F5 如调试部分所述

使用DevContainers的好处

一致性:团队中的每个人都使用完全相同的开发环境 ✅ 快速设置:新的贡献者可以在几分钟内开始编码 ✅ 隔离:开发环境不会干扰您的本地系统 ✅ 预配置:所有工具、扩展和设置都已准备好使用 ✅ 可重复性:环境可以与代码一起进行版本控制

______________________________________________________________________

🔧 MCP工具和功能

服务器公开了以下MCP工具,供人工智能代理与德国铁路API时间表交互:

1.GetStationBoard

描述:获取特定车站的站牌(出发和到达)。

参数:

  • evaNo (必填):EVA站号(例如。, 8000105 法兰克福中央火车站)
  • dateTime (可选):日期和时间格式 yyyy-MM-dd HH:mm (UTC)。将当前时间留空。

退货:包含列车时刻表的XML数据,包括:

  • 列车编号和类别(ICE、IC、RE等)
  • 出发/到达时间
  • 平台
  • 目的地/出发地
  • 列车路径

示例:

{
  "evaNo": "8000105",
  "dateTime": "2025-11-05 18:30"
}

2.GetRecentStation更改

描述:获取特定车站的所有当前更改(延迟、取消、站台更改)。数据仅包括过去2分钟内已知的变化。

参数:

  • evaNo (必填):EVA站号

退货:最近更改的XML数据,包括:

  • 延误
  • 取消
  • 平台变更
  • 其他实时更新

示例:

{
  "evaNo": "8000105"
}

3.GetFullStation更改

描述:获取特定火车站的完整时刻表更改。这些数据包括从现在到无限期未来的所有已知变化。一旦更改过时(因为它们的行程离开车站),它们就会被删除。

参数:

  • eventNo (必填):列车事件的事件编号(EVA编号)

退货:具有事件全面变更历史的XML数据

示例:

{
  "eventNo": "1234567890"
}

4.GetStation信息

描述:获取车站信息。

参数:

  • pattern (必填):站名(前缀)、EVA编号、DS100/RL100代码或通配符(*).

- 注意:在电台名称中使用变音效果不佳 - 示例: "Frankfurt", "8000105", "*"

退货:带有站点信息的XML数据,包括:

  • 车站名称
  • EVA编号
  • 位置坐标
  • 可用设施
  • 车站代码

示例:

{
  "pattern": "Frankfurt"
}

5.查找列车连接

描述:查找并评估两个车站之间的列车连接。该综合工具可验证车站名称,查找车站之间运行的所有列车,检查当前的延误和中断情况,并提供排名的连接选项和建议。

参数:

  • stationA (必填):起始站名称或EVA编号(例如。, "Frankfurt Hbf""8000105")
  • stationB (必填):目的站名称或EVA编号(例如。, "Berlin Hbf""8011160")
  • dateTime (可选):日期和时间格式 yyyy-MM-dd HH:mm (UTC)。将当前时间留空。

退货:一份综合分析报告,包括:

  • 使用EVA编号验证的电台名称
  • 可用列车连接列表
  • 出发时间(计划和实际)
  • 平台信息
  • 当前延迟和延迟持续时间
  • 取消状态
  • 服务信息和中断
  • 最佳连接建议

示例:

{
  "stationA": "Frankfurt Hbf",
  "stationB": "Berlin Hbf",
  "dateTime": "2025-11-06 14:30"
}

示例输出:

=== Train Connection Analysis ===

Step 1: Resolving station 'Frankfurt Hbf'...
  ✓ Found: Frankfurt(Main)Hbf (EVA: 8000105)

Step 2: Resolving station 'Berlin Hbf'...
  ✓ Found: Berlin Hbf (EVA: 8011160)

Step 3: Fetching departures from Frankfurt(Main)Hbf...
  ✓ Timetable retrieved

Step 4: Checking for delays and disruptions at Frankfurt(Main)Hbf...
  ✓ Recent changes retrieved

Step 5: Finding trains from Frankfurt(Main)Hbf to Berlin Hbf...
  ✓ Found 3 connection(s)

=== Available Connections ===

Option 1: ICE 1234
  Departure: 14:30 from Frankfurt(Main)Hbf
  Platform: 7
  ✓ On time
  Destination: Berlin Hbf

Option 2: ICE 5678
  Departure: 15:30 from Frankfurt(Main)Hbf
  Platform: 9
  ⚠ Originally scheduled: 15:25
  ⚠ Delay: +5 minutes
  Destination: Berlin Hbf

=== Recommendation ===
✓ Best option: ICE 1234 at 14:30 - On time

通用EVA站编号

以下是一些常用的EVA测试站编号:

车站EVA编号
法兰克福中央火车站8000105
柏林中央火车站8011160
慕尼黑中央火车站8000261

汉堡中央火车站 8002549 | 科隆中央火车站 | 8000207 | 德累斯顿中央火车站 8010085

您可以使用 GetStationInformation 具有站名模式的工具。

______________________________________________________________________

🧪 测试

在本地运行测试

该项目包括具有代码覆盖率跟踪的全面单元测试。

运行所有测试

# Navigate to the project directory
cd DB-TimetableAPI-MCPServer

# Run all tests
dotnet test

使用代码覆盖率运行测试

# Run tests and collect coverage data
dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults

# Generate HTML coverage report (requires reportgenerator tool)
dotnet tool install --global dotnet-reportgenerator-globaltool
reportgenerator -reports:"TestResults/**/coverage.cobertura.xml" -targetdir:"TestResults/CoverageReport" -reporttypes:"Html;TextSummary"

# View coverage summary
cat TestResults/CoverageReport/Summary.txt

# Open HTML report in browser
# The report will be at: TestResults/CoverageReport/index.html

测试结构

测试项目(AbeckDev.DbTimetable.Mcp.Test)包括:

  • ConfigurationTests.cs:配置模型验证测试
  • TimeTableServiceTests.cs:API服务层测试,使用模拟HTTP响应
  • 时间表工具测试cs:MCP刀具包装器的错误处理测试

覆盖目标

  • 当前覆盖范围:78.3%的线路覆盖率
  • 目标:70%以上的线路覆盖率(在CI/CD中强制执行)
  • 核心业务逻辑:100%覆盖(服务、工具、型号)

贡献者测试指南

在贡献代码时,请:

  1. 编写测试:为任何新功能添加单元测试
  2. 模拟外部依赖关系:使用Moq模拟HTTP客户端和外部服务
  3. 测试错误场景:包括成功和失败案例的测试
  4. 保持覆盖范围:确保您的更改不会使总体覆盖率降至70%以下
  5. 在本地运行测试:在提交PR之前,验证所有测试是否通过

示例测试模式:

[Fact]
public async Task MethodName_WithCondition_ExpectedBehavior()
{
    // Arrange
    var mockService = new Mock();
    mockService.Setup(s => s.MethodAsync(...)).ReturnsAsync(...);
    
    // Act
    var result = await service.MethodAsync(...);
    
    // Assert
    Assert.Equal(expectedValue, result);
}

持续集成

所有pull请求都会自动运行:

  • ✅ 构建验证
  • ✅ 所有单元测试
  • ✅ 代码覆盖率分析
  • ✅ 覆盖阈值检查(最低70%)
  • ✅ Docker镜像构建验证

覆盖率报告可作为工作流工件提供。

持续部署

当更改被推送到 main 分支:

  • ✅ Docker镜像是自动构建的
  • ✅ 图像标记有多个标识符(最新、主要、提交SHA)
  • ✅ 图片发布到GitHub容器注册表(ghcr.io)
  • ✅ 图片可在以下网址公开访问 ghcr.io/abeckdev/db-timetableapi-mcpserver

Docker镜像包括:

  • 多阶段构建,优化尺寸
  • Debian Bookworm上的.NET 9.0运行时环境(精简版本)
  • 非root用户,增强安全性
  • 健康检查端点
  • 适当的端口暴露(3001)

______________________________________________________________________

🤝 贡献

我们欢迎社区的贡献!

请随时打开问题或提供PR。

______________________________________________________________________

📄 许可证

该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。

第三方许可证

  • 德国铁路API时间表:根据知识共享署名4.0(CC BY 4.0)许可
  • 模型上下文协议:Anthropic的开放标准

使用此软件时,请确保遵守所有适用的许可证和服务条款。

______________________________________________________________________

📚 资源

官方文件

相关项目

______________________________________________________________________

🙏 致谢

  • 德国铁路 用于提供API时间表
  • Anthropic 用于开发模型上下文协议

目录标签

目录标签

C#VS Code实时数据铁路时刻表本地部署MCP服务器AI集成德国铁路

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP