Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AGENTWALLET_USER, AGENTWALLET_PASS, AGENTWALLET_API_URL, AGENTWALLET_WALLET_ID, AGENTWALLET_DASHBOARD_URL, AGENTWALLET_PRIVATE_KEY, AGENTWALLET_KEYFILE, AGENTWALLET_SOLANA_KEY, AGENTWALLET_SOLANA_KEYFILE, AGENTWALLET_RPC_URL, AGENTWALLET_RPC_, AGENTWALLET_SOLANA_RPC, AGENTWALLET_SOLANA_RPC_, AGENTWALLET_CHAIN_ID, AGENTWALLET_MAX_TX_NATIVE, AGENTWALLET_MAX_TX_TOKEN, AGENTWALLET_MAX_TX_SOL, AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS, AGENTWALLET_ALLOW_UNLIMITED_APPROVAL, AGENTWALLET_TOKEN_DECIMALS, AGENTWALLET_MAX_AUTOPAY, AGENTWALLET_MAX_AUTOPAY_PER_HOUR, AGENTWALLET_AUTOPAY_ASSETS, AGENTWALLET_X402_MAX_TIMEOUT, AGENTWALLET_APPROVALS, AGENTWALLET_PERMIT2_AUTO_APPROVE, AGENTWALLET_TOKEN_RISK, AGENTWALLET_LEGACY_PAYWALL_ORIGINS, AGENTWALLET_MAX_FEE_NATIVE, AGENTWALLET_POLICY, AGENTWALLET_LEDGER, AGENTWALLET_WEBHOOK_URL, AGENTWALLET_WEBHOOK_SECRET, AGENTWALLET_KEYFILE_PASSPHRASE, AGENTWALLET_KEYFILE_PASSPHRASE_FILEValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"AGENTWALLET_USER": "your-value",
"AGENTWALLET_PASS": "your-value",
"AGENTWALLET_API_URL": "your-value",
"AGENTWALLET_WALLET_ID": "your-value",
"AGENTWALLET_DASHBOARD_URL": "your-value",
"AGENTWALLET_PRIVATE_KEY": "your-value",
"AGENTWALLET_KEYFILE": "your-value",
"AGENTWALLET_SOLANA_KEY": "your-value",
"AGENTWALLET_SOLANA_KEYFILE": "your-value",
"AGENTWALLET_RPC_URL": "your-value",
"AGENTWALLET_RPC_": "your-value",
"AGENTWALLET_SOLANA_RPC": "your-value",
"AGENTWALLET_SOLANA_RPC_": "your-value",
"AGENTWALLET_CHAIN_ID": "your-value",
"AGENTWALLET_MAX_TX_NATIVE": "your-value",
"AGENTWALLET_MAX_TX_TOKEN": "your-value",
"AGENTWALLET_MAX_TX_SOL": "your-value",
"AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS": "your-value",
"AGENTWALLET_ALLOW_UNLIMITED_APPROVAL": "your-value",
"AGENTWALLET_TOKEN_DECIMALS": "your-value",
"AGENTWALLET_MAX_AUTOPAY": "your-value",
"AGENTWALLET_MAX_AUTOPAY_PER_HOUR": "your-value",
"AGENTWALLET_AUTOPAY_ASSETS": "your-value",
"AGENTWALLET_X402_MAX_TIMEOUT": "your-value",
"AGENTWALLET_APPROVALS": "your-value",
"AGENTWALLET_PERMIT2_AUTO_APPROVE": "your-value",
"AGENTWALLET_TOKEN_RISK": "your-value",
"AGENTWALLET_LEGACY_PAYWALL_ORIGINS": "your-value",
"AGENTWALLET_MAX_FEE_NATIVE": "your-value",
"AGENTWALLET_POLICY": "your-value",
"AGENTWALLET_LEDGER": "your-value",
"AGENTWALLET_WEBHOOK_URL": "your-value",
"AGENTWALLET_WEBHOOK_SECRET": "your-value",
"AGENTWALLET_KEYFILE_PASSPHRASE": "your-value",
"AGENTWALLET_KEYFILE_PASSPHRASE_FILE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add agentwallet --env AGENTWALLET_USER=your-value --env AGENTWALLET_PASS=your-value --env AGENTWALLET_API_URL=your-value --env AGENTWALLET_WALLET_ID=your-value --env AGENTWALLET_DASHBOARD_URL=your-value --env AGENTWALLET_PRIVATE_KEY=your-value --env AGENTWALLET_KEYFILE=your-value --env AGENTWALLET_SOLANA_KEY=your-value --env AGENTWALLET_SOLANA_KEYFILE=your-value --env AGENTWALLET_RPC_URL=your-value --env AGENTWALLET_RPC_=your-value --env AGENTWALLET_SOLANA_RPC=your-value --env AGENTWALLET_SOLANA_RPC_=your-value --env AGENTWALLET_CHAIN_ID=your-value --env AGENTWALLET_MAX_TX_NATIVE=your-value --env AGENTWALLET_MAX_TX_TOKEN=your-value --env AGENTWALLET_MAX_TX_SOL=your-value --env AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS=your-value --env AGENTWALLET_ALLOW_UNLIMITED_APPROVAL=your-value --env AGENTWALLET_TOKEN_DECIMALS=your-value --env AGENTWALLET_MAX_AUTOPAY=your-value --env AGENTWALLET_MAX_AUTOPAY_PER_HOUR=your-value --env AGENTWALLET_AUTOPAY_ASSETS=your-value --env AGENTWALLET_X402_MAX_TIMEOUT=your-value --env AGENTWALLET_APPROVALS=your-value --env AGENTWALLET_PERMIT2_AUTO_APPROVE=your-value --env AGENTWALLET_TOKEN_RISK=your-value --env AGENTWALLET_LEGACY_PAYWALL_ORIGINS=your-value --env AGENTWALLET_MAX_FEE_NATIVE=your-value --env AGENTWALLET_POLICY=your-value --env AGENTWALLET_LEDGER=your-value --env AGENTWALLET_WEBHOOK_URL=your-value --env AGENTWALLET_WEBHOOK_SECRET=your-value --env AGENTWALLET_KEYFILE_PASSPHRASE=your-value --env AGENTWALLET_KEYFILE_PASSPHRASE_FILE=your-value -- npx -y agentwallet-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"AGENTWALLET_USER": "your-value",
"AGENTWALLET_PASS": "your-value",
"AGENTWALLET_API_URL": "your-value",
"AGENTWALLET_WALLET_ID": "your-value",
"AGENTWALLET_DASHBOARD_URL": "your-value",
"AGENTWALLET_PRIVATE_KEY": "your-value",
"AGENTWALLET_KEYFILE": "your-value",
"AGENTWALLET_SOLANA_KEY": "your-value",
"AGENTWALLET_SOLANA_KEYFILE": "your-value",
"AGENTWALLET_RPC_URL": "your-value",
"AGENTWALLET_RPC_": "your-value",
"AGENTWALLET_SOLANA_RPC": "your-value",
"AGENTWALLET_SOLANA_RPC_": "your-value",
"AGENTWALLET_CHAIN_ID": "your-value",
"AGENTWALLET_MAX_TX_NATIVE": "your-value",
"AGENTWALLET_MAX_TX_TOKEN": "your-value",
"AGENTWALLET_MAX_TX_SOL": "your-value",
"AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS": "your-value",
"AGENTWALLET_ALLOW_UNLIMITED_APPROVAL": "your-value",
"AGENTWALLET_TOKEN_DECIMALS": "your-value",
"AGENTWALLET_MAX_AUTOPAY": "your-value",
"AGENTWALLET_MAX_AUTOPAY_PER_HOUR": "your-value",
"AGENTWALLET_AUTOPAY_ASSETS": "your-value",
"AGENTWALLET_X402_MAX_TIMEOUT": "your-value",
"AGENTWALLET_APPROVALS": "your-value",
"AGENTWALLET_PERMIT2_AUTO_APPROVE": "your-value",
"AGENTWALLET_TOKEN_RISK": "your-value",
"AGENTWALLET_LEGACY_PAYWALL_ORIGINS": "your-value",
"AGENTWALLET_MAX_FEE_NATIVE": "your-value",
"AGENTWALLET_POLICY": "your-value",
"AGENTWALLET_LEDGER": "your-value",
"AGENTWALLET_WEBHOOK_URL": "your-value",
"AGENTWALLET_WEBHOOK_SECRET": "your-value",
"AGENTWALLET_KEYFILE_PASSPHRASE": "your-value",
"AGENTWALLET_KEYFILE_PASSPHRASE_FILE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"agentwallet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"AGENTWALLET_USER": "your-value",
"AGENTWALLET_PASS": "your-value",
"AGENTWALLET_API_URL": "your-value",
"AGENTWALLET_WALLET_ID": "your-value",
"AGENTWALLET_DASHBOARD_URL": "your-value",
"AGENTWALLET_PRIVATE_KEY": "your-value",
"AGENTWALLET_KEYFILE": "your-value",
"AGENTWALLET_SOLANA_KEY": "your-value",
"AGENTWALLET_SOLANA_KEYFILE": "your-value",
"AGENTWALLET_RPC_URL": "your-value",
"AGENTWALLET_RPC_": "your-value",
"AGENTWALLET_SOLANA_RPC": "your-value",
"AGENTWALLET_SOLANA_RPC_": "your-value",
"AGENTWALLET_CHAIN_ID": "your-value",
"AGENTWALLET_MAX_TX_NATIVE": "your-value",
"AGENTWALLET_MAX_TX_TOKEN": "your-value",
"AGENTWALLET_MAX_TX_SOL": "your-value",
"AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS": "your-value",
"AGENTWALLET_ALLOW_UNLIMITED_APPROVAL": "your-value",
"AGENTWALLET_TOKEN_DECIMALS": "your-value",
"AGENTWALLET_MAX_AUTOPAY": "your-value",
"AGENTWALLET_MAX_AUTOPAY_PER_HOUR": "your-value",
"AGENTWALLET_AUTOPAY_ASSETS": "your-value",
"AGENTWALLET_X402_MAX_TIMEOUT": "your-value",
"AGENTWALLET_APPROVALS": "your-value",
"AGENTWALLET_PERMIT2_AUTO_APPROVE": "your-value",
"AGENTWALLET_TOKEN_RISK": "your-value",
"AGENTWALLET_LEGACY_PAYWALL_ORIGINS": "your-value",
"AGENTWALLET_MAX_FEE_NATIVE": "your-value",
"AGENTWALLET_POLICY": "your-value",
"AGENTWALLET_LEDGER": "your-value",
"AGENTWALLET_WEBHOOK_URL": "your-value",
"AGENTWALLET_WEBHOOK_SECRET": "your-value",
"AGENTWALLET_KEYFILE_PASSPHRASE": "your-value",
"AGENTWALLET_KEYFILE_PASSPHRASE_FILE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
AGENTWALLET_USER envAGENTWALLET_API_URL envAGENTWALLET_WALLET_ID envAGENTWALLET_DASHBOARD_URL envAGENTWALLET_KEYFILE envAGENTWALLET_SOLANA_KEYFILE envAGENTWALLET_RPC_URL envAGENTWALLET_RPC_ envAGENTWALLET_SOLANA_RPC envAGENTWALLET_SOLANA_RPC_ envAGENTWALLET_CHAIN_ID envAGENTWALLET_MAX_TX_NATIVE envAGENTWALLET_MAX_TX_TOKEN envAGENTWALLET_MAX_TX_SOL envAGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS envAGENTWALLET_ALLOW_UNLIMITED_APPROVAL envAGENTWALLET_TOKEN_DECIMALS envAGENTWALLET_MAX_AUTOPAY envAGENTWALLET_MAX_AUTOPAY_PER_HOUR envAGENTWALLET_AUTOPAY_ASSETS envAGENTWALLET_X402_MAX_TIMEOUT envAGENTWALLET_APPROVALS envAGENTWALLET_PERMIT2_AUTO_APPROVE envAGENTWALLET_TOKEN_RISK envAGENTWALLET_LEGACY_PAYWALL_ORIGINS envAGENTWALLET_MAX_FEE_NATIVE envAGENTWALLET_POLICY envAGENTWALLET_LEDGER envAGENTWALLET_WEBHOOK_URL envAGENTWALLET_KEYFILE_PASSPHRASE_FILE envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account hifriendbot, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: AGENTWALLET_PASS, AGENTWALLET_PRIVATE_KEY, AGENTWALLET_SOLANA_KEY, AGENTWALLET_WEBHOOK_SECRET, AGENTWALLET_KEYFILE_PASSPHRASE
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.14.12) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, FactLot
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Permissionless wallet infrastructure for AI agents. Create wallets, sign transactions, and broadcast on-chain, on any EVM chain and Solana. Built-in guards. No KYC. The only AI agent wallet that accepts crypto for its own API fees.
Your keys can stay on your machine. Set one environment variable and every signature happens in your own process. No server sees the key, no company can freeze the wallet, and you can verify that claim by reading src/local-wallet.ts or by running the server with the API pointed at a closed port.
No KYC. No KYT. No approval process. No transaction monitoring. No one can block your wallet. Pay with USDC on-chain, no credit card required.
| Local (self-custody) | Hosted (custodial) | |
|---|---|---|
| Who holds the key | You, in your own process | Encrypted on AgentWallet servers |
| Set up | One env var, no account needed | API key |
| Chains | EVM + Solana | EVM + Solana |
| Can anyone freeze it | No | Yes, that is what pause is for |
| Spend guards | AGENTWALLET_MAX_TX_NATIVE, AGENTWALLET_MAX_TX_TOKEN, AGENTWALLET_MAX_TX_SOL, AGENTWALLET_MAX_AUTOPAY | Server-side limits, pause, rate limits |
| Paywalls, usage, billing | Needs an API key too | Included |
Run wallet_mode at any time and the server will tell you which one you are in, and which address it controls.
{
"mcpServers": { "agentwallet": { "command": "npx", "args": ["-y", "agentwallet-mcp"], "env": { "AGENTWALLET_PRIVATE_KEY": "0xyour_key", "AGENTWALLET_RPC_8453": "https://your-own-rpc", "AGENTWALLET_MAX_TX_NATIVE": "0.05" } } } }
Use AGENTWALLET_KEYFILE=/path/to/key instead if you would rather keep the key out of your shell config (one or the other: the server refuses to start when both are set). The key is read once, never written to disk, never logged, and never included in an error message.
AGENTWALLET_RPC_ (or AGENTWALLET_RPC_URL for all chains) points at an endpoint you trust (https; plain http only on localhost). Without it a public RPC is used, and a public RPC can see which addresses you ask about. Decimals for a token outside the registry come from that RPC and are accepted only up to 18; pin anything else with AGENTWALLET_TOKEN_DECIMALS.
AGENTWALLET_MAX_TX_NATIVE is a per-transaction ceiling in native units (ETH, MATIC and so on). In hosted mode the server enforces limits; in local mode there is no server, so these guards are the only ones there are. Set them.
AGENTWALLET_MAX_TX_TOKEN is the equivalent ceiling for ERC-20 movement, in human units of the token. Set this one too if you hold stablecoins. The native cap cannot see a token transfer: an ERC-20 send carries value = 0 with the amount in the calldata, so AGENTWALLET_MAX_TX_NATIVE alone leaves a USDC balance uncapped. AGENTWALLET_MAX_TX_TOKEN covers transfer, transferFrom, approve, increaseAllowance, EIP-2612 permit, Permit2 approve, and deposit() / withdraw(uint256) on the chain's own wrapped-native contract (so wrap_eth and unwrap_eth keep working under the cap), the approvals because an unbounded allowance is a drain waiting to happen. ERC-721 and ERC-1155 calldata (setApprovalForAll, safeTransferFrom) is refused while the cap is set, since nothing prices an NFT; without the cap it passes the way an ERC-20 transfer of any size does, except that an operator grant is an unlimited approval and is refused everywhere by default (see AGENTWALLET_ALLOW_UNLIMITED_APPROVAL). Any other calldata sent to a token contract or to Permit2 is refused while the cap is set, because the guard cannot price it; set AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS=1 to allow such calls deliberately. increaseAllowance is judged on the resulting total: the current allowance is read first and the call refuses if it cannot be, so two compliant increments cannot stack a standing allowance above the cap. Calls to other contracts (routers, bridges) pass, since they can only pull what an approval already allowed; a contract counts as "other" only when it demonstrably declines decimals(), so an absurd or malformed answer, or an RPC that cannot be reached, refuses rather than allows. Decimals are resolved locally from the trusted registry, then the token's own decimals(); a token that resolves neither way is evaluated at 0 decimals, the only value that cannot fail open. For a token outside the registry the RPC is the only source of decimals, and an RPC you do not control could scale the amount and the cap together; pin such tokens with AGENTWALLET_TOKEN_DECIMALS (for example 8453:0x =6) and the pin is used everywhere the RPC's answer would have been.
"env": {
"AGENTWALLET_SOLANA_KEY": "[12,34...]", "AGENTWALLET_SOLANA_RPC": "https://your-own-rpc", "AGENTWALLET_MAX_TX_SOL": "1", "AGENTWALLET_MAX_TX_TOKEN": "25" }
Accepts whichever format you already have: a solana-keygen id.json array, a base58 secret key as exported by Phantom, or base64. Use AGENTWALLET_SOLANA_KEYFILE to point at a file instead. Native SOL and SPL token transfers are both signed locally, and a missing associated token account is created for the recipient automatically.
Set either key, or both. They are independent: run EVM locally and Solana hosted, or the reverse.
An operation with no matching local key is refused, never silently routed to the hosted signer. If you have an EVM key configured and ask for a Solana transfer with no Solana key, the server stops and tells you which variable is missing. Quietly moving funds onto a key you do not hold, while you believe you are in self-custody, is the worst thing this server could do.
Local signing uses viem for EVM and @solana/web3.js for Solana, plus bs58 for key parsing. SPL instructions are built by hand rather than with @solana/spl-token, because that package pulls in bigint-buffer, which carries a high severity buffer overflow advisory. A wallet has no business shipping that to save a dozen lines of instruction encoding.
npm audit reports no advisories as of 1.13.5; the overrides in package.json keep two advisories under @solana/web3.js's jayson closed. Earlier releases carried advisories inside @modelcontextprotocol/sdk's HTTP transport dependencies. This server speaks stdio, so that code never loads, and the SDK is not something this package can patch. Run the audit yourself. Publishing a tree you can inspect is the point.
AGENTWALLET_MAX_TX_NATIVE, AGENTWALLET_MAX_TX_TOKEN, AGENTWALLET_MAX_TX_SOL, AGENTWALLET_MAX_AUTOPAY). x402 replay protection and on-chain verification apply either wayCompetitor comparisons are kept at hifriendbot.com/wallet/#pricing with the date they were last verified. They live there rather than here because a published npm README cannot be corrected when someone else changes their prices.
Get your free API key at hifriendbot.com/wallet, no credit card required, no KYC, no approval wait.
Add to your config:
{
"mcpServers": { "agentwallet": { "command": "npx", "args": ["-y", "agentwallet-mcp"], "env": { "AGENTWALLET_USER": "your_username", "AGENTWALLET_PASS": "your_api_key", "AGENTWALLET_WALLET_ID": "1" } } } }
AGENTWALLET_WALLET_IDis optional. Set it to enable x402 auto-pay: when you exceed the free tier without a credit card, the MCP server automatically pays for operations with USDC from this wallet. Only the metered routes (creating a wallet, signing, sending) are paid this way, at mostAGENTWALLET_MAX_AUTOPAY_PER_HOURtimes an hour (default 20; the slot is taken before the payment is sent, so parallel calls cannot overrun it, and processes sharing a ledger file share the hour, while without one the count is per process), and every automatic payment is reported in the tool result underautopay_payment. A 402 on any other route is reported, never paid.
Auto-pay safety cap.
AGENTWALLET_MAX_AUTOPAY(optional, default1) is the most one x402 payment may authorize, in stablecoin units:1means one dollar. It prices registry stablecoins only (USDC, USDT, USDbC, DAI on the supported chains, USDC and USDT on Solana). A requirement in the chain's native asset or in any other token is refused, because "1" measured in ETH is a few thousand dollars; list such assets inAGENTWALLET_AUTOPAY_ASSETS(comma-separated addresses or mints, or the wordnative) to allow them, and the cap then applies in that asset's own units. Any requirement above the cap is rejected instead of paid, so a malformed or tampered payment requirement cannot drain the wallet. This automatic path settlesexactrequirements only; anuptooffer from the API is refused before any wallet call, because paying a usage maximum upfront is not what the offer means (usepay_x402, which signs a Permit2 authorization for it). The cap is the operator's ceiling: amax_paymentargument can lower it for one call but never raise it. Raise the variable itself if you genuinely need larger automatic payments (for example"5"for up to 5 USDC per call).
claude mcp add agentwallet \
-e AGENTWALLET_USER=your_username \ -e AGENTWALLET_PASS=your_api_key \ -e AGENTWALLET_WALLET_ID=1 \ -- npx -y agentwallet-mcp
Add to your settings:
{
"mcp": { "servers": { "agentwallet": { "command": "npx", "args": ["-y", "agentwallet-mcp"], "env": { "AGENTWALLET_USER": "your_username", "AGENTWALLET_PASS": "your_api_key", "AGENTWALLET_WALLET_ID": "1" }
Only the beginning is shown; read the rest in the repo