loading…
Search for a command to run...
loading…
Machine-native GIS processing API for AI agents and developers. Convert, reproject, validate, repair, buffer, clip, dissolve, and tile vector geodata across 25
Machine-native GIS processing API for AI agents and developers. Convert, reproject, validate, repair, buffer, clip, dissolve, and tile vector geodata across 25 endpoints. Pay-per-use USDC on Solana Mainnet ($0.01/op). No accounts, no API keys. Remote MCP SSE.
Version: 0.5.2
Status: Phase 3 — Public
Live at: nodeapi.ai | API Docs | MCP
Machine-native spatial data processing for AI agents and developers. 25 endpoints. Pay $0.01 USDC per operation on Solana. No accounts, no API keys, no subscriptions.
# 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, ... }
Every paid endpoint uses Solana Pay with USDC on Solana Mainnet.
| Protocol | Solana Pay |
| Network | Solana Mainnet |
| Asset | USDC (EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v) |
| Price | $0.01 flat per operation |
| Recipient | D8m8C9amSawdqSgEdXWkMZ3M86qsVQuDJswG1wZYkezP |
Flow:
402 with Solana Pay URL + recipientnodeapi:<operation>)X-PAYMENT: <transaction_signature>All endpoints available at /v1/<path> (recommended) and /<path> (legacy, still supported).
| Method | Path | Description |
|---|---|---|
| GET | /v1/health |
Service health |
| GET | /v1/pricing |
Full pricing list |
| Method | Path | Description |
|---|---|---|
| POST | /v1/convert |
Convert between GeoJSON, Shapefile, GeoPackage, KML |
| POST | /v1/reproject |
Project or reproject to any EPSG (auto-detects assign vs transform) |
| POST | /v1/validate |
Validate geometry — returns JSON report |
| POST | /v1/repair |
Repair invalid geometry (make_valid) |
| POST | /v1/schema |
Extract field schema, CRS, bbox, feature count |
| POST | /v1/dxf |
Extract geometry from DXF/CAD files |
| Method | Path | Description |
|---|---|---|
| POST | /v1/clip |
Clip to bounding box or polygon mask |
| POST | /v1/buffer |
Buffer features by distance in meters |
| POST | /v1/erase |
Delete all features, preserve empty schema |
| POST | /v1/dissolve |
Dissolve features by attribute field |
| POST | /v1/feature-to-point |
Convert geometries to centroid points |
| POST | /v1/feature-to-line |
Extract polygon boundaries as lines |
| POST | /v1/feature-to-polygon |
Convert closed lines to polygons |
| POST | /v1/multipart-to-singlepart |
Explode multipart geometries |
| POST | /v1/add-field |
Add a new attribute column |
| Method | Path | Description |
|---|---|---|
| POST | /v1/union |
Combine all features from two layers |
| POST | /v1/intersect |
Spatial intersection of two layers |
| POST | /v1/difference |
Layer A minus overlap with layer B |
| POST | /v1/append |
Append features from layer B into layer A's schema |
| POST | /v1/merge |
Merge two layers, preserving all fields |
| POST | /v1/spatial-join |
Join attributes by spatial relationship |
| Method | Path | Description |
|---|---|---|
| POST | /v1/vectorize |
Generate .mbtiles vector tile package (tippecanoe) |
| Method | Path | Description |
|---|---|---|
| GET | /v1/jobs/{id} |
Poll async job status |
| GET | /v1/jobs/{id}/download |
Download completed job result |
Supported input formats: GeoJSON, Shapefile (.zip), GeoPackage (.gpkg), KML, GDB (read), DXF
Node API exposes all 25 endpoints as MCP tools — compatible with Claude, GPT-4o, and any MCP-enabled agent.
https://nodeapi.ai/mcp/sse
Connect any MCP client to this SSE endpoint. No authentication needed.
Add to ~/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 tools: 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
For async jobs (DXF conversion, any large file), pass a webhook_url to receive a POST on completion instead of polling.
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 payload:
{
"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
}
Signed with X-Webhook-Signature: sha256=<HMAC> for verification.
/docsnodeapi.ai → API servergit 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
nodeapi.ai — spatial processing infrastructure for the agent economy.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"nodeapi": {
"command": "npx",
"args": []
}
}
}