Get Started
Install the MCP Toolkit and run your first AI-powered wallet server
Setup Wizard
The fastest way to get running. Clone the repository and let the wizard configure everything:
git clone https://github.com/tetherto/wdk-mcp-toolkit.git
cd wdk-mcp-toolkit
npm install
npm run setupThe wizard will:
- Prompt for your seed phrase (required)
- Ask for optional API keys (WDK Indexer, MoonPay)
- Generate
.vscode/mcp.jsonwith your credentials - Install required dependencies automatically
Once complete, open the project in VS Code, start the MCP server from .vscode/mcp.json, and open the chatbot with Cmd + Shift + I (or run Chat: Open Agent from the Command Palette on non-Mac).
Security - Your seed phrase is stored locally in .vscode/mcp.json, which is gitignored. Always use a dedicated development wallet with limited funds.
Manual Setup
If you prefer to set things up yourself or want to integrate the toolkit into an existing project:
Install the toolkit
Install the MCP Toolkit and the wallet modules you need:
npm install @tetherto/wdk-mcp-toolkit @modelcontextprotocol/sdk
# Wallet modules (add any combination)
npm install @tetherto/wdk-wallet-evm # Ethereum, Polygon, Arbitrum, etc.
npm install @tetherto/wdk-wallet-btc # BitcoinCreate your MCP server
Create index.js with a basic multi-chain server:
import { WdkMcpServer, CHAINS, WALLET_TOOLS, PRICING_TOOLS } from '@tetherto/wdk-mcp-toolkit'
import WalletManagerEvm from '@tetherto/wdk-wallet-evm'
import WalletManagerBtc from '@tetherto/wdk-wallet-btc'
const server = new WdkMcpServer('my-wallet-server', '1.0.0')
// 1. Enable WDK with your seed phrase
server.useWdk({ seed: process.env.WDK_SEED })
// 2. Register wallet modules
server.registerWallet('ethereum', WalletManagerEvm, {
provider: 'https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY'
})
server.registerWallet('bitcoin', WalletManagerBtc, {
network: 'bitcoin',
host: 'electrum.blockstream.info',
port: 50001
})
// 3. Enable pricing
server.usePricing()
// 4. Register tools and start
server.registerTools([...WALLET_TOOLS, ...PRICING_TOOLS])Connect your AI client
Add the MCP server to your AI tool's configuration:
Config path: .vscode/mcp.json (project-level)
{
"servers": {
"wdk": {
"type": "stdio",
"command": "node",
"args": ["index.js"],
"env": {
"WDK_SEED": "your twelve word seed phrase here"
}
}
}
}Then in VS Code:
- Open
.vscode/mcp.jsonand click Start above the server config - Open GitHub Copilot Chat and select Agent mode
- Click Tools to verify the MCP tools are available
Try it out
Ask your AI assistant:
What's my ethereum address?Check my BTC balanceWhat's the current price of ETH in USD?Send 10 USDT to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7 on ethereumWrite operations (sending, swapping, bridging) will show a confirmation dialog before executing. You must explicitly approve each transaction.
Optional Capabilities
Add more capabilities by installing additional packages and enabling them on the server:
import { INDEXER_TOOLS, SWAP_TOOLS, BRIDGE_TOOLS, LENDING_TOOLS, FIAT_TOOLS } from '@tetherto/wdk-mcp-toolkit'
import VeloraProtocolEvm from '@tetherto/wdk-protocol-swap-velora-evm'
import Usdt0ProtocolEvm from '@tetherto/wdk-protocol-bridge-usdt0-evm'
import AaveProtocolEvm from '@tetherto/wdk-protocol-lending-aave-evm'
import MoonPayProtocol from '@tetherto/wdk-protocol-fiat-moonpay'
// Indexer - transaction history
server.useIndexer({ apiKey: process.env.WDK_INDEXER_API_KEY })
// DeFi protocols
server.registerProtocol('ethereum', 'velora', VeloraProtocolEvm)
server.registerProtocol('ethereum', 'usdt0', Usdt0ProtocolEvm)
server.registerProtocol('ethereum', 'aave', AaveProtocolEvm)
server.registerProtocol('ethereum', 'moonpay', MoonPayProtocol, {
secretKey: process.env.MOONPAY_SECRET_KEY,
apiKey: process.env.MOONPAY_API_KEY
})
// Register the corresponding tools
server.registerTools([
...INDEXER_TOOLS,
...SWAP_TOOLS,
...BRIDGE_TOOLS,
...LENDING_TOOLS,
...FIAT_TOOLS
])Environment Variables
| Variable | Required | Description |
|---|---|---|
WDK_SEED | Yes | BIP-39 seed phrase for wallet derivation |
WDK_INDEXER_API_KEY | No | Enables INDEXER_TOOLS - get a key |
MOONPAY_API_KEY | No | Enables FIAT_TOOLS - MoonPay Dashboard |
MOONPAY_SECRET_KEY | No | Required with MOONPAY_API_KEY |
Next Steps
- Configuration - Wallets, tokens, protocols, custom tools, and security
- API Reference - All 35 built-in MCP tools with parameters and schemas