Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
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_FILEค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"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_FILE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add agentwallet --env AGENTWALLET_USER='ใส่ค่าของคุณ' --env AGENTWALLET_PASS='ใส่ค่าของคุณ' --env AGENTWALLET_API_URL='ใส่ค่าของคุณ' --env AGENTWALLET_WALLET_ID='ใส่ค่าของคุณ' --env AGENTWALLET_DASHBOARD_URL='ใส่ค่าของคุณ' --env AGENTWALLET_PRIVATE_KEY='ใส่ค่าของคุณ' --env AGENTWALLET_KEYFILE='ใส่ค่าของคุณ' --env AGENTWALLET_SOLANA_KEY='ใส่ค่าของคุณ' --env AGENTWALLET_SOLANA_KEYFILE='ใส่ค่าของคุณ' --env AGENTWALLET_RPC_URL='ใส่ค่าของคุณ' --env AGENTWALLET_RPC_='ใส่ค่าของคุณ' --env AGENTWALLET_SOLANA_RPC='ใส่ค่าของคุณ' --env AGENTWALLET_SOLANA_RPC_='ใส่ค่าของคุณ' --env AGENTWALLET_CHAIN_ID='ใส่ค่าของคุณ' --env AGENTWALLET_MAX_TX_NATIVE='ใส่ค่าของคุณ' --env AGENTWALLET_MAX_TX_TOKEN='ใส่ค่าของคุณ' --env AGENTWALLET_MAX_TX_SOL='ใส่ค่าของคุณ' --env AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS='ใส่ค่าของคุณ' --env AGENTWALLET_ALLOW_UNLIMITED_APPROVAL='ใส่ค่าของคุณ' --env AGENTWALLET_TOKEN_DECIMALS='ใส่ค่าของคุณ' --env AGENTWALLET_MAX_AUTOPAY='ใส่ค่าของคุณ' --env AGENTWALLET_MAX_AUTOPAY_PER_HOUR='ใส่ค่าของคุณ' --env AGENTWALLET_AUTOPAY_ASSETS='ใส่ค่าของคุณ' --env AGENTWALLET_X402_MAX_TIMEOUT='ใส่ค่าของคุณ' --env AGENTWALLET_APPROVALS='ใส่ค่าของคุณ' --env AGENTWALLET_PERMIT2_AUTO_APPROVE='ใส่ค่าของคุณ' --env AGENTWALLET_TOKEN_RISK='ใส่ค่าของคุณ' --env AGENTWALLET_LEGACY_PAYWALL_ORIGINS='ใส่ค่าของคุณ' --env AGENTWALLET_MAX_FEE_NATIVE='ใส่ค่าของคุณ' --env AGENTWALLET_POLICY='ใส่ค่าของคุณ' --env AGENTWALLET_LEDGER='ใส่ค่าของคุณ' --env AGENTWALLET_WEBHOOK_URL='ใส่ค่าของคุณ' --env AGENTWALLET_WEBHOOK_SECRET='ใส่ค่าของคุณ' --env AGENTWALLET_KEYFILE_PASSPHRASE='ใส่ค่าของคุณ' --env AGENTWALLET_KEYFILE_PASSPHRASE_FILE='ใส่ค่าของคุณ' -- npx -y agentwallet-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"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_FILE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"agentwallet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"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_FILE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
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 envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub hifriendbot ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: AGENTWALLET_PASS, AGENTWALLET_PRIVATE_KEY, AGENTWALLET_SOLANA_KEY, AGENTWALLET_WEBHOOK_SECRET, AGENTWALLET_KEYFILE_PASSPHRASE
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.14.12) เข้า registry 3 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, yontu
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า 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.
Türkçe yazı denetimi: TDK kuralları, yapay zekâ izleri, metin türüne göre üslup.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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" }
ตัดมาแค่ช่วงต้น อ่านต่อใน repo