mcpField
N
NSW Roads

NSW Roads

本地服务
github.com地图与出行06 天前更新

关于 NSW Roads

NSW Roads 是面向查询新南威尔士州道路状况的 MCP 服务,可获取交通隐患并估算通行费,数据来自 Transport for NSW。

主要功能

  1. 01查询实时交通隐患
  2. 02按道路、区域或距离筛选
  3. 03计算地点间通行费
  4. 04比较免通行费路线
  5. 05每次调用获取最新数据

适用场景

  1. 01查看路线上的事故或道路施工
  2. 02查找郊区附近的交通隐患
  3. 03比较通行费与免通行费路线

MCP 相关

向 MCP 客户端提供新南威尔士州道路隐患查询和通行费计算工具。使用 TfNSW Open Data Hub 数据,需要 TfNSW API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"fisher98kim-nsw-roads": {
"command": "uvx",
"args": [
"mcp-au-nsw"
],
"env": {
"NSW_TRANSPORT_API_KEY": "<NSW_TRANSPORT_API_KEY>"
}
}
}
}
启动命令uvx mcp-au-nsw
需要配置的环境变量
NSW_TRANSPORT_API_KEY密钥TfNSW Open Data Hub API token: https://opendata.transport.nsw.gov.au (profile -> API Tokens); same token as nsw-transport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-au-nsw0.3.1

工具

4

收录的工具列表 · 更新于 5 天前

参数类型必填说明
stateenum否NSW | TAS

详细介绍

mcp-au-nsw

面向新南威尔士州政府 API 的 MCP 服务。 向 Claude(或任何 MCP 客户端)提问,例如 “我现在如何从 UNSW 前往 Circular Quay?”、“M4 上有交通事故吗?”、“电工许可证 241132C 目前有效吗?” 或 “Parramatta 附近哪里有最便宜的柴油?”,即可获取实时答复。

服务覆盖内容数据来源密钥
transport行程规划、实时出发信息、服务提醒(火车、地铁、公交、轻轨、渡轮)、Park&Ride 停车场TfNSW Open Data HubTfNSW 密钥
roads实时交通隐患(交通事故、道路施工、洪水、火灾、事件)和收费路段费用TfNSW Open Data HubTfNSW 密钥(同一个)
licences查询 15 个新南威尔士州公共登记册中的许可证(技工、房地产中介、安保、酒类、药房、WHS 许可证等)API.NSW每个登记册需要一个 API.NSW 密钥
fuel新南威尔士州和 TAS 的实时燃油价格API.NSWAPI.NSW 密钥

每个服务都是独立的子命令,因此只需添加需要的服务。

快速开始

1. 获取 API 密钥(免费)

TfNSW Open Data Hub(用于 transport 和 roads;一个密钥即可用于两者)

  1. 注册:https://opendata.transport.nsw.gov.au/data/user/register
  2. 登录:https://opendata.transport.nsw.gov.au/data/user/login
  3. 点击个人资料图标 → API Tokens,输入名称,然后点击 Create API Token。
  4. 立即复制令牌;之后无法再次查看。这就是你的 NSW_TRANSPORT_API_KEY。

官方指南:https://opendata.transport.nsw.gov.au/developers/userguide

API.NSW(用于 fuel 和 licences)

  1. 注册:https://api.nsw.gov.au/Account/Register(登录:https://api.nsw.gov.au/Account/Login)
  2. 前往 My Apps → Add new app:https://api.nsw.gov.au/DeveloperApp/AppCreate 并关联一个 API 产品。每个应用只能关联一个 API 产品,因此你想使用哪个 API,就要为其创建一个应用 (例如,为 Fuel API 创建一个应用,为 Trades 登记册创建一个应用)。
  3. 将每个应用的 API Key 和 API Secret 复制到对应的环境变量中 (NSW_FUEL_API_KEY / NSW_FUEL_API_SECRET、NSW_TRADES_API_KEY / NSW_TRADES_API_SECRET 等; 完整列表请参阅 licences 章节)。 免费套餐允许每个应用每月调用 2,500 次。
2. 安装 uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
3. 将服务添加到 MCP 客户端

Claude Code

