Overview
The Sardis MCP Server exposes 50+ payment tools through the Model Context Protocol, enabling AI assistants like Claude Desktop, Cursor, and ChatGPT to execute secure payments, manage wallets, and enforce spending policies.What is MCP?
The Model Context Protocol is Anthropic’s standard for connecting AI assistants to external tools and data sources. Think of it as a universal API for AI agents.
When to Use MCP
- Desktop AI Assistants: Claude Desktop, ChatGPT Desktop, Windsurf
- IDEs: Cursor, VS Code with MCP extension, Claude Code
- No-Code Integration: Works without writing any code
- Multi-Tool Workflows: Combine Sardis with other MCP servers
Installation
Claude Desktop
Edit your Claude Desktop config file:- macOS
- Windows
- Linux
claude_desktop_config.json
Cursor
Create.cursor/mcp.json in your project:
.cursor/mcp.json
Claude Code CLI
ChatGPT Desktop
- Open Settings → MCP Servers
- Click Add Custom
- Enter:
- Name:
sardis - Command:
npx -y @sardis/mcp-server - Environment:
SARDIS_API_KEY=sk_live_...
- Name:
Available Tools
The MCP server exposes all Sardis functionality through 50+ tools:Core Payment Tools
sardis_pay
Execute a payment with policy enforcement
sardis_get_balance
Check wallet balance and limits
sardis_check_policy
Validate payment against spending policy
sardis_list_transactions
View transaction history
Hold Management (Pre-Authorization)
| Tool | Description |
|---|---|
sardis_create_hold | Reserve funds for future payment |
sardis_capture_hold | Capture reserved funds |
sardis_void_hold | Cancel a hold and release funds |
sardis_release_hold | Release hold without capture |
sardis_extend_hold | Extend hold expiration |
Agent & Wallet Management
| Tool | Description |
|---|---|
sardis_create_agent | Register a new AI agent |
sardis_create_wallet | Create non-custodial MPC wallet |
sardis_list_agents | List all registered agents |
sardis_list_wallets | List all wallets |
Virtual Cards
| Tool | Description |
|---|---|
sardis_issue_card | Issue virtual card for agent |
sardis_freeze_card | Temporarily freeze card |
sardis_unfreeze_card | Unfreeze a card |
sardis_cancel_card | Permanently cancel card |
Spending Analytics
| Tool | Description |
|---|---|
sardis_get_spending_summary | Get spending totals by period |
sardis_get_spending_by_vendor | Vendor spending breakdown |
sardis_get_spending_by_category | Category spending analysis |
sardis_get_spending_trends | Identify spending patterns |
Group Budgets
| Tool | Description |
|---|---|
sardis_create_group | Create agent group with shared budget |
sardis_add_agent_to_group | Add agent to spending group |
sardis_get_group_spending | Check group budget usage |
Approvals
| Tool | Description |
|---|---|
sardis_request_approval | Request human approval for payment |
sardis_check_approval | Check approval status |
sardis_list_pending_approvals | List pending approval requests |
Fiat On/Off Ramps
| Tool | Description |
|---|---|
sardis_fund_wallet | Fund wallet via ACH/wire |
sardis_withdraw_to_bank | Withdraw to bank account |
sardis_onramp_fiat_to_usdc | Convert USD to USDC |
sardis_offramp_usdc_to_fiat | Convert USDC to USD |
Example Conversations
Once configured, your AI assistant can handle payment tasks naturally:Configuration
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
SARDIS_API_KEY | Yes | - | Your Sardis API key (get one) |
SARDIS_WALLET_ID | No | - | Default wallet for operations |
SARDIS_AGENT_ID | No | - | Agent ID for attribution |
SARDIS_MODE | No | sandbox | live or sandbox |
SARDIS_CHAIN | No | base | Default chain (base, polygon, ethereum) |
SARDIS_API_URL | No | https://api.sardis.sh | API endpoint |
Sandbox Mode (No API Key Needed)
Test Sardis without real funds using sandbox mode:Policy Configuration
Enforce spending policies via environment variables:Resources
The MCP server exposes wallet data through resources:| Resource URI | Description |
|---|---|
sardis://wallet/balance | Current balance and limits |
sardis://wallet/info | Wallet configuration |
sardis://config | Server configuration status |
sardis://tools | List of all available tools |
Prompts
Use built-in prompts for common workflows:| Prompt | Description |
|---|---|
pay-vendor | Make a payment with policy checks |
check-balance | Check balance and limits |
sandbox-tour | Guided tour of sandbox features |
Rate Limiting
The MCP server enforces per-tool rate limits to prevent abuse:| Tool Category | Limit |
|---|---|
| Payment execution | 5 calls/minute |
| Wallet mutations | 3 calls/minute |
| Hold operations | 10 calls/minute |
| Read operations | 60 calls/minute |
Security
Non-Custodial
All wallets use Turnkey MPC. Private keys never exist in a single location.Policy Enforcement
Every transaction validated against:- Per-transaction limits
- Daily/monthly spending caps
- Merchant allowlists/blocklists
- Category restrictions
Audit Trail
All operations logged to append-only ledger for compliance.Troubleshooting
Tools Not Appearing
- Restart your MCP client after config changes
- Verify JSON syntax (no trailing commas)
- Check that
npxis in your PATH - View logs:
tail -f ~/Library/Logs/Claude/mcp*.log(macOS)
API Key Errors
Rate Limit Exceeded
Next Steps
API Reference
Full documentation of all 50+ MCP tools
Build Agents
Learn how to build autonomous payment agents
Policy Engine
Understand spending policy enforcement
SDKs
Use Sardis in your own agent frameworks