NodeAPI

NodeAPI

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.

Category
Visit Server

README

Node API

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.


Quick Start

# 1. Send a request — get a 402 with payment details
curl -X POST https://nodeapi.ai/v1/validate \
  -F "file=@parcels.geojson"

# → 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 "file=@parcels.geojson" \
  -H "X-PAYMENT: <your_solana_tx_signature>"

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

Payment

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:

  1. Call any endpoint → receive 402 with Solana Pay URL + recipient
  2. Send 0.01 USDC on Solana Mainnet (include memo: nodeapi:<operation>)
  3. Retry with X-PAYMENT: <transaction_signature>
  4. Receive processed data

Endpoints

All endpoints available at /v1/<path> (recommended) and /<path> (legacy, still supported).

Info (free)

Method Path Description
GET /v1/health Service health
GET /v1/pricing Full pricing list

Format & Inspection

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

Geoprocessing (single input)

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

Geoprocessing (two inputs)

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

Tiles

Method Path Description
POST /v1/vectorize Generate .mbtiles vector tile package (tippecanoe)

Jobs

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


MCP Integration

Node API exposes all 25 endpoints as MCP tools — compatible with Claude, GPT-4o, and any MCP-enabled agent.

Remote (no install required)

https://nodeapi.ai/mcp/sse

Connect any MCP client to this SSE endpoint. No authentication needed.

Claude Desktop (local)

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


Webhooks

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 "file=@site-plan.dxf" \
  -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.


Architecture

  • FastAPI — async, OpenAPI spec at /docs
  • GeoPandas + GDAL — 200+ vector format support
  • Shapely 2.x — geometry operations
  • pyproj — CRS reprojection
  • tippecanoe 2.79 — vector tile generation
  • PostgreSQL — operations log + job queue
  • Solana Pay — USDC micropayments on Solana Mainnet
  • MCP SDK — stdio (local) + SSE (remote) transport
  • Cloudflare Tunnelnodeapi.ai → API server

Dev Setup

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

Roadmap

  • Phase 1 ✅ — Convert, reproject, validate, repair, schema, clip
  • Phase 2 ✅ — DXF/CAD, buffer, topology (union/intersect/difference), remote MCP SSE
  • Phase 3 ✅ (Mar 4 2026) — 11 new geoprocessing endpoints, Solana Pay, webhooks, vector tiles, API versioning, 22 MCP tools
  • Phase 4 — Hetzner migration, CDN caching, batch API, agent directory listings

nodeapi.ai — spatial processing infrastructure for the agent economy.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured