three.ws pump.fun MCP

Free pump.fun and Solana token discovery and on-chain analysis tools, by three.ws.

Sollte ich dies verwenden

Qualität und Sicherheit

B
Qualität der Beschreibung
90%
Vollständigkeit des Schemas
84%
Qualität der Benennung
86%
Risiko der Vergiftung
80%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (9)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringin pumpfun_quote_swap
  • LOWTool 'get_token_trades' description lacks action verbin get_token_trades
  • LOWTool 'get_trending_tokens' description lacks action verbin get_trending_tokens
  • LOWTool 'get_new_tokens' description lacks action verbin get_new_tokens
  • LOWTool 'get_token_holders' description lacks action verbin get_token_holders
  • LOWTool 'kol_leaderboard' description lacks action verbin kol_leaderboard
  • LOWTool 'pumpfun_bot_status' description lacks action verbin pumpfun_bot_status
  • LOWTool 'sns_reverseLookup' doesn't follow camelCase/snake_casein sns_reverseLookup

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~5,740Tokens (Tool-Definitionen)
~2.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (4.48% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "threews-pumpfun": {
      "url": "https://three.ws/api/pump-fun-mcp"
    }
  }
}

Remote-Endpunkte

https://three.ws/api/pump-fun-mcpstreamable-http

Was es kann

Tool-Inventar

Tools (21)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢get_token_details(mint)

Full details for a specific pump.fun token by mint address.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string"
    }
  },
  "required": [
    "mint"
  ]
}
🟢get_bonding_curve(mint, network)

Bonding curve analysis: real reserves, virtual reserves, and graduation progress (on-chain). Pre-graduation only: these reserves come from the pump program bonding-curve account, not from a PumpSwap pool. Pump renamed the quote-side fields on-chain (real_sol_reserves -> real_quote_reserves, virtual_sol_reserves -> virtual_quote_reserves) once a non-SOL quote asset became possible; the response keys below keep their original names and are still denominated in SOL, because the curve quote_mint is the SOL default on every coin created to date. Once complete=true the curve is retired and pricing moves to the PumpSwap pool, so use pumpfun_quote_swap from that point on.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string"
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "mint"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string"
    },
    "network": {
      "type": "string"
    },
    "complete": {
      "type": "boolean",
      "description": "true once the curve has graduated"
    },
    "graduationPercent": {
      "type": "number",
      "description": "0–100 graduation progress"
    },
    "solReserves": {
      "type": "string",
      "description": "Real quote reserves in SOL (4-decimal string). On-chain field: real_quote_reserves."
    },
    "tokenReserves": {
      "type": "string",
      "description": "Real token reserves (raw base units)"
    },
    "virtualSolReserves": {
      "type": "string",
      "description": "Virtual quote reserves (lamports). On-chain field: virtual_quote_reserves (u64). Spot price = virtual_quote_reserves / virtual_token_reserves. Distinct from the identically-named PumpSwap Pool.virtual_quote_reserves (an i128), which applies only after graduation."
    },
    "virtualTokenReserves": {
      "type": "string",
      "description": "Virtual token reserves (raw base units)"
    }
  },
  "required": [
    "mint",
    "network",
    "complete",
    "graduationPercent",
    "solReserves",
    "tokenReserves",
    "virtualSolReserves",
    "virtualTokenReserves"
  ],
  "additionalProperties": true
}
🟢get_token_trades(mint, limit)

Recent buy/sell history for a token.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    }
  },
  "required": [
    "mint"
  ]
}
🟢get_trending_tokens(limit)

Top pump.fun tokens by market cap.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  }
}
🟢get_new_tokens(limit)

Most recently launched pump.fun tokens.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  }
}
🟢get_token_holders(mint, limit, network)

Top holders of a token with concentration analysis (on-chain).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "mint"
  ]
}
🟢pumpfun_vanity_mint(suffix, prefix, caseSensitive, maxAttempts)

Generate a Solana keypair whose address ends/starts with a vanity pattern. Returns publicKey + secretKey (base58). Caller must save the secret key immediately — it is never stored. Hard timeout: 60 s.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "suffix": {
      "type": "string",
      "description": "Desired address suffix (case-insensitive by default)"
    },
    "prefix": {
      "type": "string",
      "description": "Desired address prefix (case-insensitive by default)"
    },
    "caseSensitive": {
      "type": "boolean",
      "default": false
    },
    "maxAttempts": {
      "type": "integer",
      "default": 5000000
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "publicKey": {
      "type": "string",
      "description": "Matched Solana address (base58)"
    },
    "secretKey": {
      "type": "string",
      "description": "Secret key (base58) — caller is sole custodian"
    },
    "attempts": {
      "type": "integer",
      "description": "Keypairs ground before the match"
    },
    "ms": {
      "type": "number",
      "description": "Wall-clock grind time in milliseconds"
    }
  },
  "required": [
    "publicKey",
    "secretKey",
    "attempts",
    "ms"
  ],
  "additionalProperties": true
}
🟢pumpfun_watch_whales(mint, minUsd, durationMs)

Collect whale trades on a pump.fun token for a short window (max 10 s). Returns all trades whose USD value meets minUsd.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "description": "SPL mint pubkey (base58)"
    },
    "minUsd": {
      "type": "number",
      "description": "Minimum trade value in USD (default 5000)"
    },
    "durationMs": {
      "type": "number",
      "description": "Collection window in ms (default 5000, max 10000)"
    }
  },
  "required": [
    "mint"
  ]
}
🟢pumpfun_list_claims(creator, limit, network)

List recent pump.fun fee-claim events for a creator wallet (on-chain, no indexer needed). Returns signature, mint, lamports, and Unix timestamp for each claim.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "creator": {
      "type": "string",
      "description": "Creator wallet address (base58)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "creator"
  ]
}
🟢pumpfun_watch_claims(creator, durationMs, network)

Return all pump.fun fee-claim events for a creator wallet within a look-back window (durationMs). Useful for batch collection after a delay.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "creator": {
      "type": "string",
      "description": "Creator wallet address (base58)"
    },
    "durationMs": {
      "type": "number",
      "description": "Look-back window in ms (default 300000 = 5 min, max 1800000)"
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "creator"
  ]
}
🟢pumpfun_first_claims(sinceMinutes, limit)

First-ever pump.fun creator fee claims in a time window: a cash-out signal. Returns creators who have never claimed before, with creator wallet, mint, lamports, and timestamp.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "sinceMinutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440,
      "default": 60,
      "description": "How far back to look for new claimers (minutes)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20
    }
  }
}
🟢sns_resolve(name)

Resolve a .sol Solana Name Service domain to its owner wallet address.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": ".sol domain name, e.g. \"bonfida.sol\""
    }
  },
  "required": [
    "name"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The .sol domain that was resolved"
    },
    "address": {
      "type": "string",
      "description": "Owner wallet address (base58)"
    }
  },
  "required": [
    "name",
    "address"
  ],
  "additionalProperties": true
}
🟢sns_reverseLookup(address)

Reverse-lookup a Solana wallet address to its primary .sol domain name.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Base58 Solana wallet address"
    }
  },
  "required": [
    "address"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "The wallet address that was looked up"
    },
    "name": {
      "type": "string",
      "description": "Primary .sol domain for the address"
    }
  },
  "required": [
    "address",
    "name"
  ],
  "additionalProperties": true
}
🟢social_cashtag_sentiment(posts)

Score social-post sentiment for a cashtag using a deterministic lexicon. Returns score (-1..1), positive/negative/neutral percentages, and example posts.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "posts": {
      "type": "array",
      "description": "Array of post objects. Each must have a text field; id, ts, and author are optional.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "ts": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "author": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ]
      }
    }
  },
  "required": [
    "posts"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "score": {
      "type": "number",
      "description": "Net sentiment, -1 (bearish) to 1 (bullish)"
    },
    "posPct": {
      "type": "number",
      "description": "Percentage of positive posts (0–100)"
    },
    "negPct": {
      "type": "number",
      "description": "Percentage of negative posts (0–100)"
    },
    "neuPct": {
      "type": "number",
      "description": "Percentage of neutral posts (0–100)"
    },
    "count": {
      "type": "integer",
      "description": "Number of posts scored"
    },
    "examples": {
      "type": "object",
      "properties": {
        "pos": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "neg": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "pos",
        "neg"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "score",
    "posPct",
    "negPct",
    "neuPct",
    "count",
    "examples"
  ],
  "additionalProperties": true
}
🟢kol_leaderboard(window, limit)

Top KOL traders ranked by P&L for a given time window. Returns wallet, pnlUsd, winRate, trades, rank.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "window": {
      "type": "string",
      "enum": [
        "24h",
        "7d",
        "30d"
      ],
      "default": "7d"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25
    }
  }
}
🟢pumpfun_quote_swap(inputMint, outputMint, amountIn, slippageBps, network)

Read-only price quote for a pump.fun AMM (PumpSwap) swap. No signing or tx sending. One of inputMint/outputMint must be wSOL (So11111111111111111111111111111111111111112). Only GRADUATED coins have an AMM pool; for a coin still on its bonding curve use get_bonding_curve instead. Pricing runs on the pool effective quote reserves (quote vault balance + pool.virtual_quote_reserves); the base side is the raw base vault balance. Returns amountOut, priceImpactBps, route, expiresAtMs, plus the reserves the quote was computed from so the number can be reproduced.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "inputMint": {
      "type": "string",
      "description": "Input token mint (base58)."
    },
    "outputMint": {
      "type": "string",
      "description": "Output token mint (base58)."
    },
    "amountIn": {
      "type": "number",
      "description": "Input amount in raw base units (lamports for SOL)."
    },
    "slippageBps": {
      "type": "number",
      "description": "Slippage tolerance in basis points (default 100 = 1%)."
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "inputMint",
    "outputMint",
    "amountIn"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "amountOut": {
      "type": "string",
      "description": "Expected output amount in raw base units"
    },
    "priceImpactBps": {
      "type": "number",
      "description": "Price impact in basis points"
    },
    "route": {
      "type": "string",
      "description": "AMM pool address the quote routes through (base58)"
    },
    "expiresAtMs": {
      "type": "number",
      "description": "Epoch ms after which the quote is stale"
    },
    "base_reserve": {
      "type": "string",
      "description": "Raw base vault balance. Unchanged by the virtual-reserve rollout."
    },
    "quote_reserve": {
      "type": "string",
      "description": "Raw quote vault balance, before virtual reserves are added."
    },
    "virtual_quote_reserves": {
      "type": "string",
      "description": "Pool.virtual_quote_reserves. Quote-side liquidity the pool carries outside its vault. 0 on non-launchpad pools."
    },
    "effective_quote_reserve": {
      "type": "string",
      "description": "quote_reserve + virtual_quote_reserves. This is what the quote is priced against."
    }
  },
  "required": [
    "amountOut",
    "priceImpactBps",
    "route",
    "expiresAtMs"
  ],
  "additionalProperties": true
}
🟢social_x_post_impact(postUrl, mint, windowMin, network)

Correlate an X (Twitter) post to a memecoin price impact. Fetches post metadata via oEmbed (no API key) and computes price delta from the pump.fun bonding curve in a ±windowMin window around the post.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "postUrl": {
      "type": "string",
      "description": "X post URL (e.g. https://x.com/user/status/123)"
    },
    "mint": {
      "type": "string",
      "description": "Solana token mint address (base58)"
    },
    "windowMin": {
      "type": "integer",
      "default": 30,
      "description": "±window in minutes around the post time"
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "postUrl",
    "mint"
  ]
}
🟢get_coin_intel(mint, network)

Full Coin Intelligence snapshot for a pump.fun mint. Returns every signal the engine recorded during the observation window: bundle vs organic verdict, bubblemaps-style cluster connectivity, smart-money presence (with wallet labels and win-rates), dev behaviour, category/classification, news-meme detection with the matching headline, risk flags, and a 0–100 quality score. Also returns the outcome if the coin is old enough to be labeled (graduated/rugged/ATH multiple). This is the single highest-signal read for a trade decision — call this before entering any position.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "description": "Solana mint address (base58)."
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "mint"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "mint": {
      "type": "string"
    },
    "symbol": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "quality_score": {
      "type": "number",
      "description": "0–100 composite quality."
    },
    "verdict": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "enum": [
            "strong",
            "watch",
            "caution",
            "avoid"
          ]
        },
        "label": {
          "type": "string"
        },
        "tone": {
          "type": "string"
        }
      }
    },
    "risk_flags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "category": {
      "type": "string"
    },
    "is_news_meme": {
      "type": "boolean"
    },
    "news_headline": {
      "type": "string",
      "nullable": true
    },
    "organic_score": {
      "type": "number",
      "description": "0–1, organic-demand likelihood."
    },
    "bundle_score": {
      "type": "number",
      "description": "0–1, coordinated-launch likelihood."
    },
    "bubblemap_connectivity": {
      "type": "number",
      "nullable": true,
      "description": "0–1 wallet-cluster share. null = enrichment not yet run."
    },
    "smart_money_count": {
      "type": "integer",
      "description": "Proven wallets (score≥65) in this coin."
    },
    "smart_money_score": {
      "type": "number",
      "nullable": true
    },
    "smart_money_notable": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "dev_buy_sol": {
      "type": "number",
      "nullable": true
    },
    "dev_sold": {
      "type": "boolean"
    },
    "unique_buyers": {
      "type": "integer"
    },
    "outcome": {
      "type": "object",
      "nullable": true,
      "description": "Labeled outcome if available (graduated, ath_multiple, etc)."
    },
    "oracle": {
      "type": "object",
      "nullable": true,
      "description": "Fused Oracle conviction score (null if the Oracle engine has not yet scored this coin). Call get_oracle_conviction for the full read including who's-in roster and narrative.",
      "properties": {
        "score": {
          "type": "number",
          "description": "0–100 fused Oracle score."
        },
        "tier": {
          "type": "string",
          "enum": [
            "prime",
            "strong",
            "lean",
            "watch",
            "avoid"
          ]
        },
        "pillars": {
          "type": "object",
          "description": "Per-pillar scores: pedigree, structure, narrative, momentum (each 0–100)."
        },
        "badges": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "reasons": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Natural-language explanation of the score."
        }
      }
    },
    "oracle_url": {
      "type": "string",
      "description": "Oracle deep-link for the coin — opens the Oracle war-room drawer directly."
    }
  },
  "required": [
    "found"
  ],
  "additionalProperties": true
}
🟢get_oracle_conviction(mint, network)

