Monad MCP Server について
Monad MCP Serverは、Monadテストネット上のDeFiやブロックチェーン操作を提供し、トークン、NFT、コントラクトを扱うクライアント向けです。コントラクトの分析・デプロイからスワップ、ステーキング、自律型取引エージェントまで利用できます。
主な機能
- 01Monadテストネットのフォーセット
- 02Solidityコントラクトのデプロイ
- 03画像生成とNFTミント
- 04トークンスワップと送金
- 05コントラクトとポートフォリオ分析
- 06ステーキングとAI取引エージェント
活用シーン
- 01テストネット用MONの取得
- 02Solidityコントラクトのデプロイや調査
- 03トークン交換やMONのステーキング
- 04画像を生成してNFTとしてミント
MCP 対応
MCPクライアントにMonadブロックチェーンとDeFiのツールを提供し、フォーセット、デプロイ、スワップ、分析、ステーキングなどに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Monad MCP Server
Monad ブロックチェーンとやり取りするための MCP(Model Context Protocol)サーバーです。DeFi ツールとブロックチェーン機能を包括的に提供します。
機能
- 🚰 Monad Faucet - テストネット用の MON トークンを取得
- 📝 Solidity コントラクトのデプロイ
- 🎨 画像生成と NFT のミント
- 💱 トークンスワップ
- 🤖 自律型 AI トレーディングエージェント
- 🔍 スマートコントラクトの分析
- 👥 NFT 保有者の分析
- 📊 ポートフォリオ分析
- 🏆 競争型 DeFi チャレンジ
- 🔒 ステーキングとステーキング解除
- 💸 トークン送金
前提条件
- Node.js v18 以降
- npm または yarn
- Monad テストネット用の秘密鍵
インストール
- リポジトリをクローンします。
git clone https://github.com/veenoway/monad-mcp-server.git
cd monad-mcp-server
- 依存関係をインストールします。
npm install
# or
yarn install
- 環境変数を設定します。
cp .env.example .env
# Edit the .env file with your configurations
環境設定
ルートディレクトリに .env ファイルを作成し、次の変数を設定します。
PINATA_JWT=PINATA_JWT
OPENAI_API_KEY=OPENIA_KEY
PRIVATE_KEY=YOUR_PRIVATE_KEY
NFT_FACTORY_ADDRESS=NFT_FACTORY_ADDRESS=
MCP サーバーに関する重要な注意事項
-
パス設定の問題
claude_desktop_config.json内のすべてのパスが絶対パスであることを確認してください。- パスは
buildディレクトリ内のコンパイル済み JavaScript ファイルを指している必要があります。 - 例:
/Users/your-username/monad-mcp-server/build/tool-name.js
-
よくある問題
- パスにスペースが含まれていると、MCP サーバーが起動に失敗することがあります。
- Node.js のバージョン互換性の問題(Node.js v18 以降を使用してください)
- 設定ファイルの権限に関する問題
- 環境変数が正しく読み込まれない
-
トラブルシューティングの手順
claude_desktop_config.json内のパスを確認してください。- ファイルの権限を確認します:
chmod 644 claude_desktop_config.json - Node.js が PATH に含まれていることを確認してください。
- すべての環境変数が正しく設定されていることを確認してください。
- build ディレクトリが存在し、コンパイル済みファイルが含まれていることを確認してください。
-
代替設定 MCP サーバーが正常に動作しない場合は、ツールを直接実行できます。
# Example for faucet node build/faucet.js '{"parameters":{"walletAddress":"0xYourAddress"}}' # Example for staking node build/staking.js '{"parameters":{"privateKey":"0xYourKey","amount":"0.2"}}' -
開発モード 開発時には、次のコマンドを使用できます。
# Start the development server npm run dev # Or run tools directly with ts-node ts-node src/tools/faucet.ts '{"parameters":{"walletAddress":"0xYourAddress"}}'
MCP サーバーの設定
MCP サーバーを設定するには、次の設定ファイルを作成または変更する必要があります。
{
"mcpServers": {
"generate-image-mint-nft": {
"command": "node",
"args": ["/path/to/build/generate-image.js"]
},
"deploy-solidity": {
"command": "node",
"args": ["/path/to/build/deploy-solidity.js"]
},
"swap": {
"command": "node",
"args": ["/path/to/build/swap.js"]
},
"monad-faucet": {
"command": "node",
"args": ["/path/to/build/faucet.js"]
},
"analyse-smart-contract": {
"command": "node",
"args": ["/path/to/build/analyse-smart-contract.js"]
},
"user-portfolio": {
"command": "node",
"args": ["/path/to/build/portfolio.js"]
},
"nft-top-holders": {
"command": "node",
"args": ["/path/to/build/nft-holder.js"]
},
"monad-ai-trader": {
"command": "node",
"args": ["/path/to/build/ai-agent.js"]
},
"defi-challenges": {
"command": "node",
"args": ["/path/to/build/defi-challenge.js"]
},
"monad-staking": {
"command": "node",
"args": ["/path/to/build/staking.js"]
},
"send-token": {
"command": "node",
"args": ["/path/to/build/send-token.js"]
}
}
}
設定ファイルの場所
設定ファイルは、次の場所に配置してください。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
重要な注意事項
- JavaScript ファイルへのすべてのパスが正しいことを確認してください。
- 各ツールには専用のビルドスクリプトが必要です。
- パスには絶対パスまたは相対パスを指定できます。
nodeコマンドに PATH からアクセスできる必要があります。- スクリプトは使用前にコンパイルする必要があります。
サーバーの起動
- 開発モードでサーバーを起動します。
npm run dev
# or
yarn dev
- 本番環境の場合:
npm run build
npm start
# or
yarn build
yarn start
プロンプトガイド - Monad Faucet
入力形式
JSON リクエスト
{
"tool": "monad-faucet",
"parameters": {
"walletAddress": "0xYourWalletAddress"
}
}
自然言語によるプロンプトの例
I want MON tokens sent to my address: 0x1234567890123456789012345678901234567890
Send me 0.2 MON to: 0x1234567890123456789012345678901234567890
I need tokens for testing on Monad Testnet. My address: 0x1234567890123456789012345678901234567890
出力形式
{
"content": [
{
"type": "text",
"text": "✅ 0.2 MON successfully sent to 0xYourWalletAddress\nTransaction: 0xTransactionHash\nSent from: 0xFaucetAddress"
}
]
}
プロンプトガイド - Solidity コントラクトのデプロイ
入力形式
JSON リクエスト
{
"tool": "deploy-solidity",
"parameters": {
"privateKey": "0xYourPrivateKey",
"sourceCode": "// Your Solidity contract code here",
"constructorArgs": ["arg1", "arg2"]
}
}
自然言語によるプロンプトの例
Deploy a NFT smart contract
Smart contract should include:
WL phase which lasts 24 hours and switches to public, 1000 total supply, WL price: 0.3 MON, public price 10 MON.
to Monad testnet with my private key: <your_private_key>
Deploy this ERC20 token contract with initial supply of 1000000 tokens. My private key: 0x1234567890123456789012345678901234567890
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
_mint(msg.sender, initialSupply);
}
}
出力形式
{
"content": [
{
"type": "text",
"text": "Contract deployed and verified successfully!
Contract address: 0xContractAddress
Transaction hash: 0xTransactionHash
Block: 123456
Gas used: 123456
Your contract is deployed and verified on Monad testnet.
You can view your verified contract here: https://testnet.monadexplorer.com/address/0xContractAddress
Deployment arguments used:
- Argument 1: 1000000"
}
]
}
重要な注意事項
- 秘密鍵が有効であり、十分な MON 残高(少なくとも 0.01 MON)がある必要があります。
- ソースコードは有効な Solidity コードである必要があります。
- コンストラクターの引数は省略可能ですが、コントラクトのコンストラクターパラメーターと一致している必要があります。
- 可能な場合、コントラクトは自動的に検証されます。
- サポート対象のコントラクトタイプ:ERC20、Storage、SimpleStorage、および基本的なコントラクト
プロンプトガイド - 画像生成と NFT のミント
シンプルな NFT スマートコントラクトをデプロイする
コントラクトアドレスとデプロイ担当者の秘密鍵を .env ファイルに追加します。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract VeenoXNFTFactory is ERC721URIStorage, Ownable {
uint256 public tokenCounter;
constructor() ERC721("VeenoX NFT", "VXNFT") Ownable(msg.sender) {
tokenCounter = 0;
}
function mint(string memory tokenURI, address to) external onlyOwner returns (uint256) {
uint256 newTokenId = tokenCounter;
_safeMint(to, newTokenId);
_setTokenURI(newTokenId, tokenURI);
tokenCounter += 1;
return newTokenId;
}
}
入力形式
JSON リクエスト
{
"tool": "image-nft-generation",
"parameters": {
"prompt": "Description of the image to generate",
"userAddress": "0xYourWalletAddress"
}
}
自然言語によるプロンプトの例
Generate an image of a futuristic city with flying cars and mint it as an NFT to my address: 0x1234567890123456789012345678901234567890
Create a digital art piece of a cyberpunk cat and send it to my wallet: 0x1234567890123456789012345678901234567890
I want an NFT of a magical forest with glowing mushrooms. My address is: 0x1234567890123456789012345678901234567890
出力形式
成功
{
"content": [
{
"type": "text",
"text": "✅ Image generated and minted as NFT for **0xYourWalletAddress**!
- **Prompt**: \"Your image description\"
- **IPFS Image**: [View image](https://gateway.pinata.cloud/ipfs/YourImageHash)
- **Token URI**: ipfs://YourMetadataHash
- **Transaction**: [View on Monad Explorer](https://testnet.monadexplorer.com/tx/YourTransactionHash)"
}
]
}
重要な注意事項
- プロンプトの長さは1000文字までです
- 画像は1024x1024の解像度で生成されます
- 生成された画像は自動的にIPFSにアップロードされます
- NFTはMonad Testnetでミントされます
- 各画像は一意で、DALL-E 2を使用して生成されます
- NFTには、生成日とプロンプト情報を含むメタデータが含まれます
プロンプトガイド - トークンスワップ
入力形式
JSONリクエスト
{
"tool": "swap",
"parameters": {
"privateKey": "0xYourPrivateKey",
"routerType": "uniswap", // or "sushiswap"
"tokenInAddress": "0xTokenInAddress", // Optional for native MON swaps
"tokenOutAddress": "0xTokenOutAddress",
"amountIn": "1.0", // Amount in full units
"slippagePercentage": 0.5, // Optional, default 0.5%
"deadline": 1234567890, // Optional, Unix timestamp
"useNativeMON": false, // Optional, default false
"checkLiquidityOnly": false // Optional, default false
}
}
自然言語のプロンプト例
Swap 0.1 WMON (0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701) to TCHOG (0xCaF9244A9D4A79c3229cb354a1919961fa0122B4) My private key: 0x1234567890123456789012345678901234567890
Exchange 10 TCHOG tokens for WMON on Uniswap with 1% slippage. My private key: 0x1234567890123456789012345678901234567890
Check liquidity for swapping 0.5 WMON to TCHOG on Uniswap. My private key: 0x1234567890123456789012345678901234567890
出力形式
成功
{
"content": [
{
"type": "text",
"text": "Token swap successful!
From: 1.0 MON
To: 100.0 TCHOG (estimated)
Transaction: 0xTransactionHash
Block: 123456
DEX used: uniswap
Swap path: MON -> Token(0x1234...5678)
You can view your transaction here:
https://testnet.monadexplorer.com/tx/0xTransactionHash"
}
]
}
流動性チェック
{
"content": [
{
"type": "text",
"text": "Liquidity check for pools on uniswap:
Direct pool MON -> TCHOG: Exists
Liquidity: 1000 MON <-> 100000 TCHOG
Pool address: 0xPoolAddress
Recommended path: Direct
Popular tokens available on uniswap:
1. TCHOG (0xTokenAddress)
2. WMON (0xTokenAddress)
If you want to create liquidity, you'll need to add tokens to the pools via the DEX interface."
}
]
}
重要な注意事項
- UniswapとSushiSwapの両方に対応しています
- 任意のERC20トークンまたはネイティブMONとのスワップが可能です
- 経路を自動的に検索します(直接、またはMON経由)
- 設定可能な割合によるスリッページ保護機能があります
- スワップ前に流動性チェックを任意で実行できます
- トークン間およびトークンからMONへのスワップに対応しています
プロンプトガイド - AI取引エージェント
入力形式
JSONリクエスト
{
"tool": "monad-ai-trader",
"parameters": {
"privateKey": "0xYourPrivateKey",
"initialInvestment": 0.1, // Optional, default 0.1 MON
"riskLevel": "moderate", // Optional, "conservative" | "moderate" | "aggressive"
"learningRate": 0.1, // Optional, default 0.1
"maxSlippage": 1.5, // Optional, default 1.5%
"action": "create" // "create" | "start" | "stop" | "status" | "improve"
}
}
自然言語のプロンプト例
Create an AI trading agent with 0.5 MON initial investment and moderate risk. My private key: 0x1234567890123456789012345678901234567890
Start my AI trading agent with aggressive risk profile. My private key: 0x1234567890123456789012345678901234567890
Check the status of my AI trading agent. My private key: 0x1234567890123456789012345678901234567890
Improve my AI trading agent's strategy. My private key: 0x1234567890123456789012345678901234567890
出力形式
エージェントの作成
{
"content": [
{
"type": "text",
"text": "🤖 AUTONOMOUS AI TRADING AGENT CREATED
ID: ai-trader-123456
Address: 0xAgentAddress
Balance: 0.5 MON
Status: active
Risk Level: MODERATE
✅ AI Agent created successfully
Initial capital: 0.5 MON
✅ Initial purchase: 0.25 WMON → TCHOG
Hash: 0xTransactionHash
To start the agent: monad-ai-trader-autonomous --action=start --privateKey=0x123..."
}
]
}
取引アクション
{
"content": [
{
"type": "text",
"text": "🤖 AUTONOMOUS AI TRADING AGENT STARTED
ID: ai-trader-123456
Address: 0xAgentAddress
Balance: 0.45 MON
Status: active
Risk Level: MODERATE
✅ Transaction executed: BUY 10 TCHOG
Confidence: 75.50%
Hash: 0xTransactionHash"
}
]
}
ステータス確認
{
"content": [
{
"type": "text",
"text": "🤖 AUTONOMOUS AI TRADING AGENT STATUS
ID: ai-trader-123456
Address: 0xAgentAddress
Balance: 0.45 MON
Status: active
Risk Level: MODERATE
📊 AI AGENT STATUS
Total transactions: 5
Learning rate: 0.1
Exploration rate: 0.200
Last improvement: 2024-03-20T12:00:00Z
STRATEGY PARAMETERS:
- Position size: 25.00%
- Entry threshold: 0.60
- Stop loss: 10.00%
- Take profit: 15.00%"
}
]
}
エラー
{
"content": [
{
"type": "text",
"text": "❌ Error executing autonomous AI agent: [Detailed error message]
Suggestions:
1. Verify that your private key is correct
2. Ensure you have sufficient MON for the initial investment
3. Verify that the agent exists if you're using an action other than 'create'
4. If the agent is already active, use 'status' to check its state"
}
]
}
重要な注意事項
- AIエージェントはMonad Testnet上でWMONとTCHOGの間の取引を自動的に行います
- 意思決定にはテクニカル分析と機械学習を使用します
- 保守的、中程度、積極的の3つのリスクレベルに対応しています
- 過去のパフォーマンスに基づいて自動的に改善します
- ネットワーク上で実際のトランザクションを実行します
- 各トランザクションの前に流動性を確認します
- 損失保護機能(ストップロス)を備えています
- トランザクションはMonad Explorerで検証できます
プロンプトガイド - スマートコントラクト分析
入力形式
JSONリクエスト
{
"tool": "analyze-smart-contract",
"parameters": {
"contractAddress": "0xContractAddress",
"startBlock": 1000000, // Optional
"privateKey": "0xYourPrivateKey", // Optional, required for simulation
"simulateLoad": false, // Optional, default false
"traceFunctions": true, // Optional, default true
"visualizeActivity": true, // Optional, default true
"gasAnalysis": true, // Optional, default true
"securityScan": true, // Optional, default true
"monitorDuration": 10 // Optional, monitoring duration in blocks
}
}
自然言語のプロンプト例
Analyze the contract at address 0x1234567890123456789012345678901234567890
Simulate high load on contract 0x1234567890123456789012345678901234567890 with my private key 0xabcdef1234567890
Check the security of contract 0x1234567890123456789012345678901234567890
Analyze gas usage of contract 0x1234567890123456789012345678901234567890
出力形式
完全な分析
{
"content": [
{
"type": "text",
"text": "## Smart Contract Analysis Report
**Contract Address**: 0xContractAddress
**Code Size**: 12345 bytes
**Balance**: 1.5 MON
**Transaction Count**: 1000
**Detected Standards**: ERC20, OpenZeppelin
### Contract Functions
1. `transfer(address,uint256)`
2. `approve(address,uint256)`
3. `balanceOf(address)`
### Activity Analysis
**Total Transactions**: 1000
**Unique Callers**: 50
**Average Gas Used**: 45000
**Temporal Distribution**:
- Last 24h: 100 transactions
- Last Week: 500 transactions
- Last Month: 1000 transactions
### Gas Analysis
**Total Gas Used**: 45000000
**Average Gas per Call**: 45000
**Estimated Cost**: 0.045 MON
**Gas Efficiency**: Good
### Security Analysis
**Security Score**: 85/100
**Risk Level**: Low
**Security Recommendations**:
1. Implement reentrancy protection
2. Use SafeMath for arithmetic operations
3. Add appropriate access controls"
}
]
}
負荷シミュレーション
{
"content": [
{
"type": "text",
"text": "## Load Simulation Results
**Sent Transactions**: 100
**Success Rate**: 95%
**Average Gas Used**: 45000
**Performance Metrics**:
- Transactions per Second: 10.5
- Average Confirmation Time: 2.5 seconds
- Average Gas Price: 1.2 gwei"
}
]
}
エラー
{
"content": [
{
"type": "text",
"text": "❌ Error analyzing contract: [Detailed error message]
Suggestions:
1. Verify that the contract address is correct
2. Ensure the contract exists on Monad Testnet
3. Verify your private key is correct if performing simulation
4. If the contract is a proxy, ensure you're using the implementation address"
}
]
}
重要な注意事項
- 分析にはERC20、ERC721、ERC1155規格の検証が含まれます
- 負荷シミュレーションには有効な秘密鍵が必要です
- セキュリティ分析では一般的な脆弱性を検出します
- リアルタイム監視は最大100ブロックに制限されています
- アクティビティの可視化は過去24時間分を生成します
- ガス分析には最適化の推奨事項が含まれます
- 結果はMonad Testnetのデータに基づいています
プロンプトガイド - NFT保有者
入力形式
JSONリクエスト
{
"tool": "nft-top-holders",
"parameters": {
"contractAddress": "0xContractAddress",
"tokenId": "123", // Optional
"standard": "ERC721", // "ERC721" | "ERC1155"
"limit": 100 // Optional, default 100
}
}
自然言語のプロンプト例
Find holders of the NFT at address 0x1234567890123456789012345678901234567890
List holders of token ID 123 from ERC721 contract 0x1234567890123456789012345678901234567890
Who owns token ID 456 from ERC1155 contract 0x1234567890123456789012345678901234567890
Show me the top 50 holders of NFT 0x1234567890123456789012345678901234567890
出力形式
保有者リスト
{
"content": [
{
"type": "text",
"text": "NFT Holders for Monad Collection (MON) at address 0xContractAddress:
1. 0xHolder1: 5 token(s) - IDs: [1, 2, 3, 4, 5]
2. 0xHolder2: 3 token(s) - IDs: [6, 7, 8]
3. 0xHolder3: 1 token(s) - IDs: [9]"
}
],
"contractAddress": "0xContractAddress",
"standard": "ERC721",
"name": "Monad Collection",
"symbol": "MON",
"tokenId": "all",
"holderCount": 3,
"holders": [
{
"address": "0xHolder1",
"tokens": [1, 2, 3, 4, 5],
"tokenCount": 5
},
{
"address": "0xHolder2",
"tokens": [6, 7, 8],
"tokenCount": 3
},
{
"address": "0xHolder3",
"tokens": [9],
"tokenCount": 1
}
]
}
エラー
{
"content": [
{
"type": "text",
"text": "❌ Error retrieving NFT holders: [Detailed error message]
Suggestions:
1. Verify that the contract address is correct
2. Ensure the contract implements the specified NFT standard
3. For ERC1155 contracts, you must specify a tokenId
4. Verify that the contract exists on Monad Testnet"
}
]
}
重要な注意事項
- ERC721およびERC1155規格に対応しています
- ERC1155では、特定のtokenIdが必要です
- 結果はトークン数の降順で並べ替えられます
- デフォルトの保有者数上限は100です
- トークンはIDの昇順で一覧表示されます
- 利用可能な場合は、コレクション名とシンボルが表示されます
- 結果には保有者の合計数が含まれます
- データはコントラクトの転送イベントに基づいています
- 正確性を確保するため、残高をリアルタイムで検証します
プロンプトガイド - ポートフォリオ分析
入力形式
JSONリクエスト
{
"tool": "portfolio",
"parameters": {
"address": "0xWalletAddress",
"includeErc20": true, // Optional, default true
"includeNfts": true, // Optional, default true
"includeLiquidityPositions": true, // Optional, default true
"includeTransactionHistory": true, // Optional, default true
"transactionLimit": 10, // Optional, default 10
"erc20TokensLimit": 50, // Optional, default 50
"nftsLimit": 20 // Optional, default 20
}
}
自然言語のプロンプト例
Analyze the portfolio of address 0x1234567890123456789012345678901234567890
Show me the last 20 transactions of 0x1234567890123456789012345678901234567890
What are the NFTs and ERC20 tokens of 0x1234567890123456789012345678901234567890
Show liquidity positions of 0x1234567890123456789012345678901234567890
出力形式
完全な分析
{
"content": [
{
"type": "text",
"text": "Portfolio analysis for address 0xWalletAddress"
},
{
"type": "text",
"text": {
"nativeBalance": "1.5 MON",
"erc20Tokens": [
{
"address": "0xToken1",
"name": "Token One",
"symbol": "TKN1",
"balance": "100.0"
},
{
"address": "0xToken2",
"name": "Token Two",
"symbol": "TKN2",
"balance": "50.0"
}
],
"nfts": {
"erc721": [
{
"contractAddress": "0xNFT1",
"collectionName": "Monad Collection",
"symbol": "MON",
"tokenId": "1",
"tokenURI": "ipfs://..."
}
],
"erc1155": [
{
"contractAddress": "0xNFT2",
"tokenId": "2",
"balance": "5",
"uri": "ipfs://..."
}
]
},
"liquidityPositions": [
{
"pairAddress": "0xPair1",
"token0": {
"address": "0xToken1",
"symbol": "TKN1",
"amount": "10.0"
},
"token1": {
"address": "0xToken2",
"symbol": "TKN2",
"amount": "20.0"
},
"lpBalance": "15.0",
"shareOfPool": "0.5%"
}
],
"transactions": [
{
"hash": "0xTx1",
"from": "0xWalletAddress",
"to": "0xRecipient",
"value": "0.1 MON",
"timestamp": "2024-03-20T12:00:00Z",
"status": "Success",
"gasUsed": "21000"
}
]
}
}
]
}
エラー
{
"content": [
{
"type": "text",
"text": "❌ Error analyzing portfolio: [Detailed error message]
Suggestions:
1. Verify that the wallet address is correct
2. Ensure the address exists on Monad Testnet
3. Verify that the limit parameters are valid
4. If the error persists, try analyzing specific portfolio sections"
}
]
}
重要な注意事項
- 分析にはネイティブMONの残高が含まれます
- ERC20トークン、ERC721およびERC1155のNFTに対応しています
- DEX上の流動性ポジションを検出します
- 最近のトランザクション履歴が含まれます
- 資産の種類ごとに上限を設定できます
- 結果にはトークンのメタデータ(name、symbol、URI)が含まれます
- 流動性ポジションにはプールシェアが含まれます
- トランザクションにはステータスとガス使用量が含まれます
- データはオンチェーンイベントに基づいています
- 残高はリアルタイムで検証されます
プロンプトガイド - Monad DeFiチャレンジ
概要
Monad DeFiチャレンジは、Monadテストネット上でさまざまなDeFiアクティビティに参加し、他のユーザーとパフォーマンスを比較して、報酬を獲得できる競争型プラットフォームです。
チャレンジの種類
1. イールドファーミング
- さまざまなファーミング戦略を通じて、利回りの最大化に重点を置きます
- さまざまなリスクレベル(低、中、高)に対応します
- ポートフォリオの自動リバランスを利用できます
2. トレーディング
- 競争形式のトレーディングチャレンジ
- さまざまなトレーディング戦略に対応します
- パフォーマンスの追跡とリーダーボード
3. 流動性マイニング
- さまざまなプールに流動性を提供します
- パフォーマンスに応じて報酬を獲得します
- リスク管理ツール
4. ステーキング
- ネットワークステーキングチャレンジ
- ガバナンスへの参加
- プロトコルのステーキングオプション
機能
リスク管理
- 3段階のリスクレベル:低、中、高
- リスクの自動評価
- ポートフォリオの分散に関する推奨事項
パフォーマンスの追跡
- リアルタイムのパフォーマンス監視
- 過去のパフォーマンス分析
- 他の参加者との比較分析
報酬システム
- 日次、週次、月次のチャレンジ
- 報酬プールの分配
- 期間に応じた参加費の体系
技術的な機能
- ガスの最適化
- トランザクション速度の監視
- スマートコントラクトのセキュリティ分析
API 統合
JSON リクエスト形式
{
"tool": "defi-challenges",
"parameters": {
"privateKey": "0xYourPrivateKey",
"challengeType": "yield-farming",
"duration": "weekly",
"publicUsername": "optional_username",
"initialInvestment": "1.0",
"riskLevel": "medium",
"joinPool": true,
"teamName": "optional_team_name",
"specificStrategies": ["strategy1", "strategy2"],
"autoRebalance": true,
"notificationsEnabled": true
}
}
レスポンス形式
{
"content": [
{
"type": "text",
"text": "Challenge details and results"
}
],
"challengeSummary": {
"challengeId": "unique_id",
"participant": {
"username": "user_name",
"wallet": "wallet_address",
"team": "team_name"
},
"challenge": {
"type": "challenge_type",
"duration": "challenge_duration",
"riskLevel": "risk_level",
"startedAt": "timestamp",
"endsAt": "timestamp",
"initialInvestment": "amount",
"joinedRewardsPool": true,
"entryFee": "fee_amount",
"autoRebalancing": true
},
"strategy": {
"selectedStrategies": ["strategy1", "strategy2"],
"initialAllocation": [
{
"asset": "asset_name",
"percentage": 50,
"amount": "amount"
}
],
"projectedAPY": "percentage",
"projectedROI": "percentage"
},
"ranking": {
"currentParticipants": 100,
"yourEstimatedRank": 25,
"topPerformers": [
{
"rank": 1,
"username": "top_user",
"performance": 15.5,
"strategy": "winning_strategy"
}
]
},
"rewards": {
"totalPoolSize": "pool_size",
"estimatedRewards": "reward_amount",
"rewardsBreakdown": [
{
"position": "1st Place",
"amount": "reward_amount",
"chance": "percentage"
}
]
}
}
}
プロンプトガイド - Monad ステーキング
入力形式
JSON リクエスト
{
"tool": "monad-staking",
"parameters": {
"privateKey": "0xYourPrivateKey",
"amount": "0.2"
}
}
自然言語によるプロンプトの例
I want to stake 0.2 MON on Monad Testnet with my private key: 0x1234567890123456789012345678901234567890
Stake 0.5 MON on Monad Testnet. My private key: 0x1234567890123456789012345678901234567890
出力形式
{
"content": [
{
"type": "text",
"text": "✅ 0.2 MON successfully staked from 0xYourWalletAddress\nTransaction: 0xTransactionHash\nBalance after: 0.2 aprMON"
}
]
}
重要な注意事項
- 秘密鍵が有効で、十分な MON 残高が必要です
- 金額は wei ではなく MON で指定してください
- ステーキングにより、保有する MON が aprMON(リキッドステーキングトークン)に変換されます
- テストネットでの現在の交換レートは 1:1 です
- ステーキングしたトークンは時間の経過とともに報酬を生み出します
プロンプトガイド - Monad アンステーキング
入力形式
JSON リクエスト
{
"tool": "monad-unstaking",
"parameters": {
"privateKey": "0xYourPrivateKey",
"amount": "0.2"
}
}
自然言語によるプロンプトの例
I want to unstake 0.2 aprMON on Monad Testnet with my private key: 0x1234567890123456789012345678901234567890
Unstake 0.5 aprMON on Monad Testnet. My private key: 0x1234567890123456789012345678901234567890
出力形式
{
"content": [
{
"type": "text",
"text": "✅ 0.2 aprMON successfully unstaked from 0xYourWalletAddress\nTransaction: 0xTransactionHash\nBalance after: 0.2 MON"
}
]
}
重要な注意事項
- 秘密鍵が有効で、十分な aprMON 残高が必要です
- 金額は wei ではなく aprMON で指定してください
- アンステーキングにより、保有する aprMON が MON に変換されます
- テストネットでの現在の交換レートは 1:1 です
- アンステーキングの前に、7 日間のクールダウン期間があります
- アンステーキング中に、蓄積された報酬が自動的に請求されます
プロンプトガイド - トークン送金
入力形式
JSON リクエスト
{
"tool": "send-token",
"parameters": {
"privateKey": "0xYourPrivateKey",
"toAddress": "0xRecipientAddress",
"amount": "0.2",
"tokenAddress": "0xTokenAddress" // Optional, defaults to native MON
}
}
自然言語によるプロンプトの例
Send 0.2 MON to address 0x1234567890123456789012345678901234567890. My private key: 0xabcdef1234567890
Transfer 0.5 TCHOG tokens to 0x1234567890123456789012345678901234567890. My private key: 0xabcdef1234567890
I want to send 1.0 MON to 0x1234567890123456789012345678901234567890. My private key: 0xabcdef1234567890
出力形式
{
"content": [
{
"type": "text",
"text": "✅ 0.2 MON successfully sent to 0xRecipientAddress\nTransaction: 0xTransactionHash\nGas used: 21000"
}
]
}
重要な注意事項
- 秘密鍵が有効で、十分な残高が必要です
- 金額は wei ではなく、通常の単位で指定してください
- ネイティブ MON の送金では、tokenAddress を省略できます
- ERC20 トークンでは、tokenAddress を指定する必要があります
- ガス上限は自動的に計算されます
- 受取人のアドレスが無効な場合、トランザクションは失敗します
- ネイティブ MON と ERC20 トークンの両方の送金に対応しています
- トランザクションは Monad Explorer で確認できます
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。