three.ws pump.fun MCP

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

我该使用它吗

质量与安全性

B
描述质量
90%
模式完整度
84%
命名质量
86%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(9)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded string在 pumpfun_quote_swap 中
  • LOWTool 'get_token_trades' description lacks action verb在 get_token_trades 中
  • LOWTool 'get_trending_tokens' description lacks action verb在 get_trending_tokens 中
  • LOWTool 'get_new_tokens' description lacks action verb在 get_new_tokens 中
  • LOWTool 'get_token_holders' description lacks action verb在 get_token_holders 中
  • LOWTool 'kol_leaderboard' description lacks action verb在 kol_leaderboard 中
  • LOWTool 'pumpfun_bot_status' description lacks action verb在 pumpfun_bot_status 中
  • LOWTool 'sns_reverseLookup' doesn't follow camelCase/snake_case在 sns_reverseLookup 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~5,740token 数(工具定义)
~2.2 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 4.48%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(21)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢get_token_details(mint)

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

输入模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

{
  "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.

输入模式

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

Most recently launched pump.fun tokens.

输入模式

{
  "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).

输入模式

{
  "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.

输入模式

{
  "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
    }
  }
}

输出模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

{
  "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"
  ]
}

输出模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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"
  ]
}

输出模式

{
  "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.

输入模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

{
  "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"
  ]
}

输出模式

{
  "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.

输入模式

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

输出模式

{
  "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
}

社区

评价此服务器

证据

最近观测

已验证未记录版本21 个工具
已验证未记录版本21 个工具