关于 NSW Fuel
`mcp-au-nsw` 的 `fuel` 子命令可查询 NSW 和 Tasmania 加油站的实时燃油价格。它面向需要查找附近或指定加油站价格的用户,使用 API.NSW 数据且不缓存。
主要功能
- 01查找价格最低或距离最近的加油站
- 02查看单个加油站的当前价格
- 03按名称或地区搜索加油站
- 04列出燃油类型代码
- 05每次调用获取新数据
适用场景
- 01查找附近的柴油价格
- 02比较某个郊区的加油站价格
- 03查询指定加油站的价格
MCP 相关
`fuel` 服务向 MCP 客户端提供燃油价格查询工具,并通过环境变量接收 API.NSW 凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | enum | 否 | NSW | TAS |
详细介绍
mcp-au-nsw
面向新南威尔士州政府 API 的 MCP 服务。 向 Claude(或任何 MCP 客户端)提问,例如 “我现在如何从 UNSW 前往 Circular Quay?”、“M4 上有交通事故吗?”、“电工许可证 241132C 目前有效吗?” 或 “Parramatta 附近哪里有最便宜的柴油?”,即可获取实时答复。
| 服务 | 覆盖内容 | 数据来源 | 密钥 |
|---|---|---|---|
transport | 行程规划、实时出发信息、服务提醒(火车、地铁、公交、轻轨、渡轮)、Park&Ride 停车场 | TfNSW Open Data Hub | TfNSW 密钥 |
roads | 实时交通隐患(交通事故、道路施工、洪水、火灾、事件)和收费路段费用 | TfNSW Open Data Hub | TfNSW 密钥(同一个) |
licences | 查询 15 个新南威尔士州公共登记册中的许可证(技工、房地产中介、安保、酒类、药房、WHS 许可证等) | API.NSW | 每个登记册需要一个 API.NSW 密钥 |
fuel | 新南威尔士州和 TAS 的实时燃油价格 | API.NSW | API.NSW 密钥 |
每个服务都是独立的子命令,因此只需添加需要的服务。
快速开始
1. 获取 API 密钥(免费)
TfNSW Open Data Hub(用于 transport 和 roads;一个密钥即可用于两者)
- 注册:https://opendata.transport.nsw.gov.au/data/user/register
- 登录:https://opendata.transport.nsw.gov.au/data/user/login
- 点击个人资料图标 → API Tokens,输入名称,然后点击 Create API Token。
- 立即复制令牌;之后无法再次查看。这就是你的
NSW_TRANSPORT_API_KEY。
官方指南:https://opendata.transport.nsw.gov.au/developers/userguide
API.NSW(用于 fuel 和 licences)
- 注册:https://api.nsw.gov.au/Account/Register(登录:https://api.nsw.gov.au/Account/Login)
- 前往 My Apps → Add new app:https://api.nsw.gov.au/DeveloperApp/AppCreate 并关联一个 API 产品。每个应用只能关联一个 API 产品,因此你想使用哪个 API,就要为其创建一个应用 (例如,为 Fuel API 创建一个应用,为 Trades 登记册创建一个应用)。
- 将每个应用的 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_SECRET | Trades 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
发布
- 更新
pyproject.toml和每个registry/*.json文件中的version(测试会检查它们是否一致)。 - 创建一个标记为
v<version>的 GitHub Release。工作流会先发布到 PyPI,然后更新 MCP 注册表中的条目(每个服务对应一个条目)。
许可证
MIT。与新南威尔士州政府或 Transport for NSW 无关联,也未获得其认可。数据由 API.NSW 和 TfNSW Open Data Hub 根据各自的使用条款提供。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。