Skip to main content
Glama
eianray

NodeAPI

by eianray

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, ... }

Related MCP server: @terranode-co/mcp-server

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.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    A geospatial MCP server that provides tools for geocoding, routing, elevation profiles, and spatial analysis. It enables AI agents to process GIS file formats like GeoJSON and Shapefiles while performing complex coordinate transformations and distance calculations.
    Last updated
    4
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for spatial queries via the Terranode Geospatial API, enabling AI agents to perform point-in-polygon lookups, nearest feature search, distance calculations, and spatial joins.
    Last updated
    6
    65
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Geospatial API tools for AI agents — geocoding, reverse geocoding, routing, isochrone, distance matrix, static maps, H3 hexagons, elevation, GPS map-matching, point-in-polygon, address normalisation, timezone lookup, and batch geocoding. Built on OpenStreetMap infrastructure. Cost-effective alternative to Google Maps API.
    Last updated
    18
    41
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eianray/node-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server