MCP Server
Model Context Protocol server for AI-powered token management
MCP Server
The Sinai Standard MCP server exposes regulated token operations as tools that any Model Context Protocol-compatible AI agent can call — including Claude, GPT, and custom LLM agents.
Installation
Claude Desktop Configuration
Add the following to your Claude Desktop config file (claude_desktop_config.json):
For mainnet, change --network to mainnet-beta and update SINAI_RPC_URL to your mainnet RPC endpoint.
Available Tools
The MCP server exposes the following tools to the AI agent:
Token Operations
| Tool | Parameters | Description |
|---|---|---|
create_token | name, symbol, decimals, initialSupply | Create a new compliant Token-2022 token with hooks |
mint_tokens | mint, destination, amount | Mint tokens to a KYC-approved wallet |
transfer_tokens | mint, from, to, amount | Transfer tokens (enforces all hook rules) |
burn_tokens | mint, source, amount | Burn tokens from a wallet |
get_token_info | mint | Get token metadata, supply, and active hooks |
Allowlist Management
| Tool | Parameters | Description |
|---|---|---|
add_to_allowlist | mint, wallet | Add a wallet to the token's KYC allowlist |
remove_from_allowlist | mint, wallet | Remove a wallet from the allowlist |
check_allowlist | mint, wallet | Check if a wallet is on the allowlist |
get_allowlist | mint | List all wallets on the allowlist |
Compliance Queries
| Tool | Parameters | Description |
|---|---|---|
get_compliance_status | mint, wallet | Full compliance check: allowlist, hold period, balance cap |
get_hold_period | mint | Get the token's hold period configuration |
get_tax_config | mint | Get the token's transfer tax configuration |
get_max_balance | mint | Get the token's maximum balance cap |
Available Resources
The server also exposes read-only resources that agents can query:
| Resource URI | Description |
|---|---|
sinai://token/{mint} | Token metadata and configuration |
sinai://allowlist/{mint} | Current allowlist for a token |
sinai://compliance/{mint}/{wallet} | Compliance status for a specific wallet |
sinai://network | Current network and connection info |
Example Conversation
Once configured, an AI agent can manage tokens through natural language:
User: Create a new compliance token called "RegFund" with symbol RGF, 6 decimals, and an initial supply of 1,000,000.
Agent: I'll create the token with the specified parameters.
Agent: The token "RegFund" (RGF) has been created. Mint address: 7xKp...3mNq. It has KYC allowlist and transfer tax hooks enabled.
User: Add wallet 9aB4...xY2z to the allowlist.
Agent: Done — wallet 9aB4...xY2z is now on the KYC allowlist for RGF and can receive transfers.
Environment Variables
| Variable | Required | Description |
|---|---|---|
SINAI_PRIVATE_KEY | Yes | Base58-encoded private key for the issuer wallet |
SINAI_RPC_URL | No | Custom RPC endpoint (defaults to public devnet) |
SINAI_NETWORK | No | Network override: devnet or mainnet-beta |
SINAI_LOG_LEVEL | No | Logging verbosity: error, warn, info, debug |
Important: Never commit your private key to version control. Use environment variables or a secrets manager.
Troubleshooting
"Tool not found" errors
Ensure the MCP server is running and the config path is correct. Restart Claude Desktop after modifying the configuration.
Transaction failures
Most transaction failures are compliance-related — the on-chain hooks are working as intended:
- "Wallet not on allowlist" — Call
add_to_allowlistbefore transferring tokens - "Hold period not met" — The recipient's hold period has not elapsed since their last received transfer
- "Balance would exceed maximum" — The transfer would push the recipient over the
maxBalancecap - "Insufficient funds" — The source wallet does not have enough tokens
Connection issues
If the server cannot connect to the Solana network:
- Check that
SINAI_RPC_URLis valid and reachable - Ensure your RPC provider supports Token-2022 methods
- For mainnet, verify your RPC plan has sufficient rate limits