AQICN MCP Server

AQICN MCP Server

通过模型上下文协议 (MCP) 与世界空气质量指数 (World Air Quality Index) 交互,以获取全球城市和坐标的实时空气质量数据。

Category
访问服务器

README

AQICN MCP 服务器

smithery badge

这是一个模型上下文协议 (MCP) 服务器,提供来自世界空气质量指数 (AQICN) 项目的空气质量数据工具。它允许 LLM 获取全球城市和坐标的实时空气质量数据。

安装

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 AQICN MCP 服务器:

npx -y @smithery/cli install @mattmarcin/aqicn-mcp --client claude

通过推荐的 uv (手动) 安装

我们建议使用 uv 来管理您的 Python 环境:

# 安装包和依赖项
uv pip install -e .

环境设置

在项目根目录中创建一个 .env 文件(您可以从 .env.example 复制):

# .env
AQICN_API_KEY=your_api_key_here

或者,您可以直接设置环境变量:

# Linux/macOS
export AQICN_API_KEY=your_api_key_here

# Windows
set AQICN_API_KEY=your_api_key_here

运行服务器

开发模式

测试和调试服务器的最快方法是使用 MCP Inspector:

mcp dev aqicn_server.py

Claude Desktop 集成

服务器准备就绪后,将其安装在 Claude Desktop 中:

mcp install aqicn_server.py

直接执行

用于测试或自定义部署:

python aqicn_server.py

可用工具

1. city_aqi

获取特定城市的空气质量数据。

@mcp.tool()
def city_aqi(city: str) -> AQIData:
    """Get air quality data for a specific city."""

输入:

  • city: 要获取空气质量数据的城市名称

输出: 带有以下内容的 AQIData

  • aqi: 空气质量指数值
  • station: 站点名称
  • dominant_pollutant: 主要污染物(如果可用)
  • time: 测量的时间戳
  • coordinates: 站点的纬度和经度

2. geo_aqi

使用坐标获取特定位置的空气质量数据。

@mcp.tool()
def geo_aqi(latitude: float, longitude: float) -> AQIData:
    """Get air quality data for a specific location using coordinates."""

输入:

  • latitude: 位置的纬度
  • longitude: 位置的经度

输出:city_aqi 相同

3. search_station

按关键字搜索空气质量监测站。

@mcp.tool()
def search_station(keyword: str) -> list[StationInfo]:
    """Search for air quality monitoring stations by keyword."""

输入:

  • keyword: 用于搜索站点的关键字(城市名称、站点名称等)

输出: 带有以下内容的 StationInfo 列表:

  • name: 站点名称
  • station_id: 唯一的站点标识符
  • coordinates: 站点的纬度和经度

使用示例

使用 MCP Python 客户端:

from mcp import Client

async with Client() as client:
    # 获取北京的空气质量数据
    beijing_data = await client.city_aqi(city="beijing")
    print(f"北京 AQI: {beijing_data.aqi}")

    # 通过坐标获取空气质量数据(东京)
    geo_data = await client.geo_aqi(latitude=35.6762, longitude=139.6503)
    print(f"东京 AQI: {geo_data.aqi}")

    # 搜索站点
    stations = await client.search_station(keyword="london")
    for station in stations:
        print(f"站点: {station.name} ({station.coordinates})")

贡献

欢迎提出问题和拉取请求。请确保您的更改包含适当的测试和文档。

许可证

本项目根据 MIT 许可证获得许可。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选