AI-native integration with the DUAL tokenization platform
DUAL MCP Server
AI-native integration with the DUAL tokenization platform via the Model Context Protocol.
This MCP server enables AI agents to interact directly with the DUAL Web3 Operating System — minting tokens, managing templates, executing actions, deploying webhooks, and querying blockchain infrastructure. Not through screen scraping or API wrappers, but through native integration that treats AI agents as first-class users of the system.
Features
- 115 tools across 17 API modules
- Full CRUD for wallets, organizations, templates, objects, faces, webhooks, notifications, and API keys
- Event Bus — execute actions and batch operations atomically
- Sequencer & ZK-Rollup — query batches and checkpoints
- AI Services — intelligence (agents, predictions, knowledge graph), governance (compliance, provenance), creative (token design, face templates)
- Public API — read-only access without authentication
- Dual transport — stdio for local use, HTTP for remote deployment
- Session-isolated HTTP — each HTTP request gets its own auth context
Quick Start
Install
npm install
npm run build
Configure
Set your authentication via environment variables:
# Option 1: API Key (recommended for server-to-server)
export DUAL_API_KEY=your-api-key
# Option 2: JWT Token
export DUAL_ACCESS_TOKEN=your-jwt-token
# Option 3: Use the dual_login tool interactively (stdio mode only — see note below)
Note on
dual_loginand HTTP mode: HTTP mode is stateless — each request creates a fresh server and API client, so any auth state set bydual_loginis discarded after that single request. For HTTP deployments, always supply credentials via environment variable (DUAL_API_KEYorDUAL_ACCESS_TOKEN) rather than callingdual_logininteractively. Interactive login viadual_loginonly works reliably in stdio mode.
Run
# stdio transport (for Claude, Cursor, etc.)
node dist/index.js
# HTTP transport (for remote/multi-client)
# MCP_SERVER_API_KEY is REQUIRED for HTTP mode
MCP_SERVER_API_KEY=your-secret TRANSPORT=http PORT=3100 node dist/index.js
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"dual": {
"command": "node",
"args": ["/path/to/dual-mcp-server/dist/index.js"],
"env": {
"DUAL_API_KEY": "your-api-key"
}
}
}
}
API Modules & Tools
Core DUAL API (81 tools)
| Module | Tools | Description |
|---|---|---|
| Wallets | 11 | Authentication, registration, profile management, logout |
| Organizations | 10 | Multi-tenant workspaces, members, roles |
| Templates | 7 | Token template CRUD, variations |
| Objects | 8 | Tokenized asset instances, search, hierarchy |
| Actions (Event Bus) | 7 | Execute actions, batch operations, action types |
| Faces | 6 | Visual representations (image, 3D, web) |
| Storage | 4 | File upload, asset management |
| Webhooks | 6 | Real-time event subscriptions |
| Notifications | 5 | Message sending, templates |
| Sequencer | 4 | Batch and ZK-rollup checkpoint queries |
| API Keys | 3 | Programmatic access management |
| Payments | 2 | Payment config, deposit history |
| Support | 3 | Feature access requests, support messages |
| Public API | 5 | Read-only public endpoints (no auth) |
AI Services (34 tools)
These tools require the DUAL AI microservices running alongside the server. See AI Service Dependencies below.
| Module | Tools | Description |
|---|---|---|
| Intelligence | 12 | Autonomous agents, lifecycle predictions, trending, anomalies, knowledge graph |
| Governance | 14 | Compliance rules & evaluation, audit log, policy parsing, provenance verification |
| Creative | 8 | Token design generation, face templates, SVG rendering |
Example Usage
Natural Language → Token Deployment
"Create a redeemable reward token for my brand with 1 million supply, set up a rule that expires after 12 months, and mint it on Base."
The AI agent uses:
dual_create_template— define the reward token structuredual_create_action_type— register "Redeem" and "Expire" actionsdual_execute_action— mint the initial supplydual_create_webhook— set up expiry monitoring
Querying Infrastructure
"Show me the latest ZK checkpoint and how many objects are on the platform."
dual_list_checkpoints— latest rollup statedual_public_get_stats— platform-wide statistics
Environment Variables
| Variable | Description | Required |
|---|---|---|
DUAL_API_KEY |
API key for DUAL platform authentication | One of these |
DUAL_ACCESS_TOKEN |
JWT access token | One of these |
DUAL_REFRESH_TOKEN |
JWT refresh token | No |
DUAL_API_URL |
API |
Tools (7)
dual_loginAuthenticates the user session for stdio mode.dual_create_templateDefines a new token template structure.dual_create_action_typeRegisters a new action type for the event bus.dual_execute_actionExecutes a specific action or batch operation.dual_create_webhookSets up a real-time event subscription.dual_list_checkpointsQueries the latest ZK-rollup state checkpoints.dual_public_get_statsRetrieves platform-wide statistics.Environment Variables
DUAL_API_KEYAPI key for DUAL platform authenticationDUAL_ACCESS_TOKENJWT access tokenDUAL_REFRESH_TOKENJWT refresh tokenDUAL_API_URLCustom API endpoint URLMCP_SERVER_API_KEYRequired for HTTP mode deploymentConfiguration
{"mcpServers": {"dual": {"command": "node", "args": ["/path/to/dual-mcp-server/dist/index.js"], "env": {"DUAL_API_KEY": "your-api-key"}}}}