プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Pingpoint

作者:sudzikcoinバージョン 0.5.1i★ –iパソコンで動く
レジストリ名io.github.sudzikcoin/pingpoint

インストール

概要

作者による説明(英語の原文)

Live truck GPS: create loads, read position, ETA, driver state, trip stats. API key or USDC x402.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他
  • 入力が必要なもの:PINGPOINT_AGENT_KEY, PINGPOINT_WALLET_KEY_FILE

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: PINGPOINT_AGENT_KEY, PINGPOINT_WALLET_KEY_FILE, PINGPOINT_NETWORK, PINGPOINT_BASE_URL, PINGPOINT_RPC_URL

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "pingpoint": {
      "command": "npx",
      "args": [
        "-y",
        "@suverselabs/pingpoint-mcp"
      ],
      "env": {
        "PINGPOINT_AGENT_KEY": "your-value",
        "PINGPOINT_WALLET_KEY_FILE": "your-value",
        "PINGPOINT_NETWORK": "your-value",
        "PINGPOINT_BASE_URL": "your-value",
        "PINGPOINT_RPC_URL": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add pingpoint --env PINGPOINT_AGENT_KEY=your-value --env PINGPOINT_WALLET_KEY_FILE=your-value --env PINGPOINT_NETWORK=your-value --env PINGPOINT_BASE_URL=your-value --env PINGPOINT_RPC_URL=your-value -- npx -y @suverselabs/pingpoint-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "pingpoint": {
      "command": "npx",
      "args": [
        "-y",
        "@suverselabs/pingpoint-mcp"
      ],
      "env": {
        "PINGPOINT_AGENT_KEY": "your-value",
        "PINGPOINT_WALLET_KEY_FILE": "your-value",
        "PINGPOINT_NETWORK": "your-value",
        "PINGPOINT_BASE_URL": "your-value",
        "PINGPOINT_RPC_URL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "pingpoint": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@suverselabs/pingpoint-mcp"
      ],
      "env": {
        "PINGPOINT_AGENT_KEY": "your-value",
        "PINGPOINT_WALLET_KEY_FILE": "your-value",
        "PINGPOINT_NETWORK": "your-value",
        "PINGPOINT_BASE_URL": "your-value",
        "PINGPOINT_RPC_URL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • PINGPOINT_AGENT_KEY 秘密 env
    PingPoint Agent API key (sup_agent_...), issued in the cabinet: Integrations -> Agent API. Either this or PINGPOINT_WALLET_KEY_FILE.
  • PINGPOINT_WALLET_KEY_FILE 秘密 env
    Pay per call with USDC (x402) instead of a key: path to a file holding the wallet key - EVM private key (0x + 64 hex) for arc-mainnet/arc-testnet/base-mainnet, solana-keygen JSON or base58 secret for…
  • PINGPOINT_NETWORK env
    Network for wallet mode: arc-testnet (default), arc-mainnet, base-mainnet or solana-mainnet
  • PINGPOINT_BASE_URL env
    Override for the PingPoint API base URL (default https://api.suverse.io with a key, https://pingpoint.suverse.io with a wallet)
  • PINGPOINT_RPC_URL env
    Wallet mode only: JSON-RPC URL of the chosen chain for get_balance and, on Solana, the blockhash read each payment needs (default: the public RPC, which rate-limits)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント sudzikcoin で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32489件のうち0%よりスターが多い
  • このカテゴリのほかの32489件のうち45%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32489件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Pingpointは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:PINGPOINT_AGENT_KEY, PINGPOINT_WALLET_KEY_FILE

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.5.1)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Whisper

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

Whisper

作者:whisper-sec

One routable IPv6 per AI agent, verifiable from the DNS root. Keyless tools need no signup.

パソコンでもクラウドでも今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

@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:

claude mcp add pingpoint --env PINGPOINT_AGENT_KEY=sup_agent_… -- npx -y @suverselabs/pingpoint-mcp

Or add to your MCP config (Claude Desktop: claude_desktop_config.json; Claude Code: .mcp.json; any MCP-capable agent works the same way):

{

"mcpServers": { "pingpoint": { "command": "npx", "args": ["-y", "@suverselabs/pingpoint-mcp"], "env": { "PINGPOINT_AGENT_KEY": "sup_agent_…" } } } }

Restart the agent and the tools appear.

Hosted endpoint (no install)

Clients that speak MCP Streamable HTTP can connect straight to

https://pingpoint.suverse.io/mcp

Authorization: Bearer sup_agent_…

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

ToolWhat it doesReturnsPrice
create_loadCreates a freight load (multi-stop supported); PingPoint texts the driver app link to driverPhoneloadNumber, public trackingLink, driver web/app links, dedup flag$0.65
get_load_positionLive state of a load by load numberstatus, driver tracking state (driverTracking) with invite/open/decline timestamps, GPS track (last 500 points), stops with arrive/depart timestamps, distance covered, on-time flag, dwell times, ETA block$0.02
get_trip_statsPost-trip summary over the whole GPS trip (best on a DELIVERED load)stats with distance, duration, avg/max speed, hard accel/brake counts, city/highway/parked/night shares, GPS coverage, first/last ping$0.02
cancel_loadCancels the load: status CANCELLED, tracking stops, nothing deleted, no refund{ ok, loadNumber, previousStatus, status, cancelledAt, trackingEndedAt }free
update_load_statusNot part of the API — statuses are GPS-verified, see belowHTTP 501 OPERATION_NOT_AVAILABLE—
get_pricingCurrent USD price list for agent operations{ currency, prices }free
get_balancePrepaid balance that pays for creates and position reads{ currency, balanceUsd }free

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:

{

"loadNumber": "LD-2026-042317", "pingpointLoadId": "6f1c2d3e-8a45-4b9c-9d10-2e5f7a8b9c01", "status": "IN_TRANSIT", "createdAt": "2026-08-18T14:02:11.000Z", "deliveredAt": null, "driverTracking": "REPORTING", "inviteSentAt": "2026-08-18T14:02:12.000Z", "linkOpenedAt": null, "declinedAt": null, "distanceMiles": 412.7, "onTime": null, "delayMinutes": null, "pickupDwellMinutes": 38, "deliveryDwellMinutes": null, "stops": [ { "type": "PICKUP", "sequence": 1, "city": "Claremore", "state": "OK", "windowFrom": "2026-08-18T15:00:00.000Z", "windowTo": "2026-08-18T19:00:00.000Z", "arrivedAt": "2026-08-18T15:47:31.000Z", "departedAt": "2026-08-18T16:25:09.000Z" }, { "type": "DELIVERY", "sequence": 2, "city": "Charlotte", "state": "NC", "windowFrom": "2026-08-20T12:00:00.000Z", "windowTo": "2026-08-20T16:00:00.000Z", "arrivedAt": null, "departedAt": null } ], "gpsTrack": [ { "lat": 36.3126, "lng": -95.6161, "speed": null, "heading": null, "ts": "2026-08-18T16:25:09.000Z" }, { "lat": 35.4676, "lng": -94.3579, "speed": null, "heading": null, "ts": "2026-08-18T18:55:42.000Z" } ], "pingCount": 214, "eta": { "nextStop": { "type": "DELIVERY", "sequence": 2, "city": "Charlotte", "state": "NC" }, "receivingWindow": { "from": "2026-08-20T12:00:00.000Z", "to": "2026-08-20T16:00:00.000Z" }, "distanceToNextStopMi": 611.4, "driveTimeHours": 11.2, "moving": true, "stoppedForMinutes": null, "etaWindow": { "from": "2026-08-20T13:05:00.000Z", "to": "2026-08-20T15:40:00.000Z" }, "tracking": { "state": "pinging", "noDataForMinutes": null }, "reason": null } }

(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:

{

"loadNumber": "LD-2026-648319", "loadId": "927741bc-dfd0-41ba-9e99-5c5031c756f9", "stats": { "dataPoints": 4785, "durationSeconds": 69329, "estimatedDistanceMiles": 486.591, "avgSpeedMph": 25.27, "maxSpeedMph": 88.22, "hardAccelCount": 280, "hardBrakeCount": 168, "cityMilesPct": 9.96, "highwayMilesPct": 88.65, "parkedTimePct": 53.65, "nightPct": 44.7, "coveragePct": 100, "firstAt": "2026-08-18T16:53:25.000Z", "lastAt": "2026-08-19T12:08:54.000Z" } }

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:

driverTrackingMeaningLook at
NOT_BOUNDDriver link never opened in the appinviteSentAt (SMS went out?), linkOpenedAt (opened in a browser but app not installed)
BOUND_SILENTApp bound to the load, no position yetwait for the first ping
DECLINEDDriver tapped "Not now" on the location-consent screendeclinedAt; cleared once the driver agrees
REPORTINGPositions arrivinggpsTrack, eta
PAUSED_BY_DRIVERSharing paused from the appeta.tracking.state === "driver_paused"

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:

PINGPOINT_NETWORKKey file holdsUSDC
arc-mainnetEVM private key, 0x + 64 hexUSDC on Arc 0x3600…0000
arc-testnet (default)EVM private key, 0x + 64 hexArc testnet USDC 0x3600…0000 (faucet)
base-mainnetEVM private key, 0x + 64 hexCircle USDC on Base 0x8335…2913
solana-mainnetSolana secret key — the 64-byte JSON array written by solana-keygen, or base58Circle USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
# EVM (Arc testnet / Base)

echo "0x<64 hex private key>" > ~/.pingpoint-wallet.key && chmod 600 ~/.pingpoint-wallet.key claude mcp add pingpoint --env PINGPOINT_WALLET_KEY_FILE=$HOME/.pingpoint-wallet.key --env PINGPOINT_NETWORK=base-mainnet -- npx -y @suverselabs/pingpoint-mcp

Solana

solana-keygen new --outfile ~/.pingpoint-wallet.json # or point at an existing keypair file claude mcp add pingpoint --env PINGPOINT_WALLET_KEY_FILE=$HOME/.pingpoint-wallet.json --env PINGPOINT_NETWORK=solana-mainnet -- npx -y @suverselabs/pingpoint-mcp

{

"mcpServers": { "pingpoint": { "command": "npx", "args": ["-y", "@suverselabs/pingpoint-mcp"], "env": { "PINGPOINT_WALLET_KEY_FILE": "/home/me/.pingpoint-wallet.json", "PINGPOINT_NETWORK": "solana-mainnet", "PINGPOINT_RPC_URL": "https:// " } } } }

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:

{ "loadNumber": "LD-2026-111417", "trackingLink": "https://pingpoint.suverse.io/track/…",

"payment": { "transaction": "0x97f738e3…", "network": "base-mainnet", "payer": "0xE958…dB2E", "amountUsdc": "0.65", "explorerUrl": "https://basescan.org/tx/0x97f738e3…" } }

ToolPrice (USDC)Notes
create_load0.65per wallet and network: 2 loads per 24 hours on a testnet, 20 on a mainnet; a driver phone used by another wallet within the hour is refused
get_load_position0.02 per callonly loads created by this wallet (another wallet's load → 403)
get_trip_stats0.02 per callsame ownership rule
cancel_loadfreezero-value signature proves ownership, no transaction
get_pricingfreereads the server's 402 offers, nothing signed
get_balancefreeone RPC read of the wallet's USDC (ERC-20 balanceOf or the Solana token account); PINGPOINT_RPC_URL overrides the public RPC

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

  1. Sign up at pingpoint.suverse.io (e-mail or Google/GitHub).
  2. In the cabinet open **Integration

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く