kanarek-mcp
Real-time air quality data for AI assistants
An MCP server that connects Claude, Cursor, VS Code, and other AI tools to live readings from 15,000+ monitoring stations across Poland and Europe.
______________________________________________________________________
为什么是kanarek mcp?
向你的人工智能助手询问空气质量,并获得 真实数据的真实答案 --不是关于无法上网的免责声明。
You: "Is it safe to go jogging in Kraków right now?"
Claude: Based on current readings from 45 stations in Kraków, PM2.5 is at
38.2 µg/m³ (2.5x the WHO guideline of 15 µg/m³). I'd recommend
moving your run indoors or waiting — air quality has been improving
over the past few hours and should drop below guidelines by evening.没有API密钥。没有配置。只需安装并询问。
______________________________________________________________________
特性
- 当前读数 --附近气象站的PM2.5、PM10、NO2、O3、SO2、CO和天气数据
- 城市比较 --多达5个城市的并排空气质量
- 历史趋势 --每小时数据(24h/7d/30d),带趋势分析或年度日历视图
- 污染排名 --按任何污染物排名的最差/最好的城市和车站
- 车站搜索 --按城市、街道名称或GPS坐标查找车站
- 世界卫生组织指南 -与世界卫生组织2021年空气质量指南相比的每一项读数
- 多个数据提供者 --GIOś(政府)、Airly、Luftdaten、LookO2、BleBox等
______________________________________________________________________
安装
克劳德桌面版
添加到您的配置文件中:
| 操作系统 | 配置路径 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 窗户 | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"kanarek": {
"command": "uvx",
"args": ["--from", "git+https://github.com/KanarekApp/Kanarek-MCP.git", "kanarek-mcp"]
}
}
}克劳德代码(CLI)
在项目目录中运行:
claude mcp add kanarek -- uvx --from "git+https://github.com/KanarekApp/Kanarek-MCP.git" kanarek-mcpVS Code
添加到您的 .vscode/mcp.json (如果文件不存在,请创建该文件):
{
"servers": {
"kanarek": {
"command": "uvx",
"args": ["--from", "git+https://github.com/KanarekApp/Kanarek-MCP.git", "kanarek-mcp"]
}
}
}光标
打开 设置 > MCP服务器 > 添加服务器,然后使用:
{
"kanarek": {
"command": "uvx",
"args": ["--from", "git+https://github.com/KanarekApp/Kanarek-MCP.git", "kanarek-mcp"]
}
}其他MCP客户端
kanarek mcp适用于任何支持 模型上下文协议。它通过以下方式在本地运行 标准 运输——只需将您的客户指向:
uvx --from "git+https://github.com/KanarekApp/Kanarek-MCP.git" kanarek-mcp______________________________________________________________________
你能问什么?
安装后,只需自然地与您的AI助手交谈。以下是一些示例:
当前空气质量
“华沙的空气质量怎么样?” “带我的孩子去弗罗茨瓦夫的公园安全吗?” “纬度52.23、经度21.01附近的PM2.5水平是多少?”
用途 get_air_quality --对于城市名称,返回城市级PM2.5/PM10平均值,并在所有城市中排名。对于坐标,返回附近站点的距离加权平均值,并按站点细分。
城市比较
比较克拉科夫、华沙和格但斯克的空气质量 “哪个城市的空气更清洁——波兹南还是罗兹?”
用途 compare_air_quality --同时获取所有城市的城市级数据,并将其排名最差,排名第一。
历史趋势
“显示克拉科夫过去一周的PM2.5趋势” “整个2025年华沙的空气质量如何?” “去年弗罗茨瓦夫空气质量最差的一天是哪一天?”
用途 get_air_quality_history --对于最近的趋势(24h/7d/30d):返回汇总统计数据,趋势方向。对于年度日历:城市查询返回全市汇总数据,站点查询返回单个站点数据。包括月平均数、最差/最佳天数和世界卫生组织超标数。
污染排名
“现在哪些城市的空气质量最差?” “让我看看PM10污染最严重的20个城市” “华沙与其他城市相比排名如何?”
用途 get_air_quality_rankings --支持按城市或国家对PM2.5或PM10进行24h/7d/30d/12m时段的排名。深入任何地方,了解详细的空气质量和排名信息。
寻找车站
“查找我附近的空气质量监测站” *(带坐标)* “Marszałkowska街上有新闻局车站吗?” “列出卡托维兹的监测站”
用途 find_stations --按名称、城市、街道或坐标搜索。按提供商筛选(gios、airly、luftdaten、looko2、blebox)。
车站详细信息
“显示站点1f8138aa-3092-4bb4-9ee0-23b0638de32b的所有测量值”
用途 get_station_details --返回该站每种测量类型的当前和24小时平均读数。
______________________________________________________________________
工具参考
| 工具 | 说明 | 关键参数 |
|---|---|---|
get_air_quality | 某一地点的当前空气质量 | city 或 latitude+longitude, radius_km |
compare_air_quality | 并排比较2-5个城市 | cities, pollutant |
get_air_quality_history | 历史读数或年历 | city 或 station_id, pollutant, period, year |
get_air_quality_rankings | 按污染程度对城市/国家进行排名 | ranking_type, pollutant, period, limit, place_id |
find_stations | 搜索监测站 | query 或 latitude+longitude, provider, limit |
get_station_details | 一个站点的完整测量 | station_id |
服务器还公开了一个 kanarek://config 资源 参考数据-测量类型、世界卫生组织指南和提供者元数据。
______________________________________________________________________
配置
| 环境变量 | 默认值 | 描述 |
|---|---|---|
KANAREK_API_URL | https://backend.kanarek.app/api/v1 | API基本URL |
不需要API密钥或身份验证。
______________________________________________________________________
发展
# Clone and install
git clone https://github.com/KanarekApp/Kanarek-MCP.git
cd Kanarek-MCP
uv sync
# Run unit tests
uv run pytest tests/test_tools.py
# Run integration tests (hits the live API)
KANAREK_INTEGRATION_TEST=1 uv run pytest tests/test_integration.py
# Test interactively with MCP Inspector
uv run mcp dev src/kanarek_mcp/server.py______________________________________________________________________
运作原理
kanarek mcp遵循 结果导向的 设计——一个工具调用产生一个完整的答案。在后台,每个工具都会编排多个API调用:
"What's the air quality in Warsaw?"
1. Search places for "Warsaw" → GET /places/search?q=Warsaw
2. Get city air quality + ranking → GET /places/{place_id}
3. Format with WHO comparisons → concise text response响应的格式为 简明文本 (不是原始JSON),针对LLM消费进行了优化-最重要的数据优先,始终带有单位、世界卫生组织比较和数据新鲜度时间戳。
______________________________________________________________________
数据源
数据由 卡纳里克 平台,聚合来自多个监测网络的读数:
| 提供商 | 类型 | 覆盖范围 |
|---|---|---|
| 神 | 政府(环境保护总督察) | 波兰 |
| Airly | 商业传感器网络 | 波兰,欧洲 |
| Luftdaten/sensor.community | 社区驱动的传感器 | 全欧洲 |
| LookO2 | 消费者传感器 | 波兰 |
| BleBox | 消费者传感器 | 波兰 |
______________________________________________________________________
许可证
______________________________________________________________________
Powered by kanarek.app
