mcpField
A
AQICN MCP Server

AQICN MCP Server

ローカル
github.com/mattmarcin地図・旅行190 週間前に更新

AQICN MCP Server について

AQICN MCP Serverは、World Air Quality Indexプロジェクトの大気質データをLLMに提供します。都市名や座標での検索と、測定ステーションの検索に対応しています。

主な機能

  1. 01都市名によるAQIデータ取得
  2. 02座標によるAQIデータ取得
  3. 03測定ステーションの検索
  4. 04汚染物質と測定情報の取得

活用シーン

  1. 01都市の大気質を確認
  2. 02地点周辺のAQIを調査
  3. 03測定ステーションの情報を検索

MCP 対応

このMCPサーバーは、都市名や座標による大気質検索と測定ステーション検索のためのAQICNツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"aqicn": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AQICN MCP サーバー

smithery badge

これは、World Air Quality Index(AQICN)プロジェクトの大気質データツールを提供する Model Context Protocol(MCP)サーバーです。LLM が世界中の都市や座標のリアルタイムな大気質データを取得できるようにします。

インストール

Smithery 経由でのインストール

Smithery 経由で AQICN MCP Server を Claude Desktop に自動的にインストールするには:

npx -y @smithery/cli install @mattmarcin/aqicn-mcp --client claude
推奨の uv を使用したインストール(手動)

Python 環境の管理には uv の使用をおすすめします。

# Install the package and dependencies
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:
    # Get air quality data for Beijing
    beijing_data = await client.city_aqi(city="beijing")
    print(f"Beijing AQI: {beijing_data.aqi}")

    # Get air quality data by coordinates (Tokyo)
    geo_data = await client.geo_aqi(latitude=35.6762, longitude=139.6503)
    print(f"Tokyo AQI: {geo_data.aqi}")

    # Search for stations
    stations = await client.search_station(keyword="london")
    for station in stations:
        print(f"Station: {station.name} ({station.coordinates})")

貢献

お気軽にイシューやプルリクエストを作成してください。変更には適切なテストとドキュメントを含めてください。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。