
Pingpoint
io.github.sudzikcoinPublished by GitHub account sudzikcoinv0.5.1Updated Oct 27, 2026
Live truck GPS: create loads, read position, ETA, driver state, trip stats. API key or USDC x402.
Overview
MCP server for live truck GPS freight tracking: create loads, read driver position, ETA, stops and trip stats, and cancel loads.
- What you can do
- Create freight loads with pickup and delivery stops, which texts the driver an app link
- Read a load's live status, driver tracking state, GPS track, stop timeline and ETA
- Get post-trip stats such as distance, speed, hard braking and coverage
- Cancel a load, and look up current prices and prepaid balance
- When to use it
- Useful when an assistant should answer "where is my load?" or "how did the trip go?" for freight shipments, or create and cancel loads on a driver's behalf without an ELD provider or corporate account.
- Requirements
- Local Node.js 18 or newer process run via npx, or a hosted Streamable HTTP endpoint. Exactly one credential: PINGPOINT_AGENT_KEY, or PINGPOINT_WALLET_KEY_FILE for USDC pay-per-call with PINGPOINT_NETWORK. Optional PINGPOINT_RPC_URL and PINGPOINT_BASE_URL. Network access to the PingPoint API.
Installation
In SourceWeft
- Open Pingpoint in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@suverselabs/pingpoint-mcp
MCP server that gives an AI agent a live truck GPS position: create a freight load, PingPoint texts the driver an app link (onboarding takes about a minute — no ELD provider, no corporate account, no annual contract), then read live position, GPS track, stop timeline and ETA, and cancel a load you no longer need.
No account yet? A sandbox key is published at https://pingpoint.suverse.io/docs/#sandbox: same endpoints, no signup, and the load drives itself through the full cycle in about 20 minutes. Or skip keys entirely and pay per call with USDC from a wallet on Arc, Base or Solana.
Install
Claude Code, one line:
Or add to your MCP config (Claude Desktop: claude_desktop_config.json; Claude Code: .mcp.json; any MCP-capable agent works the same way):
Restart the agent and the tools appear.
Hosted endpoint (no install)
Clients that speak MCP Streamable HTTP can connect straight to
Claude Code: claude mcp add --transport http pingpoint https://pingpoint.suverse.io/mcp --header "Authorization: Bearer sup_agent_…".
The server is stateless and keeps no credentials: each request runs with the key it carries. Listing tools works without a key; calling one without it answers HTTP 401. Same tools, same prices. Wallet mode (pay per call with USDC) is available only when you run the package yourself.
Tools
Why update_load_status answers 501. PingPoint drives load statuses itself, from driver GPS and geofence events, so external status writes don't exist. Treat that as a data-integrity guarantee: a status you read was never hand-set by anyone; it is backed by actually recorded position. The tool is kept only so an agent that tries it gets a clear answer instead of a mystery. Delivery confirmation is likewise not a vendor operation — it belongs to the carrier flow, where the carrier files the BOL over Telegram.
Stops. A load carries 1–2 pickups and 1–3 deliveries; array order is the stop sequence. Each stop takes an optional window: date (start) and dateTo (end). onTime is measured against the dateTo of the last delivery, so without it that field stays null. Stops are fixed at creation — there is no add-stop tool.
Required to create a load: driverPhone (E.164 — the driver app link is sent to that number) plus pickups and deliveries arrays; every stop needs address, city, state, zip. Everything else is optional. customerRef doubles as a dedup key; pass the same idempotencyKey on retries so the balance is charged at most once.
Example — "where is my load?"
get_load_position with { "loadNumber": "LD-2026-042317" } returns:
(gpsTrack shortened here; the API returns up to the last 500 points.)
Example — "how did the trip go?"
get_load_position answers "where is the truck now"; get_trip_stats answers "how did the finished trip go". On a DELIVERED load, get_trip_stats with { "loadNumber": "LD-2026-648319" } returns:
Distances are miles, speeds are mph, percentages are 0–100, timestamps are UTC.
Is the driver actually sharing?
driverTracking in the get_load_position answer is the same word the PingPoint cabinet shows, so the agent can explain a silent load without guessing from an empty track:
null means the load has no driver yet.
Webhooks
Push notifications (pingpoint.load.created, pingpoint.load.updated, pingpoint.status.changed, pingpoint.load.completed, pingpoint.exception.raised, pingpoint.exception.resolved — the last two for LATE / NO_SIGNAL / LONG_DWELL) are configured in the cabinet, not through MCP tools: https://pingpoint.suverse.io/docs/webhooks
Pay per call with USDC
No account, no key: point the server at a wallet and every paid tool call is settled from it in USDC over x402 (HTTP 402 + a signed USDC transfer). PingPoint's relayer submits the transfer and pays the gas; the server only signs. Pick the chain with PINGPOINT_NETWORK:
Fund the wallet with USDC on that network (ask get_balance — it returns the address and the balance), then use the tools as usual. On Solana the wallet needs no SOL: PingPoint's relayer is the transaction fee payer. Paid results carry a payment block with the transaction hash (EVM) or signature (Solana) and an explorer link:
A refused call (403, 404, 429, invalid input, PaymentFailed INSUFFICIENT_BALANCE, 503 X402_RELAYER_LOW_GAS) costs nothing: ownership, limits, balance and the relayer's gas are checked before settlement. EVM offers live 300 s with a one-time nonce per signature; a Solana transaction lives as long as its blockhash (about a minute). The SDK refuses offers above 1 USDC or on another asset or network before signing. Keep the key file private (chmod 600) — a wallet holding just enough USDC for the day is the sensible setup. Public RPC endpoints (Base, Solana) rate-limit; set PINGPOINT_RPC_URL to your provider for steady use.
Getting a key
- Sign up at pingpoint.suverse.io (e-mail or Google/GitHub).
- In the cabinet open Integrations → Agent API and press Issue key.
- The
sup_agent_…key arrives by e-mail. PingPoint never stores the secret — if it's lost, re-issue from the same page.
Free operations work at zero balance. Paid ones debit your prepaid balance (top up in the cabinet, Billing); when it can't cover a call you get 402 INSUFFICIENT_FUNDS and nothing is charged.
Pricing
The same prices apply in USDC when paying per call with a wallet.
Environment
Built on @suverselabs/pingpoint-sdk — same contract, one implementation. Node ≥ 18. Runtime deps: the MCP SDK, zod, viem (EVM wallet signing and balance read) and @solana/web3.js (Solana keypair signing).
Full API documentation: https://pingpoint.suverse.io/docs
Source: packages/mcp/README.md at commit 4c963a4
Tools
0Version history
2- v0.5.1LatestSep 20, 2026
- v0.5.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts