Agent Wallet MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agent Wallet MCPsend $10 USDC to 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent Wallet MCP
Give Claude a Solana wallet.
An MCP (Model Context Protocol) server that lets Claude send USDC, check balances, and manage transactions on Solana.
Demo
You: "What's my wallet balance?"
Claude: Let me check your wallet balance.
{
"sol": 1.5,
"usdc": 25.00,
"network": "devnet",
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
}
You: "Send $5 USDC to [address] for the API calls I just used"
Claude: I'll send 5 USDC to that address now.
{
"success": true,
"signature": "5UfgJ3...",
"recipient": "...",
"amount": 5,
"explorer": "https://explorer.solana.com/tx/..."
}
Done! Transaction confirmed on Solana devnet.Related MCP server: Solana Agent Kit MCP Server
Installation
# Clone the repo
git clone https://github.com/noah-ing/agent-wallet-mcp.git
cd agent-wallet-mcp
# Install dependencies
npm install
# Build
npm run buildSetup with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"agent-wallet": {
"command": "node",
"args": ["/path/to/agent-wallet-mcp/dist/index.js"]
}
}
}Then restart Claude Desktop.
Available Tools
Tool | Description |
| Get the agent's Solana wallet address |
| Check USDC and SOL balance |
| Send USDC to another address |
| View recent transaction history |
| Get free devnet SOL for fees |
How It Works
Persistent Wallet: Creates a keypair stored at
~/.agent-wallet/keypair.jsonDevnet Only: All transactions happen on Solana devnet (test network)
Real Transactions: These are actual blockchain transactions, just on testnet
Getting Devnet USDC
The wallet starts empty. To test sending USDC:
Get your wallet address: Ask Claude "What's my wallet address?"
Get devnet SOL: Ask Claude "Request a devnet airdrop"
Get devnet USDC from Circle's faucet or Solana faucet
Development
# Watch mode
npm run dev
# Test with MCP Inspector
npm run inspectorWhy This Exists
AI agents will eventually need to pay for things - API calls, compute, services from other agents.
This is a simple demo of what that looks like: Claude with a wallet, making real (testnet) transactions.
Security Notes
Devnet only - No real money involved
Local keypair - Private key never leaves your machine
No mainnet support - Intentionally limited to devnet for safety
License
MIT
Available Tools
5 toolsget_balanceA
Check the USDC and SOL balance of the agent wallet. Returns balances on Solana devnet.
| 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 the full burden. It discloses the network ('Solana devnet') and return content ('Returns balances'), which are useful behavioral traits. However, it doesn't mention potential limitations like rate limits, authentication requirements, or whether this is a read-only operation (though 'Check' implies non-destructive).
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 perfectly concise with two sentences that each earn their place: the first states the core functionality, and the second adds critical context about the return and network. There's zero wasted language or redundancy.
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 balance-checking tool with 0 parameters and no output schema, the description provides good context: it specifies which assets (USDC, SOL), whose wallet (agent), and which network (Solana devnet). The main gap is lack of output format details, but given the tool's simplicity and the clear return statement, this is reasonably complete.
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 lack of inputs. The description appropriately doesn't add parameter information, maintaining focus on what the tool does rather than unnecessary details about non-existent parameters.
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 specific action ('Check') and resources ('USDC and SOL balance of the agent wallet'), and distinguishes it from siblings like get_recent_transactions (transaction history) and get_wallet_address (address retrieval). It provides exact scope information about which assets and network are involved.
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 implies usage context by specifying 'agent wallet' and 'Solana devnet', suggesting this is for checking balances in a development environment. However, it doesn't explicitly state when to use this versus alternatives like send_usdc (for transfers) or request_devnet_airdrop (for funding), nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_transactionsC
Get recent transactions for the agent wallet.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return (default: 10) |
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 the action but doesn't explain key traits like whether this is a read-only operation, if it requires authentication, rate limits, or what the return format looks like (e.g., list of transactions with details). This leaves significant gaps in understanding how the tool behaves.
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 wasted words. It is appropriately sized and front-loaded, 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 the lack of annotations and output schema, the description is incomplete for a tool that retrieves data. It doesn't specify what 'recent' means (e.g., time frame), the structure of returned transactions, or any error conditions, leaving the agent with insufficient context to use the tool effectively.
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 input schema has 100% description coverage, with the 'limit' parameter well-documented in the schema itself. The description adds no additional meaning beyond implying retrieval of 'recent' transactions, which is already suggested by the tool name. This meets the baseline for high schema coverage without extra value.
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 verb ('Get') and resource ('recent transactions for the agent wallet'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_balance' or 'send_usdc', which also involve wallet operations, so it doesn't reach the highest clarity level.
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_balance' or 'send_usdc'. It lacks context about scenarios where retrieving transactions is appropriate, such as for auditing or tracking payments, leaving 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_wallet_addressA
Get the agent's Solana wallet address. Use this to receive funds or share your address.
| 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 the full burden of behavioral disclosure. It implies a read-only operation by using 'Get' and hints at use cases, but does not detail potential errors, authentication needs, or rate limits. This is adequate but lacks depth for a tool in a financial context.
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 two sentences, front-loaded with the core purpose and followed by a usage guideline. Every word earns its place, with no wasted text, making it highly efficient and easy to parse.
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 tool's simplicity (0 parameters, no output schema, no annotations), the description is reasonably complete. It explains what the tool does and when to use it. However, it could benefit from more behavioral context, such as error handling or return format, to achieve a score of 5.
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 input schema has 0 parameters with 100% coverage, so the schema fully documents the lack of inputs. The description does not need to add parameter details, and it appropriately focuses on the tool's purpose without redundancy. A baseline of 4 is applied for zero-parameter tools.
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 specific action ('Get') and resource ('agent's Solana wallet address'), distinguishing it from sibling tools like get_balance or get_recent_transactions. It provides a concrete purpose that is immediately understandable and differentiated.
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 explicitly states when to use this tool ('to receive funds or share your address'), providing clear context for its application. However, it does not mention when not to use it or explicitly compare it to alternatives like send_usdc, which would be needed for a score of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_devnet_airdropA
Request free SOL on devnet for testing. Use this to get SOL for transaction fees.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Amount of SOL to request (max 2) |
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 mentions the tool is for 'free SOL on devnet' and 'testing', which implies it's non-destructive and safe for testing, but lacks details on rate limits, authentication needs, or what happens if the request fails. This leaves gaps in understanding operational constraints.
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 front-loaded and highly concise, consisting of two clear sentences that directly state the tool's purpose and usage without any wasted words. Every sentence earns its place by providing essential information efficiently.
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 tool's low complexity (one optional parameter) and no output schema, the description adequately covers the basic purpose and usage. However, without annotations or output details, it lacks information on behavioral traits like success/failure responses or limitations, making it minimally complete but with gaps for a testing tool.
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 input schema has 100% description coverage, with the parameter 'amount' documented as 'Amount of SOL to request (max 2)'. The description adds no additional parameter semantics beyond this, such as default values or usage examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
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 specific action ('Request free SOL on devnet') and resource ('SOL'), distinguishing it from siblings like get_balance or send_usdc by focusing on obtaining test funds rather than querying or sending transactions. It explicitly mentions the purpose 'for testing' and 'for transaction fees', making the intent unambiguous.
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 clear context for when to use this tool ('for testing' and 'to get SOL for transaction fees'), which implicitly differentiates it from siblings used for real transactions or queries. However, it does not explicitly state when not to use it (e.g., for mainnet) or name alternatives, keeping it from a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_usdcA
Send USDC to another Solana address. This executes a real transaction on Solana devnet.
| Name | Required | Description | Default |
|---|---|---|---|
| recipient | Yes | The Solana address to send USDC to | |
| amount | Yes | Amount of USDC to send (e.g., 5.00 for $5) | |
| memo | No | Optional memo/note for the transaction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that this executes a real transaction (implying mutation and potential costs/irreversibility) and specifies the network (devnet), which is useful. However, it lacks details on permissions, rate limits, error handling, or transaction confirmation, leaving behavioral aspects incomplete.
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 front-loaded with the core action and resource, followed by network context, in just two concise sentences. Every word earns its place with no redundancy or fluff, making it highly efficient and easy to parse.
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 tool's complexity (financial transaction with no annotations and no output schema), the description is minimally adequate. It covers the action and network but lacks details on return values, error cases, or security implications, which are important for a mutation tool in this context.
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 documents all parameters (recipient, amount, memo) thoroughly. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints, meeting the baseline for high 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 specific action ('Send USDC') and target resource ('to another Solana address'), distinguishing it from sibling tools like get_balance or get_recent_transactions which are read-only operations. It explicitly mentions execution on Solana devnet, providing precise scope.
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 implies usage context by specifying 'real transaction on Solana devnet', suggesting this is for sending funds in a test environment. However, it does not explicitly state when to use this versus alternatives like request_devnet_airdrop for funding or other tools for queries, leaving some guidance gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: get_balance (check balances), get_recent_transactions (view transaction history), get_wallet_address (retrieve address), request_devnet_airdrop (obtain test funds), and send_usdc (execute transfers). The descriptions are specific enough to prevent misselection.
All tools follow a consistent verb_noun pattern (e.g., get_balance, send_usdc) using snake_case throughout. The naming is predictable and readable, with no deviations in style or convention.
With 5 tools, the set is well-scoped for managing a Solana devnet wallet, covering essential operations like checking balances, viewing transactions, handling addresses, obtaining test funds, and executing transfers. Each tool earns its place without being excessive or insufficient.
The tool surface covers core wallet management tasks on Solana devnet, including balance checks, transaction history, address retrieval, funding, and USDC transfers. A minor gap exists in not supporting SOL transfers (only USDC), but agents can work around this using airdrops for SOL needs.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Solana onchain intelligence for AI agents: wallet risk, due-diligence, perps funding, smart money.
Solana MCP for wallets, trades, markets, PnL, transfers, onchain data, signable swaps and API tools.
Solana on-chain intelligence — token scans, wallet profiling, bundle detection, 19 MCP tools.
162 AI agents for Solana crypto intelligence, wallets, and x402 micropayments.
Related MCP Servers
- AlicenseCqualityCmaintenanceA Model Context Protocol server that provides Claude with comprehensive access to Solana blockchain data via the Helius API, enabling operations like checking wallet balances, retrieving blockchain information, and interacting with tokens and NFTs.382514MIT
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables Claude AI to interact with the Solana blockchain through a standardized interface, providing tools for transactions, account queries, and wallet management.29163Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that extends Claude's capabilities by providing tools to interact with the Solana blockchain, allowing AI agents to perform operations like executing transactions, managing wallets, and accessing token information.
- AlicenseBqualityAmaintenanceEnables comprehensive Solana blockchain interactions including wallet management, SOL and SPL token transfers, token creation and minting, account operations, and network switching across mainnet, devnet, testnet, and localhost.25811MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/noah-ing/agent-wallet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server