protogrid

Search / fun.pumpview/trading

PumpView — Solana Trading & Live Data

R1· needs a key

Solana swaps with local signing, confirmed receipts, trading volume and filtered live trade data.

v1.2.3 · active · repository · website · descriptor JSON · versions

An agent can connect on its own if it already holds TRADING_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality94new
Trust96of 100
Uptime, 30 days100%
Latency p501163 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "trading": {
      "type": "http",
      "url": "https://api.pumpview.fun/mcp/",
      "headers": {
        "Authorization": "Bearer ${TRADING_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http trading https://api.pumpview.fun/mcp/ --header "Authorization: Bearer ${TRADING_TOKEN}"
[mcp_servers.trading]
url = "https://api.pumpview.fun/mcp/"
bearer_token_env_var = "TRADING_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "trading": {
      "type": "remote",
      "url": "https://api.pumpview.fun/mcp/",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:TRADING_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "trading": {
      "type": "http",
      "url": "https://api.pumpview.fun/mcp/",
      "headers": {
        "Authorization": "Bearer ${TRADING_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=trading&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnB1bXB2aWV3LmZ1bi9tY3AvIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7VFJBRElOR19UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "trading": {
      "type": "http",
      "url": "https://api.pumpview.fun/mcp/",
      "headers": {
        "Authorization": "Bearer ${TRADING_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "trading": {
      "httpUrl": "https://api.pumpview.fun/mcp/",
      "headers": {
        "Authorization": "Bearer ${TRADING_TOKEN}"
      }
    }
  }
}
extensions:
  "trading":
    enabled: true
    name: "trading"
    type: streamable_http
    uri: "https://api.pumpview.fun/mcp/"
    headers:
      "Authorization": "Bearer ${TRADING_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${TRADING_TOKEN}. The registry never accepts secret values.

Quality 94 / 100new

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations14 of 14 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 4,303 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 2 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

14 tools, about 4,303 tokens to load them all · tool set 33c44645e99c · tools last changed 2026-10-17 · checked 2026-10-19 10:20 UTC

Tool changes

  • get_stream_connectionchangeddescription, output schema, annotationsmeaning changed
    before

    Get WSS connection instructions. Your runtime must open the connection and supply its API key; this tool does not start a background subscription.

    after · 17% of words in common

    Get WSS setup for continuous live trades instead of polling get_recent_trades. Requires a Bearer key with an active eligible data grant/budget; 402 means access is unavailable. Returns url, an Authorization header template, first_message JSON and cursor-resume instructions. This lookup consumes no data credits and opens no background connection. Your runtime must connect and insert its own key; all keys share one concurrent WSS connection per account. Delivered events consume data credits/budget under the plan. Persist the last cursor to resume; an expired cursor requires a fresh snapshot and gap handling.

  • confirm_invoice_paymentadded

    Verify an already-broadcast invoice payment and activate the purchased data package. Bearer key for the invoice owner required; no data credits consumed. Reads Solana at finalized and validates payer, recipient, USDC amount, memo and payment window. It never broadcasts a payment. Returns paid=true and invoice_id on settlement. Repeating the same invoice/signature is safe and never grants access twice. 409 may mean payment not finalized: retry this confirmation with backoff, not the payment. 400 means transaction mismatch; 404 means missing/foreign invoice; 503 means RPC unavailable. After success, use get_access_status, then get_recent_trades or get_stream_connection.

  • prepare_invoice_paymentadded

    Prepare an unsigned USDC payment for an existing unpaid, unexpired invoice. Bearer key required; no package or data credits needed. Returns a base64 legacy Solana transaction and last_valid_block_height. Review it against get_invoice_status: payer, recipient, mint, amount and pumpview:<id> memo. Your authorized wallet signs and broadcasts locally, using USDC plus SOL for network fees and possible token-account rent. PumpView never receives the private key. This tool does not sign, submit or activate the package. Next call confirm_invoice_payment with the wallet's broadcast signature. A 409 means expired/paid invoice. On blockhash expiry, check the old signature before preparing a replacement for the same invoice; never pay twice.

  • get_invoice_statusadded

    Read one of your account's existing invoices without creating or paying another. Bearer key required; no package or data credits needed. Returns payer, recipient, exact atomic USDC amount, memo, expires (Unix seconds) and paid. paid=false means not yet settled by PumpView, not proof of no on-chain payment. If your wallet already broadcast, use confirm_invoice_payment with that signature. Do not pay again while waiting. Missing or another account's invoice returns 404.

  • list_data_plansadded

    List current data packages and prices before buying a live-data subscription. Public: no key or credits needed. Returns plan IDs, price in atomic USDC (6 decimals), duration, event allowance, filters, account request/connection limits and sales_enabled. -1 credits means Unlimited. Trading alone needs no data package. If sales are enabled, choose a plan and call get_payment_instructions with its exact id to create an unpaid invoice.

  • get_payment_instructionschangeddescription, input schema, output schema, annotationsmeaning changed
    before

    Create an invoice for a USDC access package. This does not spend funds. Sign and submit its transaction using your own wallet, then confirm the signature through the HTTP API.

    after · 22% of words in common

    Create a new unpaid USDC invoice for a live-data package; this spends no funds. Call only after choosing a current plan with list_data_plans and checking get_access_status. Trading alone needs no data subscription. Requires a Bearer key and linked Solana wallet; missing wallet returns 409, unknown plan 404, disabled sales 503. Returns invoice id, payer, recipient, mint, atomic amount, memo and Unix expiry. Each call creates another invoice, so retain its ID rather than retry blindly. Next use prepare_invoice_payment, review/sign/broadcast with your wallet, then confirm_invoice_payment with the transaction signature. get_invoice_status checks settlement. submit_swap is for swaps, not invoice payments. Never pay an expired invoice or repeat a payment while confirmation is pending.

  • get_access_statuschangeddescription, output schema, annotationsmeaning changed
    before

    Get remaining packages, expiration dates and API key budgets for your account.

    after · 9% of words in common

    Inspect the authenticated account's live-data grants, rate limit and feed health. Call before consuming data or after an access error. Bearer key required; no data credits consumed. Returns unexpired grants (remaining=-1 means Unlimited), http_rate_limit shared across account keys, and source health. An empty grants list means no unexpired package; a grant can still have zero credits. Key-specific budgets are managed in the dashboard and are not in this response. Use get_trading_usage for swap volume, get_trading_config for swap policy, and get_payment_instructions to create a data-package invoice.

  • get_recent_tradeschangeddescription, input schema, output schema, annotationsmeaning changed
    before

    Get accepted swap summaries. Follow the returned cursor to scan subsequent events. Each returned event costs one credit; an empty response costs one credit.

    after · 10% of words in common

    Read filtered market swap summaries from PumpView's supported SOL-pair feed. Use for recent market activity, not your submitted swap receipt (get_swap_status). Requires a Bearer key, active data grant and sufficient key budget. Each call consumes max(1, returned event count) credits; repeated reads also count. Unlimited has no package event cap, but an explicit key budget still applies. Returns events in feed order, a cursor and health. Filtering follows batch scanning, so advance using the returned cursor even for an empty batch. On 409 cursor_expired restart without after and record a gap; 402 means access or budget exhausted, 503 means unavailable source. Use get_stream_connection for continuous WSS delivery. Amounts are decoder floats, not full transaction accounting.

  • get_swap_statuschangeddescription, input schema, output schema, annotationsmeaning changed
    before

    Read signature, confirmation state and actual on-chain receipt from confirmed onward. Receipt may briefly be null while RPC metadata catches up; poll this ID for the receipt and finalized status. Does not submit or rebuild a transaction.

    after · 25% of words in common

    Check an existing account swap after submission, including after a timeout. Requires the owning account's Bearer key; no data credits consumed. Returns id, signature, status and receipt. States are built, submitted, confirmed, finalized, failed or expired. Execution receipts start at confirmed and may still be null while RPC metadata catches up. Poll this ID with backoff within the account rate limit; use get_trading_usage for aggregate volume. This call refreshes stored status/receipts but never submits, signs or rebuilds a trade.

  • submit_swapchangeddescription, input schema, output schemameaning changed
    before

    Broadcast a transaction already signed and approved by the wallet through Kolibrio. This can spend funds. Only the exact message returned by build_swap is accepted. After uncertainty poll get_swap_status; never automatically build a new trade.

    after · 42% of words in common

    Broadcast the wallet-approved, signed build through Kolibrio. This can spend funds. Requires a Bearer key for the account that built the swap. Only the exact build_swap message is accepted; the wallet must already have reviewed and authorized its amounts and costs. Returns the swap ID, signature and current status; submitted is not confirmation. Repeating the same ID and signed bytes cannot create a different trade. After a timeout or uncertain delivery, poll get_swap_status; never automatically build a replacement or change its blockhash.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-3d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.pumpview.fun/mcp/ streamable-httpapi_key ${TRADING_TOKEN}yes100%1163 ms2026-07-282026-10-19

Tools (14)

build_swapBuild and simulate an unsigned ExactIn swap, without spending funds. Requires a Bearer API key and its linked wallet, but no data subscription or credits. Check get_trading_config first. At least one leg must be SOL/WSOL or USDC; minimum value is $5 unless Unlimited is active. Execution costs 0.5% plus tips and network fees. Returns id, unsigned transaction_base64, expiry, expected/minimum output and cost breakdown. Review them, sign locally, then call submit_swap. Persist request_id; retry the identical intent after a build timeout. A 409 means conflicting intent; 410 means expired build and requires an explicit decision to create a new intent. Never silently increase slippage.
confirm_invoice_paymentVerify an already-broadcast invoice payment and activate the purchased data package. Bearer key for the invoice owner required; no data credits consumed. Reads Solana at finalized and validates payer, recipient, USDC amount, memo and payment window. It never broadcasts a payment. Returns paid=true and invoice_id on settlement. Repeating the same invoice/signature is safe and never grants access twice. 409 may mean payment not finalized: retry this confirmation with backoff, not the payment. 400 means transaction mismatch; 404 means missing/foreign invoice; 503 means RPC unavailable. After success, use get_access_status, then get_recent_trades or get_stream_connection.
get_access_statusread-onlyInspect the authenticated account's live-data grants, rate limit and feed health. Call before consuming data or after an access error. Bearer key required; no data credits consumed. Returns unexpired grants (remaining=-1 means Unlimited), http_rate_limit shared across account keys, and source health. An empty grants list means no unexpired package; a grant can still have zero credits. Key-specific budgets are managed in the dashboard and are not in this response. Use get_trading_usage for swap volume, get_trading_config for swap policy, and get_payment_instructions to create a data-package invoice.
get_invoice_statusread-onlyRead one of your account's existing invoices without creating or paying another. Bearer key required; no package or data credits needed. Returns payer, recipient, exact atomic USDC amount, memo, expires (Unix seconds) and paid. paid=false means not yet settled by PumpView, not proof of no on-chain payment. If your wallet already broadcast, use confirm_invoice_payment with that signature. Do not pay again while waiting. Missing or another account's invoice returns 404.
get_onboarding_instructionsread-onlyGet API-key setup and integration instructions before your first PumpView call. Public: no key or data credits needed. Returns dashboard/Agent Kit/docs URLs, ordered HTTP wallet-challenge steps, and separate trading/data workflows. Does not create an account, sign, pay or trade. Once connected, use get_trading_config for swap policy or get_access_status for your purchased access.
get_payment_instructionsCreate a new unpaid USDC invoice for a live-data package; this spends no funds. Call only after choosing a current plan with list_data_plans and checking get_access_status. Trading alone needs no data subscription. Requires a Bearer key and linked Solana wallet; missing wallet returns 409, unknown plan 404, disabled sales 503. Returns invoice id, payer, recipient, mint, atomic amount, memo and Unix expiry. Each call creates another invoice, so retain its ID rather than retry blindly. Next use prepare_invoice_payment, review/sign/broadcast with your wallet, then confirm_invoice_payment with the transaction signature. get_invoice_status checks settlement. submit_swap is for swaps, not invoice payments. Never pay an expired invoice or repeat a payment while confirmation is pending.
get_recent_tradesRead filtered market swap summaries from PumpView's supported SOL-pair feed. Use for recent market activity, not your submitted swap receipt (get_swap_status). Requires a Bearer key, active data grant and sufficient key budget. Each call consumes max(1, returned event count) credits; repeated reads also count. Unlimited has no package event cap, but an explicit key budget still applies. Returns events in feed order, a cursor and health. Filtering follows batch scanning, so advance using the returned cursor even for an empty batch. On 409 cursor_expired restart without after and record a gap; 402 means access or budget exhausted, 503 means unavailable source. Use get_stream_connection for continuous WSS delivery. Amounts are decoder floats, not full transaction accounting.
get_stream_connectionread-onlyGet WSS setup for continuous live trades instead of polling get_recent_trades. Requires a Bearer key with an active eligible data grant/budget; 402 means access is unavailable. Returns url, an Authorization header template, first_message JSON and cursor-resume instructions. This lookup consumes no data credits and opens no background connection. Your runtime must connect and insert its own key; all keys share one concurrent WSS connection per account. Delivered events consume data credits/budget under the plan. Persist the last cursor to resume; an expired cursor requires a fresh snapshot and gap handling.
get_swap_statusread-onlyCheck an existing account swap after submission, including after a timeout. Requires the owning account's Bearer key; no data credits consumed. Returns id, signature, status and receipt. States are built, submitted, confirmed, finalized, failed or expired. Execution receipts start at confirmed and may still be null while RPC metadata catches up. Poll this ID with backoff within the account rate limit; use get_trading_usage for aggregate volume. This call refreshes stored status/receipts but never submits, signs or rebuilds a trade.
get_trading_configread-onlyRead the current server's swap policy before choosing build_swap parameters. Public: no API key or data credits needed. Returns enabled, mint aliases, allowed pair assets, fee basis points, USD minimums, tip limits and build TTL. enabled is configuration status, not a liquidity quote or an RPC health check. Use get_trading_usage for executed account volume and get_access_status for grants.
get_trading_usageread-onlyRead all-time executed volume for the authenticated account and each API key. Use for accounting, not market history (get_recent_trades) or one receipt (get_swap_status). Bearer key required; no data package or credits consumed. Returns available, totals and by_api_key. Successful swaps count once from confirmed; finalization never adds them again. SOL/USDC amounts are decimal strings; USD uses build-time prices. available=false means temporary unavailability, not zero volume. Newly confirmed receipts may appear shortly later.
list_data_plansread-onlyList current data packages and prices before buying a live-data subscription. Public: no key or credits needed. Returns plan IDs, price in atomic USDC (6 decimals), duration, event allowance, filters, account request/connection limits and sales_enabled. -1 credits means Unlimited. Trading alone needs no data package. If sales are enabled, choose a plan and call get_payment_instructions with its exact id to create an unpaid invoice.
prepare_invoice_paymentread-onlyPrepare an unsigned USDC payment for an existing unpaid, unexpired invoice. Bearer key required; no package or data credits needed. Returns a base64 legacy Solana transaction and last_valid_block_height. Review it against get_invoice_status: payer, recipient, mint, amount and pumpview:<id> memo. Your authorized wallet signs and broadcasts locally, using USDC plus SOL for network fees and possible token-account rent. PumpView never receives the private key. This tool does not sign, submit or activate the package. Next call confirm_invoice_payment with the wallet's broadcast signature. A 409 means expired/paid invoice. On blockhash expiry, check the old signature before preparing a replacement for the same invoice; never pay twice.
submit_swapdestructiveBroadcast the wallet-approved, signed build through Kolibrio. This can spend funds. Requires a Bearer key for the account that built the swap. Only the exact build_swap message is accepted; the wallet must already have reviewed and authorized its amounts and costs. Returns the swap ID, signature and current status; submitted is not confirmation. Repeating the same ID and signed bytes cannot create a different trade. After a timeout or uncertain delivery, poll get_swap_status; never automatically build a replacement or change its blockhash.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "fun.pumpview/trading",
  "icons": [
    {
      "src": "https://pumpview.fun/static/favicon.svg",
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "PumpView — Solana Trading & Live Data",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.pumpview.fun/mcp/",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer <PumpView API key>. Get a key from your account or through wallet-signature onboarding."
        }
      ]
    }
  ],
  "version": "1.2.3",
  "repository": {
    "url": "https://github.com/grinchdev/pumpview-agent-kits",
    "source": "github"
  },
  "websiteUrl": "https://pumpview.fun/solana-trading-api",
  "description": "Solana swaps with local signing, confirmed receipts, trading volume and filtered live trade data."
}