Pump.fun MCP Server
ポンプファン-MCP
Solana上のPump.funプラットフォームと連携するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、AIアシスタントはPump.funプラットフォーム上でトークンを作成、購入、販売できるようになります。
使用法
https://github.com/user-attachments/assets/0b0f1f6f-6ea6-4ca8-92a8-b4cc895814e4
このサーバーを Claude またはその他の MCP 互換 AI アシスタントで使用するには、MCP クライアントに次の構成を追加します。
MacOS を使用しており、Claude Desktop でこれを実行したい場合は、~/Library/Application \Support/Claude/claude_desktop_config.json ファイルに次のように記述します。
{
"mcpServers": {
"pumpfun": {
"command": "node",
"args": ["/Users/noahsolomon/Desktop/pumpfun-mcp/build/index.js"], // note this should be YOUR absolute path to index.js, not mine.
"env": {
"HELIUS_RPC_URL": "https://your-helius-rpc-url.com"
}
}
}
}https://your-helius-rpc-url.com Helius RPC URLに置き換えます。
Related MCP server: AMOCA Solana MCP Server
インストール
このリポジトリをクローンします:
git clone https://github.com/noahgsolomon/pumpfun-mcp.git cd pumpfun-mcp依存関係をインストールします:
npm installSolana RPC URL を含む
.envファイルを作成します。HELIUS_RPC_URL=https://your-helius-rpc-url.comHeliusから無料の RPC URL を取得できます。
既存の Solana ウォレットを使用するには、秘密鍵を
.envファイルに追加します。PRIVATE_KEY=your-base58-encoded-private-key次に、変換スクリプトを実行してキーペア ファイルを作成します。
node convert-key.jsこれにより、キー ペアを含む
default.jsonファイルが.keysフォルダーに作成されます。プロジェクトをビルドします。
npm run buildMCP サーバーを実行します。
node build/index.js
コンポーネント
ツール
トークン情報を取得する
Pump.funトークンに関する情報を取得する
入力パラメータ:
tokenAddress(文字列、必須): トークンのミントアドレス
トークン作成
新しいPump.funトークンを作成する
入力パラメータ:
name(文字列、必須): トークン名symbol(文字列、必須): トークンシンボルdescription(文字列、必須): トークンの説明imageUrl(文字列、オプション): ローカル画像ファイルへのパスinitialBuyAmount(数値、必須): SOLでの初期購入金額(最小0.0001)accountName(文字列、オプション): 使用するアカウントの名前 (デフォルトは "default")
トークン購入
Pump.funトークンを購入する
入力パラメータ:
tokenAddress(文字列、必須): トークンのミントアドレスbuyAmount(数値、必須): SOLでの購入金額(最小0.0001)accountName(文字列、オプション): 使用するアカウントの名前 (デフォルトは "default")slippageBasisPoints(数値、オプション): ベーシスポイントでのスリッページ許容値 (デフォルトは100)
トークン販売
Pump.funトークンを販売する
入力パラメータ:
tokenAddress(文字列、必須): トークンのミントアドレスsellAmount(数値、必須):販売するトークンの量(すべて販売する場合は0を使用)accountName(文字列、オプション): 使用するアカウントの名前 (デフォルトは "default")slippageBasisPoints(数値、オプション): ベーシスポイントでのスリッページ許容値 (デフォルトは100)
アカウントリスト
キーフォルダ内のすべてのアカウントを一覧表示する
入力パラメータは不要
アカウント残高を取得する
アカウントのSOLとトークン残高を取得する
入力パラメータ:
accountName(文字列、オプション): チェックするアカウントの名前 (デフォルトは "default")tokenAddress(文字列、オプション):残高を確認するトークンアドレス
アカウント管理
MCPは、 .keysフォルダにSolanaキーペアを自動的に作成・管理します。各キーペアは、アカウント名をファイル名とするJSONファイルとして保存されます。
トークンを作成すると、mint キー ペアも接頭辞mint-を付けて.keysフォルダーに保存されます。
自分のアカウントで MCP を使用するには、次のことが必要です。
秘密鍵を
.envファイルに追加し、node convert-key.jsを実行します。ウォレットに十分なSOLがある
スタンドアロンスクリプト
このプロジェクトには、直接実行できるスタンドアロン スクリプトがいくつか含まれています。
トークン情報の取得:
node build/get-token-info.js <token_address>トークンの作成:
node build/create-token.js <name> <symbol> <description> <initial_buy_amount> [account_name] [image_url]トークンを購入:
node build/buy-token.js <token_address> <buy_amount_sol> [account_name] [slippage_basis_points]トークンを売る:
node build/sell-token.js <token_address> <sell_amount> [account_name] [slippage_basis_points]アカウントの一覧表示:
node build/list-accounts.jsアカウント残高の取得:
node build/get-token-balance.js <account_name> [token_address]
重要な注意事項
セキュリティ:キーペアは暗号化されずに
.keysフォルダに保存されます。このフォルダを適切に保護してください。手数料:Solanaでのすべての取引には、取引手数料としてSOLが必要です。アカウントに十分なSOLがあることを確認してください。
スリッページ:デフォルトのスリッページ許容範囲は1%(100ベーシスポイント)です。この値は取引ごとに調整できます。
画像: 画像を含むトークンを作成する場合は、画像のローカルファイルパスを指定する必要があります。リモートURLはサポートされていません。
発達
プロジェクト構造
src/index.ts: メインMCPサーバーのエントリポイントsrc/get-token-info.ts: トークン情報の取得src/create-token.ts: トークン作成機能src/buy-token.ts: トークン購入機能src/sell-token.ts: トークン販売機能src/list-accounts.ts: アカウント一覧機能src/get-token-balance.ts: アカウント残高の確認src/utils.ts: 共有ユーティリティ関数convert-key.js: base58 秘密鍵をキーペア JSON ファイルに変換するユーティリティ
建物
npm run buildAvailable Tools
6 toolsbuy-tokenC
Buy a Pump.fun token
| Name | Required | Description | Default |
|---|---|---|---|
| accountName | No | Name of the account to use | default |
| buyAmount | Yes | Amount to buy in SOL | |
| slippageBasisPoints | No | Slippage tolerance in basis points (1% = 100) | |
| tokenAddress | Yes | The token's mint address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action without disclosing behavioral traits like required permissions, transaction costs, rate limits, or what happens on failure. 'Buy' implies a financial transaction, but critical details like confirmation steps or irreversible effects are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste, front-loading the core action. It's appropriately sized for the tool's complexity, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a financial transaction tool with 4 parameters, the description is incomplete. It lacks essential context like return values, error handling, or behavioral nuances, leaving significant gaps for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional meaning beyond implying token purchase, which aligns with schema but doesn't enhance understanding of parameter interactions or usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('buy') and resource ('a Pump.fun token'), providing specific purpose. However, it doesn't differentiate from sibling 'sell-token' beyond the verb direction, missing explicit distinction about when each is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'sell-token' or 'create-token' is provided. The description assumes context but offers no explicit usage context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create-tokenC
Create a new Pump.fun token
| Name | Required | Description | Default |
|---|---|---|---|
| accountName | No | Name of the account to use (will be created if it doesn't exist) | default |
| description | Yes | Token description | |
| imageUrl | No | URL to token image (optional) | |
| initialBuyAmount | Yes | Initial buy amount in SOL | |
| name | Yes | Token name | |
| symbol | Yes | Token symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. 'Create' implies a write operation, but it doesn't disclose critical traits like authentication requirements, cost implications (SOL usage), whether the token becomes immediately tradable, or potential rate limits. The description fails to compensate for the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point with zero wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a token creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after creation (e.g., token address returned, initialization state), doesn't mention SOL cost implications from 'initialBuyAmount', and provides no context about the creation process. The schema covers parameters well, but behavioral and outcome aspects are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good documentation for all parameters. The description adds no parameter-specific information beyond what's in the schema. This meets the baseline of 3 since the schema adequately covers parameter meanings, but the description doesn't enhance understanding of how parameters interact or their business significance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new Pump.fun token'), making the purpose immediately understandable. It distinguishes from siblings like 'buy-token' or 'sell-token' by focusing on creation rather than trading operations. However, it doesn't specify what 'create' entails in this context (e.g., minting, deployment).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an account), differentiate from similar tools like 'get-token-info', or indicate when creation is appropriate versus buying existing tokens. The agent must infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-account-balanceC
Get the SOL and token balances for an account
| Name | Required | Description | Default |
|---|---|---|---|
| accountName | No | Name of the account to check | default |
| tokenAddress | No | Optional token address to check balance for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical behavioral details such as whether this is a read-only operation (implied but not explicit), potential rate limits, authentication requirements, or error conditions. This is a significant gap for a tool that likely interacts with financial data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It is front-loaded and appropriately sized, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of financial balance retrieval, no annotations, and no output schema, the description is incomplete. It doesn't explain what the output looks like (e.g., balance values, formats), potential side effects, or error handling. This leaves the agent with insufficient context for reliable tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters ('accountName' and 'tokenAddress') with clear descriptions. The description adds no additional semantic context beyond implying balance retrieval for SOL and tokens, which aligns with the schema but doesn't provide extra value like parameter interactions or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resources ('SOL and token balances for an account'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'list-accounts' or 'get-token-info', which could provide related information, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't clarify if this is for checking balances of a specific account versus listing all accounts (as 'list-accounts' might do), or how it differs from 'get-token-info' in terms of balance retrieval. This lack of context leaves the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-token-infoC
Get information about a Pump.fun token
| Name | Required | Description | Default |
|---|---|---|---|
| tokenAddress | Yes | The token's mint address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation ('Get information'), which implies it's likely safe and non-destructive, but doesn't address potential rate limits, authentication needs, error conditions, or what specific information is returned. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It's perfectly front-loaded and every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is insufficiently complete. It doesn't explain what information is returned (e.g., price, liquidity, creator), how errors are handled, or any behavioral constraints. For a tool with no structured data beyond the input schema, this leaves too many unknowns for reliable agent operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'tokenAddress' clearly documented in the schema as 'The token's mint address'. The description doesn't add any additional parameter context beyond what the schema provides, so it meets the baseline for adequate but not exceptional coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get information') and target resource ('about a Pump.fun token'), making the purpose immediately understandable. However, it doesn't differentiate from potential sibling tools like 'get-account-balance' that might also retrieve information, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-account-balance' or 'list-accounts'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-accountsB
List all accounts in the keys folder
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a list operation, implying it's likely read-only, but doesn't clarify permissions, rate limits, pagination, or what 'keys folder' represents. The description adds minimal behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple list operation and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description provides the basic purpose but lacks important context. Without annotations, it should ideally clarify what 'accounts' and 'keys folder' mean, the return format, and any behavioral constraints. The description is minimally adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't discuss parameters, maintaining focus on the tool's purpose. Baseline for 0 parameters with full coverage is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and target resource ('all accounts in the keys folder'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate this tool from its siblings like 'get-account-balance', which might also retrieve account information but with different scope or detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get-account-balance' or 'create-token'. It doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sell-tokenC
Sell a Pump.fun token
| Name | Required | Description | Default |
|---|---|---|---|
| accountName | No | Name of the account to use | default |
| sellAmount | Yes | Amount of tokens to sell (0 for all) | |
| slippageBasisPoints | No | Slippage tolerance in basis points (1% = 100) | |
| tokenAddress | Yes | The token's mint address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Sell a Pump.fun token' implies a financial transaction with potential consequences, but doesn't disclose critical behaviors like whether this is irreversible, requires authentication, has rate limits, or what happens on failure. The description mentions no behavioral traits beyond the basic action, leaving significant gaps for a financial tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states exactly what the tool does without any wasted words. It's appropriately sized for a straightforward financial transaction tool and is perfectly front-loaded with the core action. Every word earns its place in conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a financial transaction tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after selling (e.g., where funds go, confirmation process), error conditions, or return values. The combination of a potentially destructive financial operation with minimal contextual information creates significant gaps for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 4 parameters. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain parameter relationships, provide examples, or clarify edge cases. This meets the baseline for high schema coverage but doesn't add value beyond the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('sell') and resource ('Pump.fun token'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'buy-token' and 'create-token' by specifying the opposite financial transaction. However, it doesn't specify what type of token (e.g., cryptocurrency) or platform context beyond 'Pump.fun', which slightly limits specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites like needing tokens to sell, account setup, or market conditions. While the tool name implies it's for selling tokens, there's no explicit context about when this operation is appropriate versus using 'buy-token' or other financial tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.0- First observed
buy-token - First observed
create-token - First observed
get-account-balance - First observed
get-token-info - First observed
list-accounts - First observed
sell-token
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose with no overlap: buying, selling, creating tokens, getting token info, getting account balances, and listing accounts. The actions and targets are well-defined and unambiguous.
Most tools follow a consistent verb_noun pattern (e.g., buy-token, create-token, get-token-info, sell-token). However, 'list-accounts' uses 'list' instead of 'get' for consistency with 'get-account-balance', and 'get-account-balance' includes a hyphenated compound noun, causing minor deviations.
With 6 tools, this server is well-scoped for managing Pump.fun tokens and accounts. Each tool serves a clear, essential function, and the count is appropriate for the domain without being excessive or insufficient.
The toolset covers core token operations (create, buy, sell, get info) and account management (balance, listing), providing good coverage. A minor gap is the lack of update or delete operations for tokens or accounts, but agents can likely work around this for basic workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Pay-per-call MCP tools over x402 (USDC/Solana): LLM, utilities, x402 market and model prices.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server enabling AI agents to interact with the Solana blockchain for DeFi operations like checking balances, transferring tokens, executing swaps, and fetching price data.37 npm21MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models to interact with the Solana blockchain, providing RPC methods, wallet management, DeFi trading capabilities, and Helius API integration for enhanced Solana development.5MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude AI to interact with the Solana blockchain, allowing it to execute transactions, query accounts, manage wallets, get price predictions, trade tokens, and access various blockchain data sources.4-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that extends AI capabilities by providing tools to interact with the Solana blockchain, enabling operations like transactions, account queries, and wallet management.1Apache 2.0