claude mcp add nsw-transport -e NSW_TRANSPORT_API_KEY=your-tfnsw-key -- uvx mcp-au-nsw transport
claude mcp add nsw-roads     -e NSW_TRANSPORT_API_KEY=your-tfnsw-key -- uvx mcp-au-nsw roads
claude mcp add nsw-fuel      -e NSW_FUEL_API_KEY=your-key -e NSW_FUEL_API_SECRET=your-secret -- uvx mcp-au-nsw fuel
claude mcp add nsw-licences  -e NSW_TRADES_API_KEY=your-key -e NSW_TRADES_API_SECRET=your-secret -- uvx mcp-au-nsw licences

对于 licences,请传入你订阅的每个登记册对应的密钥对;没有密钥的登记册将不可用。

Claude Desktop / Cursor / 其他客户端:将你需要的服务添加到 MCP 配置文件(claude_desktop_config.json、.cursor/mcp.json 等):

{
  "mcpServers": {
    "nsw-transport": {
      "command": "uvx",
      "args": ["mcp-au-nsw", "transport"],
      "env": { "NSW_TRANSPORT_API_KEY": "your-tfnsw-key" }
    },
    "nsw-roads": {
      "command": "uvx",
      "args": ["mcp-au-nsw", "roads"],
      "env": { "NSW_TRANSPORT_API_KEY": "your-tfnsw-key" }
    },
    "nsw-fuel": {
      "command": "uvx",
      "args": ["mcp-au-nsw", "fuel"],
      "env": { "NSW_FUEL_API_KEY": "your-key", "NSW_FUEL_API_SECRET": "your-secret" }
    },
    "nsw-licences": {
      "command": "uvx",
      "args": ["mcp-au-nsw", "licences"],
      "env": {
        "NSW_TRADES_API_KEY": "your-key", "NSW_TRADES_API_SECRET": "your-secret",
        "NSW_PROPERTY_API_KEY": "your-key", "NSW_PROPERTY_API_SECRET": "your-secret"
      }
    }
  }
}

uvx 会缓存首次下载的版本。要获取新版本,请使用 uvx mcp-au-nsw@latest ...,或运行 uv cache clean mcp-au-nsw。

服务的工作方式

  • 按名称查找地点。 接受地点名称(“Town Hall”、“17 High St Kensington”、“Sydney Opera House”)、站点 ID 或 lat,lng。
  • 不猜测。 如果一个名称与多个地点的匹配程度大致相同(例如,“UNSW”对应两个轻轨站,“Sydney Airport”有国内和国际航站楼车站),工具会返回候选项,而不是自行选择,以便助手向你确认。
  • 实时数据,不缓存。 每次调用都会获取最新数据。响应中包含稳定 ID(站点 ID、车站代码),方便你构建自己的查询以进行分析。
  • 悉尼当地时间。 所有时间均为悉尼时间,格式为 YYYY-MM-DD HH:MM。

transport 服务

工具功能
plan_trip查询从 A 点到 B 点的行程,包括各路段、站台、实时延误和提醒。支持设置抵达时间和限制交通方式
get_departures查询车站或站点的下一班车次,包括实时延误和站台信息
get_service_alerts查询当前的服务中断和轨道施工,可按交通方式、线路(T1、L2、333 等)或站点筛选
find_stops按名称搜索车站、站点和码头;返回站点 ID 和交通方式
get_car_park_availability查询 Transport Park&Ride 停车场的实时空余车位,可按名称或距某地点的距离搜索
get_car_park_history查询 Park&Ride 停车场在指定日期内的占用情况:每小时占用率、峰值,以及车位满位时间

提示词示例:

  • “我现在怎么从 UNSW 去 Circular Quay?”
  • “我需要在下午 6 点前到 Manly Wharf。我该什么时候从 Martin Place 出发?”
  • “Town Hall 下一班火车几点开?”
  • “T1 今天有任何问题吗?”
  • “Tallawong Park&Ride 还有空位吗?”
  • “Tallawong P1 停车场昨天几点满位?”

roads 服务

工具功能
get_traffic_hazards查询事故、车辆故障、道路施工、洪水、火灾、高山路况和大型活动。可按区域/道路名称或距某地点的距离筛选
calculate_toll查询两地之间的通行费(AUD)和所经高速公路,并与最快的免费路线进行比较

提示词示例:

  • “M4 现在有什么情况吗?”
  • “Parramatta 附近这个周末有道路施工或活动吗?”
  • “从 Parramatta 到 Sydney International Airport 的通行费是多少?能节省多少时间?”

