mcp西班牙旅游
西班牙多式联运旅行搜索MCP服务器。聚合体 Renfe GTFS时间表, OUIGO价格,以及 Amadeus航班优惠 为任何兼容MCP的客户端(Claude Desktop、Continue等)提供四种AI就绪工具。
安装
# Run directly with uv (recommended)
uvx mcp-spain-travel
# Or install with pip
pip install mcp-spain-travel配置
所有设置都是从前缀为的环境变量中读取的 SPAIN_TRAVEL_.
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
SPAIN_TRAVEL_AMADEUS_CLIENT_ID | 是(航班) | "" | Amadeus API客户端ID |
SPAIN_TRAVEL_AMADEUS_CLIENT_SECRET | 是(航班) | "" | Amadeus API客户机密 |
SPAIN_TRAVEL_OUIGO_ENABLED | 没有 | true | 启用OUIGO价格聚合 |
SPAIN_TRAVEL_STATIONS_TTL | 没有 | 86400 | 站缓存TTL(秒)(24小时) |
SPAIN_TRAVEL_OUIGO_TTL | 没有 | 1800 | OUIGO价格缓存TTL(秒)(30分钟) |
SPAIN_TRAVEL_AMADEUS_TTL | 没有 | 3600 | Amadeus飞行缓存TTL(秒)(1小时) |
SPAIN_TRAVEL_CACHE_DIR | 没有 | .cache | 基于文件的缓存目录 |
SPAIN_TRAVEL_LOG_LEVEL | 没有 | INFO | 日志记录级别(调试、信息、警告、错误) |
在获取免费的Amadeus API密钥 developers.amadeus.com.
Claude桌面设置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"spain-travel": {
"command": "uvx",
"args": ["mcp-spain-travel"],
"env": {
"SPAIN_TRAVEL_AMADEUS_CLIENT_ID": "your_client_id",
"SPAIN_TRAVEL_AMADEUS_CLIENT_SECRET": "your_client_secret"
}
}
}
}工具参考
| 工具 | 说明 | 关键参数 |
|---|---|---|
search_trains | 结合Renfe GTFS+OUIGO价格搜索列车 | origin, destination, date (YYYY-MM-DD), passengers |
search_flights | 搜索西班牙机场之间的Amadeus航班优惠 | origin (IATA), destination (IATA), departure_date, return_date, adults, cabin_class |
compare_travel_options | 并排列车与飞行与二氧化碳估算的比较 | origin, destination, date, passengers |
list_train_stations | 浏览Renfe电台目录(24小时缓存) | city (可选过滤器), station_type (所有/犬科动物/发烧/腹泻) |
示例查询
# Find trains Madrid → Barcelona tomorrow
search_trains(origin="Madrid", destination="Barcelona", date="2025-04-01")
# Search flights Seville → Bilbao
search_flights(origin="SVQ", destination="BIO", departure_date="2025-04-01")
# Compare all options Madrid → Valencia
compare_travel_options(origin="Madrid", destination="Valencia", date="2025-04-01")
# List AVE-capable stations
list_train_stations(station_type="ld")错误代码
| 代码 | 触发器 |
|---|---|
INVALID_DATE | 日期为过去日期或格式错误 |
INVALID_IATA | IATA代码不是3个字母 |
UNKNOWN_STATION | 没有与城市/代码匹配的Renfe车站 |
RATE_LIMIT | 超过了Amadeus API配额 |
ALL_PROVIDERS_DOWN | 所有数据源同时失败 |
PROVIDER_ERROR | 单个提供程序失败(检查 provider_errors 现场) |
数据源
- Renfe开放数据 --车站目录和GTFS时间表 Renfe公共文件.无定价(仅时间表)。
- 乌伊戈 --价格通过非官方
ouigoPython包。实时,但视可用性而定。 - Amadeus GDS --航班优惠通过官方 Amadeus开发者版 API免费层覆盖测试数据;生产需要批准。
发展
# Clone and set up
git clone https://github.com/your-org/mcp-spain-travel
cd mcp-spain-travel
uv sync --extra dev
# Run tests
uv run pytest tests/ -v
# Run server locally
SPAIN_TRAVEL_AMADEUS_CLIENT_ID=xxx SPAIN_TRAVEL_AMADEUS_CLIENT_SECRET=yyy uv run mcp-spain-travel免责声明
OUIGO数据是通过非官方的第三方软件包获取的。本项目与OUIGO España、Renfe或Amadeus IT Group没有附属关系、认可或联系。使用风险自负。火车/航班数据可能不完整或过时——预订前务必与官方来源核实。
许可证
麻省理工学院
