使用说明
a model context protocol server for interacting with the washington state department of transportation api
发展
先决条件
- 为了获得最佳的开发体验,请安装 小圆面包 因此可以启动MCP检查器(使用
make mcp)
建筑
- 请使用
docker compose在本地运行应用程序。- Docker编写说明:
docker compose up -d --build && docker compose logs -f -t
- Docker编写说明:
使用docker compose运行并检查Grafana http://localhost:3000 用于度量/跟踪。
运输
通过以下方式选择运输方式 TRANSPORT 环境变量:
TRANSPORT |
描述 |
|---|---|
streamablehttp |
违约。 当前的MCP HTTP传输。使用此功能远程托管服务器(例如在Kubernetes中)。 |
stdio |
适用于直接启动二进制文件的本地客户端(Claude Desktop,MCP检查器)。 |
sse |
传统的HTTP+SSE传输。 已弃用 根据MCP规范,支持 streamablehttp;只为老客户保留。 |
streamablehttp 和 sse 接受以下附加配置:
| 变量 | 默认值 | 描述 |
|---|---|---|
HTTP_PORT |
8080 |
监听端口(SSE_PORT 当 HTTP_PORT 未设置,用于向后兼容性。) |
HTTP_PATH |
/mcp |
MCP端点的服务路径(仅限streamablehttp)。 |
MCP_AUTH_TOKEN |
(未设置) | 设置后,每个MCP请求都必须发送 Authorization: Bearer <token>Unset禁用身份验证。 |
MCP_STATELESS |
false |
禁用会话跟踪,这样请求就可以在副本之间进行负载平衡,而不会出现粘滞会话。 |
MCP_HEARTBEAT_INTERVAL |
30s |
保持空闲流的活动间隔(通过代理/入口提供帮助)。零禁用它 |
SHUTDOWN_TIMEOUT |
15s |
在上删除机上请求的宽限期 SIGTERM. |
HTTP传输还公开了两个 未认证的 健康端点
Kubernetes探测器: GET /healthz (活性)和 GET /readyz (准备就绪)。
远程托管(Kubernetes)
要在群集中托管此服务器以供远程客户端使用,请运行
集装箱 TRANSPORT=streamablehttp (默认)和不记名代币:
docker run -p 8080:8080 \
-e WSDOT_API_KEY=<your-key> \
-e TRANSPORT=streamablehttp \
-e MCP_AUTH_TOKEN=<a-long-random-token> \
ghcr.io/michaelpeterswa/mcp-wsdot:latest
然后,客户端连接到 http://<host>:8080/mcp 通过可流式传输的HTTP
传输,将令牌作为 Authorization: Bearer 头球例如,
OpenClaw远程MCP服务器条目:
{
"mcpServers": {
"wsdot": {
"transport": "streamable-http",
"url": "https://wsdot.example.com/mcp",
"headers": { "Authorization": "Bearer <a-long-random-token>" }
}
}
}
用于部署指导——探测路径、端口和整个环境
变量引用——见上表。容器正在监听 :8080
(MCP)和 :8081 (普罗米修斯指标,当 METRICS_ENABLED=true),作为
非root用户,并优雅地消耗 SIGTERM.
当前工具
| 工具 | 描述 |
|---|---|
get_current_time |
获取PDT/PST时区的当前时间 |
get_route_schedules |
获取可用渡轮路线的名称和路线id |
get_schedules_today_by_route_id |
通过路线id获取路线的航行时间 |
MacOS二进制笔记
如果您从MacOS的发布页面下载二进制文件,则需要将其排除在隔离安全警告之外。为此,请运行以下命令:
xattr -rd com.apple.quarantine <path-to-binary>
示例问题
西雅图至布雷默顿渡轮航线的下三班航班是什么?我今晚能回来的最新消息是什么?
问克劳德桌面3.7 Sonnet
我会帮你找到西雅图到布雷默顿航线的下三班航班,以及今晚的最新回程选择。让我查一下当前的渡轮时刻表。
现在我有了路线信息,让我检查一下西雅图到布雷默顿渡轮路线的具体时间表:
根据日程信息,以下是您要求的详细信息:
接下来从西雅图到布雷默顿的三次航行:
- 今天下午12:20(2025年4月20日)-船只:瓦拉瓦拉
- 今天下午2:50(2025年4月20日)-船只:瓦拉瓦拉
- 今天下午5:30(2025年4月20日)-船只:瓦拉瓦拉
今晚从布雷默顿返回西雅图的最新消息:
今晚从布雷默顿到西雅图的最新航行时间为晚上11:40(23:40)-船只:Walla Walla
所有航班均由残疾人无障碍船只Walla Walla运营。此时间表>是2025年春季服务的一部分,该服务于2025年3月23日至6月14日运行。