AESP MCP Server
OfficialClick on "Deploy 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., "@AESP MCP ServerWhat's the current balance of my vault?"
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.
AESP - Agent Economic Sovereignty Protocol
Defining how AI agents operate economically under human sovereignty.
What Is AESP
AESP is a TypeScript SDK and MCP integration layer for agent payments under explicit human control. It is designed so that agents can execute economic actions while humans retain full economic sovereignty.
Core principles:
Policy-gated execution -- every spend action is bounded by configurable policy rules (per-tx limits, daily/weekly/monthly budgets, address allowlists, time windows).
Human override path -- risky actions are escalated to a review queue instead of being auto-approved.
Verifiable commitments -- execution context can be tied to EIP-712 signed intent, enabling on-chain settlement guarantees.
Practical integration -- MCP tools expose vault operations to AI agent frameworks; subpath exports let you import only what you need.
Related MCP server: capline-mcp
Install
npm install @yault/aespRequires Node.js >= 18.
Quick Start
Add to Claude Desktop
Add the following to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"yault": {
"command": "npx",
"args": ["-y", "@yault/aesp"],
"env": {
"YAULT_API_KEY": "sk-yault-..."
}
}
}
}Add to Claude Code
claude mcp add yault -- npx -y @yault/aespThen set the environment variable YAULT_API_KEY in your shell or .claude/settings.json.
Run standalone
export YAULT_API_KEY="sk-yault-..."
yault-mcp # if installed globally
npx @yault/aesp # via npxGet your API key
Go to yault.xyz to create an account and obtain your API key (sk-yault-*). The key is tied to your vault — each user manages their own key. Agent developers do not need a key unless they are also vault users; it is the end-user who configures their own key in the MCP client.
Use SDK modules
import { PolicyEngine } from '@yault/aesp/policy';
import { getAllMCPTools } from '@yault/aesp/mcp';
import { NegotiationStateMachine } from '@yault/aesp/negotiation';
const engine = new PolicyEngine(storageAdapter);
await engine.load();
const tools = getAllMCPTools(); // 6 MCP tool definitionsModules
AESP is organized into subpath exports so you can import only what you need:
Subpath | Description |
| Unified re-export of all modules |
| Shared type definitions ( |
| Policy engine with 8-check evaluation, budget tracking, and policy change classification |
| Agent identity derivation, certificate creation, and hierarchy management |
| Offer/counter-offer state machine with session management |
| EIP-712 structured commitment builder for dual-signed agreements |
| Human-in-the-loop review queue with freeze/unfreeze controls |
| MCP tool definitions, argument validation, and server router |
| Agent-card builder for cross-agent discovery (A2A protocol) |
| Cryptographic helpers: signing, encryption, hashing, ZK proof bridge |
| Context tagging, ephemeral address pools, and consolidation scheduling |
MCP Tools
The stdio server exposes 6 backend-connected tools:
Tool | Method + Endpoint | Purpose |
|
| Read a wallet vault balance |
|
| Deposit underlying into vault |
|
| Redeem vault shares |
|
| Transfer vault allocation (parent to sub-account) |
|
| Read operator/allowance status |
|
| Read multi-balance breakdown |
Backend Requirements
The MCP server is a thin API client. It expects a Yault backend providing:
GET /api/vault/balance/:addressGET /api/vault/balances/:addressGET /api/vault/agent-authorizationPOST /api/vault/deposit--{ address, amount }POST /api/vault/redeem--{ address, shares }POST /api/vault/transfer--{ from_address, to_address, amount, currency? }
Authentication: Authorization: Bearer sk-yault-* via YAULT_API_KEY env variable.
Security Model
AESP is built around "bounded autonomy":
Agent API keys should be policy-bound before spend execution.
Spending controls should include per-tx and rolling limits (daily/weekly/monthly).
Destination constraints should be allowlist-driven where applicable.
Sensitive operations should stay outside broad agent key scopes.
Human escalation remains the fallback for policy violations.
For vulnerability reporting, see SECURITY.md.
Related Packages
Package | Description |
ElizaOS plugin wrapping AESP for agent frameworks |
Development
Run tests:
npm testBuild TypeScript:
npm run build:tsBuild with WASM (requires acegf-wallet as a sibling repo, or set ACEGF_ROOT):
npm run build:wasm
npm run build:tsSee CONTRIBUTING.md for the full development guide.
License
This project is licensed under the Apache License 2.0. See LICENSE for the full text.
This server cannot be deployed
Maintenance
Related MCP Connectors
USDC treasury vaults, streaming payments, and DeFi yield for AI agents
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Payment infrastructure for AI agents: spending rules, approval flows, single-use virtual cards.
Non-custodial USDC yield vaults on Base mainnet with 9 MCP tools for AI agent treasury.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to analyze Ethereum wallets, simulate transactions, and draft transfers with deterministic policy and risk scoring, requiring human approval before on-chain execution.7 npmISC

capline-mcpofficial
AlicenseAqualityCmaintenanceEnables AI agents to make payments with strict spending limits enforced by signed mandates, preventing unauthorized fund movement beyond predefined caps and allowlists.45 npmMIT- AlicenseNot gradedqualityBmaintenanceProvides a three-layer payment firewall for AI agents, enabling identity verification, risk screening, and execution authorization with on-chain policy enforcement for secure and auditable transactions.213 npm2MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to propose wallet payments while a local, human-authored policy decides whether each transaction is approved, requires human confirmation, or is refused, and records every decision in a signed, append-only ledger.-