mcpField
N
Node Api

Node Api

リモート
github.com/eianray開発ツール034 週間前に更新
リポジトリ

Node Api について

Node APIは、AIエージェントや開発者向けの空間データ処理APIです。形式変換、ジオメトリ操作、ベクタータイル生成に対応し、ローカルのstdioまたはリモートSSE経由で処理機能をMCPツールとして公開します。

主な機能

  1. 01GeoJSON、Shapefile、GeoPackage、KML間の変換
  2. 02ジオメトリの再投影、検証、修復
  3. 03単一レイヤーと2レイヤーの地理処理
  4. 04DXFジオメトリの抽出とベクタータイル生成
  5. 05Webhook通知付き非同期ジョブ

活用シーン

  1. 01対応形式間での空間データ変換
  2. 02ジオメトリファイルの再投影や修復
  3. 03空間レイヤーのクリップ、バッファー、交差、結合
  4. 04空間データからのベクタータイル生成

MCP 対応

ローカルstdioとリモートSSEを通じて、空間処理エンドポイントをMCPツールとして公開します。READMEには変換、再投影、検証、修復、地理処理、料金のツールが記載されています。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://nodeapi.ai/mcp/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Node API

バージョン: 0.5.2
ステータス: フェーズ 3 — 公開
公開先: nodeapi.ai | API ドキュメント | MCP

AI エージェントや開発者向けの、機械ネイティブな空間データ処理です。エンドポイントは 25 個です。Solana で、1 回の操作につき 0.01 USDC をお支払いください。アカウント、API キー、サブスクリプションは不要です。


クイックスタート

# 1. Send a request — get a 402 with payment details
curl -X POST https://nodeapi.ai/v1/validate \
  -F "[email protected]"

# → 402: { "recipient": "D8m8C9amSawdqSgEdXWkMZ3M86qsVQuDJswG1wZYkezP", "amount_usd": "0.01", ... }

# 2. Send 0.01 USDC to the recipient on Solana Mainnet
#    Get the transaction signature from your wallet

# 3. Retry with the transaction signature
curl -X POST https://nodeapi.ai/v1/validate \
  -F "[email protected]" \
  -H "X-PAYMENT: <your_solana_tx_signature>"

# → 200: { "total_features": 1204, "valid_count": 1204, ... }

お支払い

有料エンドポイントではすべて、Solana Mainnet 上の USDC を使用する Solana Pay を利用します。

プロトコルSolana Pay
ネットワークSolana Mainnet
資産USDC (EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v)
価格1 回の操作につき一律 $0.01
受取先D8m8C9amSawdqSgEdXWkMZ3M86qsVQuDJswG1wZYkezP

手順:

  1. 任意のエンドポイントを呼び出す → Solana Pay の URL と受取先を含む 402 を受け取ります
  2. Solana Mainnet で 0.01 USDC を送金します(メモに nodeapi:<operation> を含めます)
  3. X-PAYMENT: <transaction_signature> を付けて再試行します
  4. 処理済みデータを受け取ります

エンドポイント

すべてのエンドポイントは /v1/<path>(推奨)と /<path>(旧形式。引き続きサポート)で利用できます。

情報(無料)
メソッドパス説明
GET/v1/healthサービスの稼働状況
GET/v1/pricing料金一覧
形式と検査
メソッドパス説明
POST/v1/convertGeoJSON、Shapefile、GeoPackage、KML 間で変換します
POST/v1/reproject任意の EPSG に投影または再投影します(割り当てと変換を自動判別)
POST/v1/validateジオメトリを検証し、JSON レポートを返します
POST/v1/repair無効なジオメトリを修復します(make_valid)
POST/v1/schemaフィールドスキーマ、CRS、bbox、フィーチャ数を抽出します
POST/v1/dxfDXF/CAD ファイルからジオメトリを抽出します
ジオプロセシング(入力 1 件)
メソッドパス説明
POST/v1/clipバウンディングボックスまたはポリゴンマスクで切り抜きます
POST/v1/buffer距離(メートル単位)を指定してフィーチャをバッファー処理します
POST/v1/eraseすべてのフィーチャを削除し、空のスキーマを保持します
POST/v1/dissolve属性フィールドでフィーチャをディゾルブします
POST/v1/feature-to-pointジオメトリを重心点に変換します
POST/v1/feature-to-lineポリゴンの境界をラインとして抽出します
POST/v1/feature-to-polygon閉じたラインをポリゴンに変換します
POST/v1/multipart-to-singlepartマルチパートジオメトリを分割します
POST/v1/add-field新しい属性列を追加します
ジオプロセシング(入力 2 件)
メソッドパス説明
POST/v1/union2 つのレイヤーのすべてのフィーチャを結合します
POST/v1/intersect2 つのレイヤーの空間的な交差を求めます
POST/v1/differenceレイヤー A から、レイヤー B との重複部分を差し引きます
POST/v1/appendレイヤー B のフィーチャをレイヤー A のスキーマに追加します
POST/v1/mergeすべてのフィールドを保持して 2 つのレイヤーをマージします
POST/v1/spatial-join空間的な関係に基づいて属性を結合します
タイル
メソッドパス説明
POST/v1/vectorize.mbtiles ベクタータイルパッケージを生成します(tippecanoe)
ジョブ
メソッドパス説明
GET/v1/jobs/{id}非同期ジョブのステータスをポーリングします
GET/v1/jobs/{id}/download完了したジョブの結果をダウンロードします

対応入力形式: GeoJSON、Shapefile (.zip)、GeoPackage (.gpkg)、KML、GDB(読み取り)、DXF


MCP 連携

Node API は 25 個すべてのエンドポイントを MCP ツールとして公開しており、Claude、GPT-4o、および MCP 対応のあらゆるエージェントと互換性があります。

リモート(インストール不要)
https://nodeapi.ai/mcp/sse

この SSE エンドポイントに任意の MCP クライアントを接続できます。認証は不要です。

Claude Desktop(ローカル)

~/Library/Application Support/Claude/claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "node-api": {
      "command": "/path/to/venv/bin/python",
      "args": ["-m", "app.mcp_server"],
      "cwd": "/path/to/node-api"
    }
  }
}

22 個の MCP ツール: convert、reproject、validate、repair、schema、clip、dxf、buffer、union、intersect、difference、erase、dissolve、feature-to-point、feature-to-line、feature-to-polygon、multipart-to-singlepart、add-field、append、merge、spatial-join、pricing


Webhook

非同期ジョブ(DXF 変換、大容量ファイルなど)では、ポーリングの代わりに、完了時に POST を受け取るための webhook_url を渡します。

curl -X POST https://nodeapi.ai/v1/dxf \
  -F "[email protected]" \
  -F "output_format=geojson" \
  -F "webhook_url=https://your-agent.com/callback" \
  -H "X-PAYMENT: <tx_signature>"

Webhook のペイロード:

{
  "job_id": "abc-123",
  "operation": "dxf",
  "status": "done",
  "result_url": "https://nodeapi.ai/v1/jobs/abc-123/download",
  "result_filename": "output.geojson",
  "size_bytes": 48291
}

検証用に、X-Webhook-Signature: sha256=<HMAC> で署名されています。


アーキテクチャ

  • FastAPI — 非同期、OpenAPI 仕様は /docs
  • GeoPandas + GDAL — 200 種類以上のベクター形式に対応
  • Shapely 2.x — ジオメトリ操作
  • pyproj — CRS の再投影
  • tippecanoe 2.79 — ベクタータイルの生成
  • PostgreSQL — 操作ログ + ジョブキュー
  • Solana Pay — Solana Mainnet 上での USDC マイクロペイメント
  • MCP SDK — stdio(ローカル)+ SSE(リモート)トランスポート
  • Cloudflare Tunnel — nodeapi.ai → API サーバー

開発環境のセットアップ

git clone https://github.com/eianray/node-api
cd node-api
python3 -m venv venv
venv/bin/pip install -r requirements.txt
cp .env.example .env
# Leave SOLANA_WALLET_ADDRESS=YOUR_SOLANA_WALLET_ADDRESS for dev mode (bypasses payment)
venv/bin/uvicorn app.main:app --reload --port 8100

ロードマップ

  • フェーズ 1 ✅ — 変換、再投影、検証、修復、スキーマ、クリップ
  • フェーズ 2 ✅ — DXF/CAD、バッファー、トポロジー(union/intersect/difference)、リモート MCP SSE
  • フェーズ 3 ✅(2026 年 3 月 4 日) — 11 個の新しいジオプロセシングエンドポイント、Solana Pay、Webhook、ベクタータイル、API バージョニング、22 個の MCP ツール
  • フェーズ 4 — Hetzner への移行、CDN キャッシュ、バッチ API、エージェントディレクトリーへの掲載

nodeapi.ai — エージェント経済圏のための空間処理インフラストラクチャ。

コメント

MCP は初めてですか?

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

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