通行费金额是 Transport for NSW 提供的估算值,可能与实际收费不同。

licences 服务

查询 NSW 公共登记册中的许可证。所有登记册的使用方式相同:查询许可证编号、按个人或企业名称搜索,并获取完整的公开记录。

工具功能
verify_licence查询许可证编号:状态(Current/Expired/...)、到期日期、许可证类型和持有人
search_licences按个人或企业名称查找许可证(支持部分名称),当前有效的许可证优先显示
get_licence_details完整记录:许可证类别(涵盖的工作)、条件、历史记录、经营场所、关联人员和许可证,以及合规措施(纪律处分、暂停、起诉、公开警告、保险索赔)
list_registers查看现有登记册、涵盖范围以及已配置的登记册
登记册(register 值)涵盖范围环境变量订阅
trades建筑承包商和技工NSW_TRADES_API_KEY、NSW_TRADES_API_SECRETTrades API
property房地产经纪人、物业和分层产权管理人NSW_PROPERTY_API_*Property API
security保安人员和安保企业NSW_SECURITY_API_*Security API
liquor酒类许可证和经营场所NSW_LIQUOR_API_*Liquor API
motor汽车经销商、维修商和回收商NSW_MOTOR_API_*Motor API
conveyancer房产过户代理人NSW_CONVEYANCER_API_*Conveyancer API
lotteries商业促销彩票和机会游戏NSW_LOTTERIES_API_*Lotteries API
owner_builder自建房许可NSW_OWNER_BUILDER_API_*Owner Builder Permit API
home_building_compensation住宅建筑补偿证书NSW_HOME_BUILDING_COMPENSATION_API_*Home Building Compensation API
building_practitioners设计和建筑从业者、工程师NSW_BUILDING_PRACTITIONERS_API_*Design and Building Practitioners API
asbestos石棉清除和拆除许可证NSW_ASBESTOS_API_*Asbestos and Demolition
high_risk_work高风险作业许可证(叉车、起重机等)NSW_HIGH_RISK_WORK_API_*High Risk Work
white_cards建筑入场培训卡和交通管制卡NSW_WHITE_CARDS_API_*White Cards
trainers注册培训机构NSW_TRAINERS_API_*Trainers and Providers API
pharmacies药房经营场所和经济权益持有人NSW_PHARMACIES_API_*Register of Pharmacies

NSW_X_API_* 表示 NSW_X_API_KEY 和 NSW_X_API_SECRET。

提示词示例:

  • “电工许可证 241132C 当前有效吗?是否涵盖电气工作?”
  • “查询我的建筑商 Smith Constructions 是否持有当前有效的许可证,以及是否有任何纪律处分。”
  • “这位房地产经纪人持有许可证吗?”

记录直接来自公共登记册,可能包含许可证持有人及关联人员的姓名、角色和地址。

fuel 服务

工具功能API 调用次数
find_fuel_prices查找某个郊区、邮政编码或坐标周边价格最低(或距离最近)的指定燃料类型加油站1(使用郊区/邮政编码时为 2)
get_station_prices获取某个加油站当前的所有价格1
search_stations按名称、品牌、郊区或邮政编码查找加油站1
list_fuel_types燃料类型代码(U91、E10、P98、DL……)1

价格单位为分/升。

示例提示词:

  • “UNSW 附近哪家柴油最便宜?”
  • “BP Redfern 现在的价格是多少?”

开发

git clone https://github.com/fisher98kim/mcp-au-nsw
cd mcp-au-nsw
uv sync
uv run pytest

# run a server locally with keys from .env
uv run --env-file .env mcp-au-nsw transport

要在 Claude Code 中试用本地更改:

claude mcp add nsw-transport-dev -e NSW_TRANSPORT_API_KEY=... \
  -- uv run --directory /path/to/mcp-au-nsw mcp-au-nsw transport
发布
  1. 更新 pyproject.toml 和每个 registry/*.json 文件中的 version(测试会检查它们是否一致)。
  2. 创建一个标记为 v<version> 的 GitHub Release。工作流会先发布到 PyPI,然后更新 MCP 注册表中的条目(每个服务对应一个条目)。

许可证

MIT。与新南威尔士州政府或 Transport for NSW 无关联,也未获得其认可。数据由 API.NSW 和 TfNSW Open Data Hub 根据各自的使用条款提供。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。