关于 ekidata
ekidata 是连接托管 MCP 服务的本地桥接程序,为需要英文日本官方公共数据的 Agent 和客户端提供车站、无障碍、灾害、预警及列车状态信息。它转发只读工具调用,不维护自有数据集。
主要功能
- 01市町村与车站信息
- 02无障碍厕所查询
- 03车站灾害风险类别
- 04实时河流与滑坡预警
- 05东京地区列车状态
适用场景
- 01查找车站内的无障碍厕所
- 02查询车站官方灾害数据
- 03查看实时地区预警
- 04查询东京地区列车状态
MCP 相关
它通过本地 stdio MCP 服务暴露托管服务的工具,并将调用转发至上游。结果原样返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
10收录的工具列表 · 更新于 1 周前
此工具无需参数。
详细介绍
ekidata
ekidata 是一个小型本地桥接服务,可连接到托管的 MCP 服务, 转发以英文提供的日本官方公共数据: 市町村和车站信息、无障碍卫生间查询、来自 MLIT 数据的 车站灾害风险类别、车站搜索、JMA 实时河流和滑坡警报,以及 东京地区列车运行状态。
该桥接服务不维护自己的数据集。它会在本地提供 上游服务的工具列表,与从实时端点捕获的内容完全一致, 并将每次工具调用转发到上游,原样返回结果。捕获的工具 均只读取公共数据。
工具
ping— 连接测试和数据新鲜度检查。无 参数,也没有必填字段。get_municipality_context— 根据 5 位代码或准确名称获取 市町村官方数据。必填:name_or_code。可选:fields。get_station_context— 根据车站名称或 station_id 解析出 相同的市町村信息。其捕获的架构中必填列表为空,因此 可以提供任一标识符。get_toilet_by_station— 车站内的无障碍卫生间信息,包括楼层、 设施和最近的出口。必填:station。get_public_toilet_by_city— 市町村内的公共卫生间信息,包括无障碍标记、地址和 坐标。必填:city。get_station_hazard— 车站的官方灾害风险 类别,转发自 MLIT 数据。 必填:station_name。station_search— 通过描述车站周边环境来查找车站,可用英文或日文, 并可使用name_contains、pref、limit、拉面、卫生间、尿布和洪水等级等筛选条件。 必填:q。get_active_alerts— JMA 实时河流洪水预报 和滑坡警报。可选:area。无必填字段。get_station_alerts— 获取车站所在都道府县的相同 JMA 警报。 必填:station_name。get_train_status— 根据线路或车站名称查询东京地区列车 实时运行状态。必填:query。
配置
GACHI_MCP_URL(可选)— 覆盖上游 端点。默认值为https://api.gachi-tokusuru.com/mcp。 (此覆盖接口是本次重建中标明的 自有实现。)GACHI_API_KEY(可选)— 设置后,每个上游 请求都会携带Authorization: Bearer <key>标头。 未设置时,不会发送身份验证标头。(此 转发机制也是本次重建中标明的自有实现; 捕获原始接口时未使用密钥。)
转发机制
首次调用工具时,客户端会与上游建立可流式传输的
HTTP 会话:发送 JSON-RPC initialize
请求(protocolVersion 2025-03-26,clientInfo name
ekidata),然后发送 notifications/initialized
通知,接着发送携带调用者原样参数的 tools/call 请求。当上游
在 initialize 响应中返回 Mcp-Session-Id 标头时,
该值会随会话的后续每个请求一起发送;此会话会在进程运行期间复用。
响应可能是普通 JSON,也可能是服务器发送事件;
两种格式都会读取。
上游成功结果会原样传递,
包括上游设置的任何 isError 标记。
失败情况——JSON-RPC 错误、非 2xx 状态、无法读取的响应
或无法完成的请求——会以 isError 结果返回,
其中文本以 ekidata error: 开头(此呈现方式是本次重建
中标明的自有实现)。
命令行工具
每个工具也可作为子命令使用,并接受一个 JSON 参数 字符串(不接受参数的工具则省略该字符串):
npx @reneturcios/ekidata ping
npx @reneturcios/ekidata get_municipality_context '{"name_or_code":"13104"}'
npx @reneturcios/ekidata station_search '{"q":"terminal station with late-night ramen"}'
npx @reneturcios/ekidata get_train_status '{"query":"Yamanote"}'
npx @reneturcios/ekidata --version
退出代码:成功时为 0,结果为 isError 时为 1,
用法错误时为 2。
MCP 服务
npx -y @reneturcios/ekidata mcp
MCP 客户端配置:
{
"mcpServers": {
"ekidata": {
"command": "npx",
"args": ["-y", "@reneturcios/ekidata", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/ekidata
docker run --rm ghcr.io/cloudcorprecords/ekidata --version
容器的默认命令为 mcp,因此第一种
形式是 stdio MCP 服务;其他参数会照常传递给命令行工具。
开发
npm install
npm run build
npm test
npm run dev
测试套件完全使用桩接的 JSON-RPC 上游运行,不会发起实时网络调用。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。