Oracle conviction score for a pump.fun mint: the fused 0-100 score the Oracle engine produces by combining four intelligence pillars: pedigree (who bought it), structure (organic vs bundle, holder concentration, bubblemaps connectivity), narrative (category, meme virality, news hook), and momentum (timing, velocity). Returns the tier (prime ≥86 / strong ≥72 / lean ≥54 / watch ≥36 / avoid), the per-pillar breakdown, the natural-language reasons that drove the score, the full "who's in" trader roster with reputation labels and win-rates, and the narrative read (category, virality, tags). Call this when you need the highest-confidence trade signal; it synthesises everything get_coin_intel exposes into one actionable score. Pairs with get_coin_intel for raw signals.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "description": "Solana mint address (base58)."
    },
    "network": {
      "type": "string",
      "enum": [
        "mainnet",
        "devnet"
      ],
      "default": "mainnet"
    }
  },
  "required": [
    "mint"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "mint": {
      "type": "string"
    },
    "symbol": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "conviction": {
      "type": "object",
      "nullable": true,
      "description": "Fused conviction verdict. null if the Oracle has not yet scored this coin.",
      "properties": {
        "score": {
          "type": "number",
          "description": "0–100 fused Oracle score."
        },
        "tier": {
          "type": "string",
          "enum": [
            "prime",
            "strong",
            "lean",
            "watch",
            "avoid"
          ],
          "description": "prime ≥86, strong ≥72, lean ≥54, watch ≥36, avoid <36."
        },
        "pillars": {
          "type": "object",
          "properties": {
            "pedigree": {
              "type": "number",
              "description": "Smart-money pedigree pillar score (0–100, weight 34%)."
            },
            "structure": {
              "type": "number",
              "description": "Structure pillar score: organic/bundle/concentration/connectivity (0–100, weight 30%)."
            },
            "narrative": {
              "type": "number",
              "description": "Narrative pillar score: category fit, meme virality, news hook (0–100, weight 18%)."
            },
            "momentum": {
              "type": "number",
              "description": "Momentum pillar score: velocity, buy/sell ratio, timing entropy (0–100, weight 18%)."
            }
          }
        },
        "structure_cap": {
          "type": "boolean",
          "description": "true when structural flags capped the score below raw pillar math."
        },
        "badges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Short human-readable badges attached to this coin, e.g. \"Smart money: 3 wallets\"."
        },
        "reasons": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Natural-language sentences explaining every signal that drove the score."
        },
        "scored_at": {
          "type": "string",
          "description": "ISO timestamp when the conviction was last computed."
        }
      }
    },
    "narrative": {
      "type": "object",
      "nullable": true,
      "description": "Narrative classification for the coin.",
      "properties": {
        "category": {
          "type": "string",
          "description": "E.g. meme, ai, tech, culture, news, defi."
        },
        "narrative": {
          "type": "string",
          "description": "One-sentence description of the coin's story or hook."
        },
        "virality": {
          "type": "number",
          "nullable": true,
          "description": "0–1 estimated virality of the narrative."
        },
        "confidence": {
          "type": "number",
          "nullable": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "source": {
          "type": "string",
          "description": "Classifier that produced the narrative read."
        }
      }
    },
    "whos_in": {
      "type": "array",
      "description": "Classified trader roster — every wallet that touched this coin, annotated with their reputation.",
      "items": {
        "type": "object",
        "properties": {
          "wallet": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "description": "Trader archetype: smart_money, kol, sniper, whale, early_degen, recycler, dca_buyer, dca_seller, bot, unproven."
          },
          "score": {
            "type": "number",
            "nullable": true,
            "description": "Brain reputation score (0–100)."
          },
          "win_rate": {
            "type": "number",
            "nullable": true,
            "description": "Historical win-rate (0–1)."
          },
          "early_win_rate": {
            "type": "number",
            "nullable": true,
            "description": "Win-rate on early entries specifically."
          },
          "source": {
            "type": "string",
            "nullable": true,
            "description": "\"brain\" (trained) or \"gmgn\" (seed corpus)."
          },
          "tag": {
            "type": "string",
            "nullable": true,
            "description": "Social handle when known (from seed corpus)."
          },
          "buy_sol": {
            "type": "number",
            "description": "Total SOL bought."
          },
          "sell_sol": {
            "type": "number",
            "description": "Total SOL sold."
          },
          "is_creator": {
            "type": "boolean"
          },
          "funder": {
            "type": "string",
            "nullable": true,
            "description": "The wallet that funded this one (if identified)."
          }
        }
      }
    },
    "outcome": {
      "type": "object",
      "nullable": true,
      "description": "Labeled outcome if available.",
      "properties": {
        "outcome": {
          "type": "string"
        },
        "graduated": {
          "type": "boolean"
        },
        "rugged": {
          "type": "boolean"
        },
        "ath_market_cap_usd": {
          "type": "number",
          "nullable": true
        },
        "ath_multiple": {
          "type": "number",
          "nullable": true
        }
      }
    },
    "url": {
      "type": "string",
      "description": "Oracle deep-link URL for this coin."
    }
  },
  "required": [
    "found"
  ],
  "additionalProperties": true
}
🟡pumpfun_upload_metadata(name, symbol, description, image_url, twitter, ...)

