Token导航 LogoToken导航

MCP Server · AI代理

Opentripplanner MCP

OpenTripPlanner的MCP服务器,为AI代理提供挪威/北欧公共交通的出行规划、实时出发板和附近站点发现功能。

stdio官方级别未说明来源级核验工具 5
JavaClaude位置天气Claude Desktop

快速开始

作者 / 组织
entur
提供方
entur
运行时
Docker

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

5

仓库热度

收录来源

1 个

MCP World

选型结论

Opentripplanner MCP 属于AI代理类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -p 8080:8080 opentripplanner-mcp:latest

客户端配置示例

{
  "mcpServers": {
    "opentripplanner-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-p",
        "8080:8080",
        "opentripplanner-mcp:latest"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

OpenTripPlanner MCP服务器

这是一个用于OpenTripPlanner的transmodel GraphQL API的模型上下文协议(MCP)服务器,使用Spring Boot和 Spring AI的MCP框架。它允许人工智能代理使用OpenTripPlanner服务作为挪威/北欧公共交通旅行规划的工具,并为出发板、旅行地图和附近的停车地图嵌入交互式UI。

什么是MCP?

这 模型上下文协议(MCP) 是一种标准化协议,旨在允许AI代理与工具和服务进行交互。它为LLM提供了一个一致的接口来访问外部功能,类似于REST API在web服务中的工作方式,但专门针对AI代理交互进行了优化。

此服务器实现了MCP规范,为AI代理提供了一个标准化的接口,以便从OpenTripPlanner访问行程计划功能。

特性

  • 挪威/北欧公共交通中两点或坐标对之间的行程规划
  • 带有交互式UI的实时出发板
  • 使用地图UI查找附近站点
  • 服务警报和中断信息
  • 与Entur的地理编码器集成,用于位置搜索
  • 用于出发、旅行和附近站点的交互式MCP应用程序UI
  • 使用Spring AI注释实现AI代理集成的MCP规范
  • 基于HTTP的无状态MCP服务器(端口8080)
  • 包含单元和集成测试的综合测试套件
  • Docker就绪,附带Dockerfile

提供的工具

此MCP服务器公开了五个模型可见工具和两个仅限应用程序的工具:

模型可见工具

  1. 旅行 --查找两个地点之间的旅行选项

- 参数: - from:起始位置(地址、地名或“lat,lng”格式的坐标) - to:目的地位置(地址、地名或“lat,lng”格式的坐标) - departureTime:ISO格式的可选出发时间 - arrivalTime:ISO格式的可选到达时间 - maxResults:返回的行程选项的最大数量(默认值:3) - language:UI语言-- en, nb,或 nn - 使用交互式地图UI返回行程选项

  1. 出发 --从车站或车站实时出发

- 参数: - stop:站点名称(例如“Oslo S”)或NSR ID(例如“NSR:StopPlace:337”) - numberOfDepartures:要返回的出发次数(默认值:10,最大值:50) - startTime:ISO格式的可选开始时间(默认值:现在) - timeRangeMinutes:时间窗口(分钟)(默认值:60,最大值:1440) - transportModes:按模式可选过滤器(公共汽车、铁路、有轨电车、地铁、水、空气) - language:UI语言-- en, nb,或 nn - 使用交互式出发板UI返回出发

  1. 附近的车站 --查找某个地点附近的公共交通站点

- 参数: - location:地址、地名或 lat,lng 坐标 - radius:搜索半径(单位:米)(默认值:500,最大值:2000) - maximumResults:返回的最大停止次数(默认值:10,最大值:50) - transportModes:按模式选择过滤器 - language:UI语言-- en, nb,或 nn - 返回按距离排序的站点,包括下一个出发点和地图UI

  1. 警报 --主动服务中断和取消

- 参数: - severities:可选过滤器(无影响、非常轻微、轻微、正常、严重、非常严重) - 返回挪威语和英语的中断描述

  1. 地理编码 --按名称或地址搜索位置

- 参数: - text:要搜索的位置文本 - maxResults:要返回的最大结果数(默认值:10)

仅限应用程序的工具(由嵌入式UI调用)

  • 投票偏离 --刷新出发板UI的出发数据
  • 投票之旅 --使用行程地图UI的更新参数重新规划行程

API终点

该服务器与Entur的公共API集成:

  • 发展 (默认):

- 行程计划:https://api.dev.entur.io/journey-planner/v3/graphql - 地理编码器:https://api.dev.entur.io/geocoder/v2/autocomplete

  • 生产:

- 行程计划:https://api.entur.io/journey-planner/v3/graphql - 地理编码器:https://api.entur.io/geocoder/v2/autocomplete

入门指南

先决条件

  • Java 21或更高版本
  • Maven 3.6或更高版本
  • Docker(可选,用于容器化部署)

建立和运行

构建项目:

mvn clean package

运行应用程序:

mvn spring-boot:run

默认情况下,服务器将在端口8080上启动。

使用生产API端点运行:

mvn spring-boot:run -Dspring-boot.run.arguments=--spring.profiles.active=prod

运行测试

运行所有测试:

mvn test

仅运行单元测试 (不包括集成测试):

mvn test -Dtest=*Test -Dtest=!*IntegrationTest

仅运行集成测试 (需要网络访问):

mvn test -Dtest=*IntegrationTest

运行特定的测试类:

mvn test -Dtest=TripSearchToolTest

Docker部署

构建Docker镜像

首先,构建应用程序JAR:

mvn clean package

然后构建Docker镜像:

docker build -t opentripplanner-mcp:latest .

运行容器

docker run -p 8080:8080 opentripplanner-mcp:latest

MCP服务器将在 http://localhost:8080/mcp.

配置

应用程序可以通过以下方式配置 src/main/resources/application.properties 或通过环境变量:

  • SERVER_PORT:要侦听的HTTP端口(默认值:8080)
  • ORG_ENTUR_OTP_URL:OpenTripPlanner GraphQL端点URL
  • ORG_ENTUR_GEOCODER_URL:Entur Geocoder REST API URL
  • ORG_ENTUR_MCP_CLIENT_NAME:API请求的客户端标识符(默认值:“entur-mcp”)

环境变量示例:

export SERVER_PORT=8080
export ORG_ENTUR_OTP_URL=https://api.entur.io/journey-planner/v3/graphql
export ORG_ENTUR_GEOCODER_URL=https://api.entur.io/geocoder/v2/autocomplete
mvn spring-boot:run

与AI代理一起使用

克劳德桌面

要将此MCP服务器与Claude Desktop一起使用,您需要将其作为HTTP服务器运行,并配置Claude Desktop以连接到它。

  1. 启动MCP服务器:
   mvn spring-boot:run
  1. 配置Claude桌面 要连接到 http://localhost:8080/mcp 作为MCP服务器端点。
  1. 使用工具 在您的对话中:

- “计划从奥斯陆到卑尔根的旅行” - “下一班从奥斯陆S站来的火车是什么时候?” - “Grünerløkka附近有哪些车站?” - “今天有严重的服务警报吗?”

其他MCP客户端

支持HTTP MCP协议的AI代理可以在以下位置连接到此服务器 http://localhost:8080/mcp服务器提供:

  1. 通过MCP发现工具 tools/list 方法
  2. 通过MCP执行工具 tools/call 方法

服务器使用Spring AI的MCP注释框架,该框架自动处理JSON-RPC协议实现。

建筑

该应用程序遵循标准的Spring Boot分层架构:

  • App.java:主Spring Boot应用程序入口点
  • 工具/TripSearchTool.java:MCP工具定义使用 @McpTool 注释
  • tools/LanguageUtil.java:语言规范化助手
  • 服务/:业务逻辑层

- OtpSearchService.java:通过GraphQL进行行程规划、出发、附近站点和警报 - GeocoderService.java:通过REST进行位置地理编码

  • 模型/:域模型(位置、错误响应)
  • 验证/:输入验证逻辑
  • 例外情况/:自定义异常类

UI应用程序是作为MCP资源的纯HTML文件(@McpResource)从 src/main/resources/app/.他们使用 @modelcontextprotocol/ext-apps 通过仅限应用程序的工具回调到服务器,以进行自动刷新和重新规划。

服务器使用:

  • 弹簧靴4.0.0 对于应用程序框架
  • 春季AI 2.0.0-M4 用于MCP服务器实现
  • 杰克逊 用于JSON处理
  • Java HTTP客户端 用于外部API调用
  • JUnit5和AssertJ 用于测试
  • OkHttp模拟Web服务器 用于测试中的HTTP模拟

发展

项目结构

src/
├── main/
│   ├── java/org/entur/mcp/
│   │   ├── App.java                    # Main application
│   │   ├── tools/                      # MCP tool definitions
│   │   │   ├── TripSearchTool.java     # All tools + MetaProvider classes
│   │   │   └── LanguageUtil.java       # Language normalization
│   │   ├── services/                   # Business logic
│   │   │   ├── OtpSearchService.java   # OTP GraphQL API
│   │   │   └── GeocoderService.java    # Geocoder REST API
│   │   ├── model/                      # Domain models
│   │   ├── validation/                 # Input validation
│   │   └── exception/                  # Custom exceptions
│   └── resources/
│       ├── application.properties      # Configuration
│       └── app/                        # Embedded UI apps
│           ├── departures-board.html   # Departure board UI
│           ├── trip-map.html           # Trip options map UI
│           └── nearby-stops-map.html   # Nearby stops map UI
└── test/
    └── java/org/entur/mcp/            # Test classes

添加新工具

要添加新的MCP工具:

  1. 在中创建一个方法 TripSearchTool.java 或者一个新的 @Component 类
  2. 用注释 @McpTool 并指定名称和描述
  3. 添加参数 @McpToolParam 注释
  4. 返回JSON字符串响应
  5. 适当处理错误并返回结构化错误响应

例子:

@McpTool(
    name = "my_tool",
    description = "Description of what this tool does"
)
public String myTool(
    @McpToolParam(description = "Parameter description", required = true) String param
) {
    // Implementation
    return objectMapper.writeValueAsString(result);
}

贡献

这是Entur通过模型上下文协议将OpenTripPlanner与AI代理集成的项目。

许可证

请向Entur咨询许可信息。

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

公共交通Java本地部署出行规划实时数据地图服务AI代理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Opentripplanner MCP

MCP World · 本页

5stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Opentripplanner MCP 怎么安装?

公开资料给出的安装命令是 docker run -p 8080:8080 opentripplanner-mcp:latest,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Opentripplanner MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Opentripplanner MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Opentripplanner MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Opentripplanner MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP