{"_id":"@aspect-warden/mcp-server","_rev":"7-a8d3270b2bb3589fcf4fe1b62dced953","name":"@aspect-warden/mcp-server","dist-tags":{"latest":"0.5.1"},"versions":{"0.3.0":{"name":"@aspect-warden/mcp-server","version":"0.3.0","_id":"@aspect-warden/mcp-server@0.3.0","maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"bin":{"warden-mcp":"dist/index.js"},"dist":{"shasum":"9a74daff9ff98f0ebc3db87449bc52d8e7c5e2fe","tarball":"https://registry.npmjs.org/@aspect-warden/mcp-server/-/mcp-server-0.3.0.tgz","fileCount":3,"integrity":"sha512-1Un09UesrbSyAPz+m9n2L248od7zd8L1cXOexNIPzFluCxYqx/DQZtnIV8wJSsqgPGwe6RuNTJU75sNX2Jei+A==","signatures":[{"sig":"MEUCIGq35mk9sl/x5IzHv6bmRx4Bd1x65ASwl401r/p3z2KIAiEA29w5W4TL9q3mT64zPGiBl4UJfurhIepxKioaGAi4Ug0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43765},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"735901a0c7a466aa9c1fb729f5c1e684e9398b1d","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"},"_npmVersion":"11.6.2","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.22.0","viem":"^2.0.0","@modelcontextprotocol/sdk":"^1.0.0","@aspect-warden/policy-engine":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.0_1774254279561_0.6700214579291537","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aspect-warden/mcp-server","version":"0.3.1","_id":"@aspect-warden/mcp-server@0.3.1","maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"bin":{"warden-mcp":"dist/index.js"},"dist":{"shasum":"c00d380b23edf6e219e2140987e23b0e1cc3c150","tarball":"https://registry.npmjs.org/@aspect-warden/mcp-server/-/mcp-server-0.3.1.tgz","fileCount":3,"integrity":"sha512-GhVeIPO37lsWFGkRB36dtIJJmdE8iNFw2HnnSyehYCp3CgqPE1c3/76LZCqjpEJH3bXXbRWs9bw9HrtcxURwzw==","signatures":[{"sig":"MEYCIQDRXMe8KUdjzbR/yjj0ga4XPcCWKdDgN2xuLPAKCr7z7QIhAO53FIaSYL7YFPpN2kSdiL6hULOgpZDf0fgeDfYsnMUv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43763},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"735901a0c7a466aa9c1fb729f5c1e684e9398b1d","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"},"_npmVersion":"11.6.2","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.22.0","viem":"^2.0.0","@modelcontextprotocol/sdk":"^1.0.0","@aspect-warden/policy-engine":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.1_1774254305105_0.7702135194679165","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aspect-warden/mcp-server","version":"0.3.2","_id":"@aspect-warden/mcp-server@0.3.2","maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"bin":{"warden-mcp":"dist/index.js"},"dist":{"shasum":"5697c781a3691e5afda6ba7ec4652bd9e19ee0bb","tarball":"https://registry.npmjs.org/@aspect-warden/mcp-server/-/mcp-server-0.3.2.tgz","fileCount":4,"integrity":"sha512-75pvrIpr58GQl8EwIsc3z6d9RDV6FlnDhR5NdzfFh8Qji6SoaEURvSwSRHZ39ApGuyspW17nkCaOD+2V7PMe4g==","signatures":[{"sig":"MEUCIQDdaM6NGNp6QDZylGqtFEg+sFbZPx4haNmUPAFySx68FwIgLkAuKhFrLqQIVomh2OFTszabV8KaIEX34oQ1AfbAseQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47633},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"b4bbdd723ae3f3d7ee7953db5bbe8c043cf9e90b","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"},"_npmVersion":"11.6.2","description":"MCP (Model Context Protocol) server that gives AI agents policy-enforced wallet capabilities on Sepolia. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.22.0","viem":"^2.0.0","@modelcontextprotocol/sdk":"^1.0.0","@aspect-warden/policy-engine":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.2_1774254630235_0.8614993869158645","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aspect-warden/mcp-server","version":"0.4.0","_id":"@aspect-warden/mcp-server@0.4.0","maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"bin":{"warden-mcp":"dist/index.js"},"dist":{"shasum":"c61cff4d499b50572ee370af9197d7d5ee86cea5","tarball":"https://registry.npmjs.org/@aspect-warden/mcp-server/-/mcp-server-0.4.0.tgz","fileCount":4,"integrity":"sha512-nL3wnFKuKXv3E581STfj8RTmtzWdFHPRoGzxrFovbATR/EJGKHsXmW6YjTGt+AAic8fBDhW0ClibFLUiHpifFg==","signatures":[{"sig":"MEYCIQDFZ9RCErXRYAxyXqYiFxf/u5hPs6cW26r1H9KKzDhXIAIhAP4ZVaw1sB5K4y0ESxLVSNIaqx1BeJLPH4Oha/avNVP0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52832},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"560e3ab07a27a44b9276d6a55741b4d0088caf82","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"},"_npmVersion":"11.6.2","description":"MCP (Model Context Protocol) server that gives AI agents policy-enforced wallet capabilities on Sepolia. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.22.0","viem":"^2.0.0","@modelcontextprotocol/sdk":"^1.0.0","@aspect-warden/policy-engine":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.4.0_1774256626437_0.6542499243767912","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@aspect-warden/mcp-server","version":"0.4.1","_id":"@aspect-warden/mcp-server@0.4.1","maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"bin":{"warden-mcp":"dist/index.js"},"dist":{"shasum":"72ffa647ce7b420c9f8e0dd0581baae845ecddd3","tarball":"https://registry.npmjs.org/@aspect-warden/mcp-server/-/mcp-server-0.4.1.tgz","fileCount":4,"integrity":"sha512-9sEpgOmUnI+1JkhXX7mI7xrxpGbIXJN3nzaqYL+8t5PDI/N18QwLtHJKbpMrZ2DLmVKY04Hapi/SeZ3qSwVMWA==","signatures":[{"sig":"MEYCIQCJ+kUOUtIgUqzQDgviGjMrg7c9FG0GGKjahkgxzrFixgIhAMpfl4oOtyidMGjepMAZjwzDqoKFcCYrquWCOqe9Di1J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53880},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"98c50a417fb194f9041d560bef0faccce75f22be","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"},"_npmVersion":"11.6.2","description":"MCP (Model Context Protocol) server that gives AI agents policy-enforced wallet capabilities on Sepolia. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.22.0","viem":"^2.0.0","@modelcontextprotocol/sdk":"^1.0.0","@aspect-warden/policy-engine":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.4.1_1774260658607_0.5185313630518376","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aspect-warden/mcp-server","version":"0.5.0","_id":"@aspect-warden/mcp-server@0.5.0","maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"bin":{"warden-mcp":"dist/index.js"},"dist":{"shasum":"492c7ee6db58b21a6658055dcd16e41982a93fc0","tarball":"https://registry.npmjs.org/@aspect-warden/mcp-server/-/mcp-server-0.5.0.tgz","fileCount":4,"integrity":"sha512-HdU/KwmI5c4gnP+QEangrk7qQvdybW00pg4/8SLOC91gjABZzJ+NCY9DMda6XIanrK1cdmUEaGrw+frEZdF1CA==","signatures":[{"sig":"MEUCIEVJRHrvZ1zIHdrgR5jBYECGa40IrOv0yDg+lS9qI133AiEA5S4MUXEtmLRm6idXG6WOnTSp/peT7mfRWO8G8RjVXV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56250},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"99f56ce8c16fc4b9d95ccfdb28c0d84b2b0a3d15","scripts":{"build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"},"_npmVersion":"11.6.2","description":"MCP (Model Context Protocol) server that gives AI agents policy-enforced wallet capabilities on Sepolia. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.22.0","viem":"^2.0.0","@modelcontextprotocol/sdk":"^1.0.0","@aspect-warden/policy-engine":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.5.0_1774261087183_0.003451100556284503","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@aspect-warden/mcp-server","version":"0.5.1","type":"module","bin":{"warden-mcp":"dist/index.js"},"main":"./dist/index.js","scripts":{"build":"tsc","start":"node dist/index.js"},"dependencies":{"@aspect-warden/policy-engine":"^0.5.0","@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.22.0","viem":"^2.0.0"},"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"gitHead":"36be58b152e1d5e3cf2e148854fe4f7cd7e9c7ec","types":"./dist/index.d.ts","_id":"@aspect-warden/mcp-server@0.5.1","description":"MCP (Model Context Protocol) server that gives AI agents policy-enforced wallet capabilities on Sepolia. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-GMAdOtSxnV+fEOG7X4zghFcsNB/YFnfc3Sm7yWy6ExwzHJxv9FCRdQyi+k71dHEL7rp89UClLdnBsIPvWts5fQ==","shasum":"4569caa34f1dc746f90aa73101588180d98876a1","tarball":"https://registry.npmjs.org/@aspect-warden/mcp-server/-/mcp-server-0.5.1.tgz","fileCount":4,"unpackedSize":56390,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7TeyWFQEnYXmrjxWD6kBFWYTsc+ap39QBhzdQeG3S7QIgKopgwtw3SXjVBljkSiLGC5XHukkeNf73W6Jxj/4lMlY="}]},"_npmUser":{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"},"directories":{},"maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.5.1_1774267989530_0.47849488709838317"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-23T08:24:39.434Z","modified":"2026-03-23T12:13:09.834Z","0.3.0":"2026-03-23T08:24:39.695Z","0.3.1":"2026-03-23T08:25:05.256Z","0.3.2":"2026-03-23T08:30:30.436Z","0.4.0":"2026-03-23T09:03:46.580Z","0.4.1":"2026-03-23T10:10:58.757Z","0.5.0":"2026-03-23T10:18:07.342Z","0.5.1":"2026-03-23T12:13:09.681Z"},"description":"MCP (Model Context Protocol) server that gives AI agents policy-enforced wallet capabilities on Sepolia. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.","maintainers":[{"name":"atmegabuzz","email":"atmegabuzz@gmail.com"}],"readme":"# @aspect-warden/mcp-server\n\nMCP (Model Context Protocol) server that gives AI agents policy-enforced wallet capabilities on Sepolia. Works with Claude Desktop, OpenClaw, and any MCP-compatible client.\n\n## Install\n\n```bash\nnpm install @aspect-warden/mcp-server\n```\n\nOr run directly:\n\n```bash\nnpx @aspect-warden/mcp-server\n```\n\n## Setup with Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"warden\": {\n      \"command\": \"npx\",\n      \"args\": [\"@aspect-warden/mcp-server\"],\n      \"env\": {\n        \"RPC_URL\": \"https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY\",\n        \"SEPOLIA_USDT_ADDRESS\": \"0x7169D38820dfd117C3FA1f22a697dBA58d90BA06\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The agent now has access to all Warden wallet tools.\n\n## Setup with OpenClaw\n\nAdd the same config to your OpenClaw MCP settings, or install the warden-wallet skill:\n\n```bash\nnpx skills add tetherto/wdk-agent-skills\n```\n\n## Environment Variables\n\n| Variable | Required | Default | Description |\n|----------|----------|---------|-------------|\n| `RPC_URL` | No | `https://rpc.sepolia.org` | Sepolia RPC endpoint |\n| `POLICY_DELEGATE_ADDRESS` | No | — | Deployed PolicyDelegate contract for EIP-7702 |\n| `SEPOLIA_USDT_ADDRESS` | No | `0x7169...BA06` | USDT token address on Sepolia |\n| `ERC8004_IDENTITY_REGISTRY` | No | — | ERC-8004 identity registry address |\n| `WARDEN_STORAGE_KEY` | No | machine-scoped | Passphrase for encrypting persisted wallet state |\n\n## MCP Tools\n\nOnce connected, the agent can call these tools:\n\n### Wallet Management\n\n| Tool | Description |\n|------|-------------|\n| `warden_create_wallet` | Create a new agent wallet with policy enforcement |\n| `warden_get_balance` | Check ETH and token balances |\n| `warden_transfer` | Send ERC-20 tokens (validated against policy) |\n| `warden_get_audit_log` | Fetch transaction decision history |\n\n### Policy Management\n\n| Tool | Description |\n|------|-------------|\n| `warden_setup_policy` | Configure spending policy from natural language |\n| `warden_get_policy_status` | View current spending status and limits |\n| `warden_update_policy` | Modify policy at runtime |\n\n### On-Chain Enforcement (EIP-7702)\n\n| Tool | Description |\n|------|-------------|\n| `warden_delegate_to_policy` | Delegate EOA to PolicyDelegate contract |\n| `warden_create_session_key` | Create scoped sub-agent permissions |\n| `warden_revoke_session_key` | Revoke sub-agent access |\n\n### Safety Controls\n\n| Tool | Description |\n|------|-------------|\n| `warden_freeze` | Emergency halt all operations |\n| `warden_unfreeze` | Resume after freeze |\n| `warden_register_identity` | Register agent on ERC-8004 identity registry |\n\n### Permissions (ERC-7715)\n\n| Tool | Description |\n|------|-------------|\n| `warden_grant_permissions` | Grant permissions to an agent |\n| `warden_revoke_permissions` | Revoke agent permissions |\n| `warden_get_permissions` | View agent permission grants |\n\n## Example Conversation\n\n```\nUser: Create a conservative wallet. Max $50/day, USDT only.\n\nAgent: [calls warden_create_wallet with maxPerTx=10, dailyLimit=50]\n       Created wallet 0xABC...123 with conservative policy.\n       - Max per transaction: 10 USDT\n       - Daily limit: 50 USDT\n       - Anomaly detection: enabled\n\nUser: Send 5 USDT to 0xDEF...456\n\nAgent: [calls warden_transfer with amount=5, recipient=0xDEF...456]\n       Transfer approved and sent.\n       - Risk score: 12/100\n       - Daily remaining: 45 USDT\n       - Tx hash: 0x789...\n\nUser: Send 200 USDT to 0xDEF...456\n\nAgent: [calls warden_transfer — PolicyEngine blocks it]\n       Transfer blocked: exceeds daily limit of 50 USDT.\n       Current daily spend: 5 USDT.\n```\n\n## Wallet Persistence\n\nWallet private keys and policy configuration are automatically saved to `~/.warden/wallet-state.enc` using AES-256-CBC encryption. When the MCP server restarts (e.g., Claude Desktop relaunch), it restores the previous wallet — no need to call `warden_create_wallet` again.\n\n- **Storage**: `~/.warden/wallet-state.enc` (encrypted, file permissions `0600`)\n- **Encryption**: AES-256-CBC with key derived from `WARDEN_STORAGE_KEY` env var (or machine-scoped default)\n- **What's persisted**: private key, agent ID, policy configuration, spending tracker, audit log, frozen state, session keys, permission grants\n- **Full state recovery**: everything survives restarts — works seamlessly with OpenClaw and other MCP clients that may restart the server between calls\n\nTo use a different wallet, simply call `warden_create_wallet` again — it overwrites the saved state.\n\n## Architecture\n\n```\nAI Agent (Claude / OpenClaw)\n    ↓ MCP Protocol (stdio)\n@aspect-warden/mcp-server\n    ↓ evaluates every tx\n@aspect-warden/policy-engine (19 rules + anomaly detection)\n    ↓ on-chain enforcement\nPolicyDelegate.sol (EIP-7702 / Sepolia)\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}