Upload coin metadata (name, symbol, description, image) to IPFS and get back a pump.fun-ready metadata URI. Call this before launching a coin — pass the returned uri to the launch-agent endpoint or the studio launch flow. Requires a valid bearer token (API key). Image may be a public HTTPS URL or a base64 data URI (max 10 MB). The returned uri is a permanent ipfs:// link; the call is idempotent for the same content.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Coin name (1–32 chars)."
    },
    "symbol": {
      "type": "string",
      "description": "Ticker symbol (1–10 chars, no $)."
    },
    "description": {
      "type": "string",
      "description": "Coin description (max 500 chars)."
    },
    "image_url": {
      "type": "string",
      "description": "Image for the coin icon. Public HTTPS URL or base64 data URI (data:image/png;base64,…). Square image, at least 400×400 px, under 5 MB."
    },
    "twitter": {
      "type": "string",
      "description": "Twitter/X handle or URL (optional)."
    },
    "telegram": {
      "type": "string",
      "description": "Telegram URL (optional)."
    },
    "website": {
      "type": "string",
      "description": "Website URL (optional)."
    }
  },
  "required": [
    "name",
    "symbol",
    "description",
    "image_url"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "uri": {
      "type": "string",
      "description": "ipfs:// URI ready for the pump.fun launch-agent `uri` field."
    },
    "cid": {
      "type": "string",
      "description": "IPFS CID of the metadata JSON."
    },
    "image_cid": {
      "type": "string",
      "description": "IPFS CID of the uploaded image."
    },
    "provider": {
      "type": "string",
      "description": "IPFS provider used."
    }
  },
  "required": [
    "uri",
    "cid"
  ],
  "additionalProperties": false
}
🟢pumpfun_bot_status

Returns the configuration and health status of the pump.fun indexer backend. Always available — does not require PUMPFUN_BOT_URL.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "required": []
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "configured": {
      "type": "boolean",
      "description": "true when PUMPFUN_BOT_URL is set on the server"
    },
    "healthy": {
      "type": "boolean",
      "description": "true when the indexer answered the health ping"
    },
    "latencyMs": {
      "type": "number",
      "description": "Round-trip ms of the health ping (configured backends only)"
    },
    "error": {
      "type": "string",
      "description": "Failure reason when healthy is false"
    },
    "message": {
      "type": "string",
      "description": "Human-readable note when the indexer is unconfigured"
    }
  },
  "required": [
    "configured",
    "healthy"
  ],
  "additionalProperties": true
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet21 Tools
verifiziertVersion nicht aufgezeichnet21 Tools