m2m.monster (Devnet sandbox)
Non-custodial x402 payments between AI agents on Solana. Returns unsigned transactions.
我該用這個嗎
品質與安全性
發現項目(1)
- LOW在 get_status 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"m2m-monster": {
"url": "https://sandbox.m2m.monster/mcp"
}
}
}遠端端點
https://sandbox.m2m.monster/mcpstreamable-http它能做什麼
工具清單
工具(10)
🟢get_pricing
Agent-to-agent fee formula, referral program and the whitelisted token mints of this network.
輸入結構描述
{
"type": "object",
"properties": {}
}⚪quote_payment(network, mint, amount, payee, idempotency_key)
Price a payment to a payee: gross amount, net amount to the payee, fee_gross, discount, fee_net, treasury, mint and a 30-second expiry. Returns a signed quote.
輸入結構描述
{
"type": "object",
"properties": {
"network": {
"type": "string",
"description": "CAIP-2 network id, e.g. solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1"
},
"mint": {
"type": "string",
"minLength": 32,
"maxLength": 44,
"description": "Payment token mint (exact whitelisted address)"
},
"amount": {
"type": "string",
"pattern": "^\\d{1,20}$",
"description": "Integer amount in base units of the mint"
},
"payee": {
"type": "string",
"minLength": 32,
"maxLength": 44,
"description": "Wallet that receives the payment"
},
"idempotency_key": {
"description": "Reuse the same key when retrying",
"type": "string",
"minLength": 8,
"maxLength": 128
}
},
"required": [
"network",
"mint",
"amount",
"payee"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_payment(quote, payer, max_compute_unit_price)
Build the m2m-split transaction for a quote: the payer's transfer to the payee and the USDC fee transfer to the treasury, in one atomic transaction where the payer pays its own gas. Checks that the receiving token accounts exist and that the payer holds USDC for the fee, and simulates it. Unsigned. Sign it locally with your own Solana key; m2m.monster never sees or uses agents' private keys.
輸入結構描述
{
"type": "object",
"properties": {
"quote": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The signed quote exactly as returned by quote_payment"
},
"payer": {
"type": "string",
"minLength": 32,
"maxLength": 44,
"description": "The payer wallet; it signs and pays the network fee"
},
"max_compute_unit_price": {
"description": "Lower priority fee cap in micro-lamports per compute unit",
"type": "string",
"pattern": "^\\d+$"
}
},
"required": [
"quote",
"payer"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_payment(quote, transaction)
For the payee: check a payer-signed transaction against its quote (net amount, fee to the treasury, whitelisted mints, quote id and expiry) and simulate it before submitting.
輸入結構描述
{
"type": "object",
"properties": {
"quote": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The signed quote exactly as returned by quote_payment"
},
"transaction": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "Base64 wire transaction"
}
},
"required": [
"quote",
"transaction"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_payment(quote, transaction, idempotency_key)
Broadcast a transaction the payer already signed, wait for confirmation and return the signed receipt. Only broadcasts; never signs or pays payment transactions. A retry with the same idempotency_key never pays twice.
輸入結構描述
{
"type": "object",
"properties": {
"quote": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The signed quote exactly as returned by quote_payment"
},
"transaction": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "Base64 transaction signed by the payer"
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 128
}
},
"required": [
"quote",
"transaction",
"idempotency_key"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_receipt(receipt)
Verify a receipt: the m2m.monster signature and that the confirmed on-chain transaction matches it.
輸入結構描述
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"minLength": 1,
"description": "Receipt JWS"
}
},
"required": [
"receipt"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_refund(receipt, amount)
Build a refund from the payee back to the payer, linked to the original receipt. The payee signs it and pays its gas; it has no m2m.monster fee and the original fee is not returned. Unsigned. Sign it locally with your own Solana key; m2m.monster never sees or uses agents' private keys.
輸入結構描述
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"minLength": 1,
"description": "Receipt JWS of the original payment"
},
"amount": {
"type": "string",
"pattern": "^\\d{1,20}$",
"description": "Refund amount, at most the original gross amount"
}
},
"required": [
"receipt",
"amount"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢register_agent(solana_pubkey, agent_id, capabilities, referred_by, signature)
Optional registration; paying and getting paid work without it. It unlocks referral credits and receipt history. Call once without `signature` to get the message to sign with your Solana key, then again with the base58 signature to receive an api_key.
輸入結構描述
{
"type": "object",
"properties": {
"solana_pubkey": {
"type": "string",
"minLength": 32,
"maxLength": 44,
"description": "Base58 Solana public key"
},
"agent_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"capabilities": {
"maxItems": 32,
"type": "array",
"items": {
"type": "string",
"maxLength": 64
}
},
"referred_by": {
"description": "Pubkey of the agent that referred you",
"type": "string",
"minLength": 32,
"maxLength": 44
},
"signature": {
"description": "Base58 ed25519 signature of the message",
"type": "string"
}
},
"required": [
"solana_pubkey"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_referral_status
Your referrer, referred agents, credits and their expiry dates. Credits are discounts on your own fees, never cash. Requires the api_key from register_agent.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_status
Service status and API version.
輸入結構描述
{
"type": "object",
"properties": {}
}社群
證據