关于 Yht Bilet Mcp Server
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
YHT Bilet MCP 服务
一个通过 TCDD API 搜索土耳其列车(YHT/高速列车)车票的模型上下文协议(MCP)服务。
使用 MCP TypeScript SDK 构建
✨ 功能
- 🚄 从 TCDD API 获取实时车票余量
- 🗺️ 站名到 ID 的映射 - 自动解析车站
- 📅 智能日期格式化 - 自动按 API 要求格式化日期(提前 1 天的 21:00)
- 👥 支持乘客人数 - 可搜索多名乘客的车票
- ♿ 轮椅无障碍筛选 - 可选择是否在结果中包含轮椅无障碍座位
- ✅ 使用 Zod 验证架构
- 🎯 筛选未来的列车 - 仅显示尚未发车的列车
- 📦 面向对象架构 - 代码简洁、易于维护和测试
📋 目录
🚀 快速开始
# 1. Clone the repository
git clone https://github.com/yourusername/yht-bilet-mcp.git
cd yht-bilet-mcp
# 2. Install dependencies
npm install
# 3. Create environment file
cp .env.example .env
# 4. Add your TCDD authorization token to .env
# (See "Getting Authorization Token" section below)
# 5. Build the project
npm run build
# 6. Add to Claude Desktop config (see Configuration section)
📦 安装
前提条件
- Node.js 18+
- npm 或 yarn
- Claude Desktop 或任何兼容 MCP 的客户端
步骤
1. 安装依赖
npm install
2. 设置环境变量
复制环境变量示例文件:
cp .env.example .env
3. 获取授权令牌
- 访问 TCDD E-Ticket Website
- 打开浏览器的开发者工具(F12)
- 转到 Network 标签页
- 搜索车票
- 找到
train-availability请求 - 从请求标头中复制
Authorization标头的值 - 将其粘贴到
.env文件中:
AUTH_TOKEN=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldU...
**注意:**授权令牌会在一段时间后过期。如果遇到身份验证错误,请获取新的令牌。
4. 构建项目
npm run build
🎮 使用方法
添加到 Claude Desktop
将该服务添加到 MCP 客户端配置中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"yht-bilet": {
"command": "node",
"args": [
"/absolute/path/to/yht-bilet-mcp/build/index.js"
]
}
}
}
**重要:**请使用绝对路径,不要使用相对路径!
可用工具
该服务提供一个工具:search_train_ticket
参数
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
from | string | 是 | - | 出发车站名称(例如,“Ankara”) |
to | string | 是 | - | 到达车站名称(例如,“Eskişehir”) |
date | string | 是 | - | 出行日期,格式为 YYYY-MM-DD(例如,“2025-12-25”) |
passengerCount | number | 否 | 1 | 乘客人数 |
includeWheelchairSeats | boolean | 否 | true | 是否在结果中包含轮椅无障碍座位 |
使用示例
在 Claude Desktop 中,你可以这样提问:
Are there any train tickets from Ankara to Eskişehir on December 25, 2025 for 2 passengers?
MCP 客户端会将其转换为:
{
"from": "Ankara",
"to": "Eskişehir",
"date": "2025-12-25",
"passengerCount": 2,
"includeWheelchairSeats": true
}
若要排除轮椅座位:
Find train tickets from Ankara to Eskişehir on December 25, 2025, but don't show wheelchair seats.
响应格式
服务会返回格式化的文本,其中包含:
- ✅/✗ 成功/失败指示
- 🚂 列车商业名称
- ⏰ 出发和到达时间
- 💰 最低票价
- 📍 可用车厢等级及座位数量
响应示例:
✓ Ankara - Eskişehir arası 27.12.2025 tarihi için 3 adet tren sefer bulundu.
🚂 YHT ESKİŞEHİR - ANKARA (11:30 - 12:54):
Minimum Fiyat: 390 TL
📍 Müsait Kabinler:
• BUSİNESS: 39 koltuk
• EKONOMİ: 86 koltuk
• TEKERLEKLİ SANDALYE: 2 koltuk
...
📝 许可证
MIT 许可证 - 详情请参见 LICENSE 文件
❤️ 为土耳其铁路社区倾情打造
需要帮助?提交 issue
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。