NodeAPI MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/eianray/node-api
cd node-api

Then follow the repository README for any remaining dependency or build steps before continuing.

2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add node-api -- node "<FULL_PATH_TO_NODE_API>/dist/index.js"

Replace <FULL_PATH_TO_NODE_API>/dist/index.js with the actual folder you prepared in step 1.

README.md

Machine-native spatial data processing for AI agents and developers.

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/ (recommended) and / (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=@

Tools (6)

convertConvert between GeoJSON, Shapefile, GeoPackage, and KML formats.
reprojectProject or reproject spatial data to any EPSG code.
validateValidate geometry and return a JSON report.
repairRepair invalid geometry using make_valid.
clipClip spatial data to a bounding box or polygon mask.
bufferBuffer features by a specified distance in meters.

Configuration

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

Try it

Validate the geometry of the uploaded parcels.geojson file and report any errors.
Convert the provided Shapefile into GeoJSON format.
Buffer the features in my dataset by 50 meters.
Reproject the current spatial data to EPSG:4326.
Clip the input layer using the provided bounding box.

Frequently Asked Questions

What are the key features of NodeAPI?

25 endpoints for vector geodata processing. Supports GeoJSON, Shapefile, GeoPackage, KML, and DXF. Solana Pay integration for pay-per-use processing. Remote MCP SSE support with no authentication required. Advanced geoprocessing including union, intersect, and spatial joins.

What can I use NodeAPI for?

Automated validation of GIS data pipelines. On-the-fly conversion of CAD files to web-ready GeoJSON. Spatial analysis tasks like buffering and clipping for AI agents. Batch processing of large geospatial datasets via async jobs.

How do I install NodeAPI?

Install NodeAPI by running: https://nodeapi.ai/mcp/sse

What MCP clients work with NodeAPI?

NodeAPI works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep NodeAPI docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare