@printr/mcp
MCP server for Printr — lets AI agents create, discover, and track tokens across chains.
No API key required. Works out of the box.
Setup
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"printr": {
"command": "npx",
"args": ["-y", "@printr/mcp@latest"]
}
}
}
Or with bunx:
{
"mcpServers": {
"printr": {
"command": "bunx",
"args": ["@printr/mcp@latest"]
}
}
}
Skills
If your agent runtime supports skills, you can install Printr directly:
npx skills add PrintrFi/printr-mcp
See the skill definition for details.
Optional capabilities
Auto-generate token images
Set OPENROUTER_API_KEY and the agent will generate an image automatically when you create a token without supplying one. The printr_generate_image tool also becomes available for standalone image generation.
"env": {
"OPENROUTER_API_KEY": "<your-openrouter-key>"
}
Let the agent sign transactions autonomously
By default, token creation returns an unsigned transaction that you sign via browser wallet or by passing a private key per call. If you want the agent to sign and submit without prompting, set a default key:
"env": {
"EVM_WALLET_PRIVATE_KEY": "<hex-private-key>",
"SVM_WALLET_PRIVATE_KEY": "<base58-keypair-secret>"
}
Keep private keys out of shared configs. Use environment-level secrets when possible.
Tools
Token Creation
printr_quote | Get cost estimates for token creation |
printr_create_token | Generate an unsigned token creation tx payload |
printr_launch_token | Create and sign a token in one call |
printr_get_token | Look up token details by ID or address |
printr_get_deployments | Check deployment status across target chains |
printr_generate_image | Generate a token avatar via OpenRouter (requires OPENROUTER_API_KEY) |
Signing
printr_sign_and_submit_evm | Sign and submit an EVM tx payload |
printr_sign_and_submit_svm | Sign and submit a Solana tx payload |
printr_open_web_signer | Start a browser signing session (MetaMask / Phantom) |
Wallet Management
printr_wallet_new | Generate a new encrypted wallet |
printr_wallet_import | Import an existing private key |
printr_wallet_unlock | Activate a stored wallet for signing |
printr_wallet_list | List wallets in keystore (keys hidden) |
printr_wallet_remove | Remove a wallet from keystore |
printr_wallet_bulk_remove | Remove multiple wallets from keystore |
Treasury & Deployment Wallets
printr_set_treasury_wallet | Unlock treasury wallet for funding deployments |
printr_fund_deployment_wallet | Create and fund an ephemeral deployment wallet |
printr_drain_deployment_wallet | Return unused funds from deployment wallet to treasury |
Balances & Transfers
printr_get_balance | Get native token balance for an account |
printr_get_token_balance | Get ERC-20/SPL token balance |
printr_transfer | Send native tokens to an address |
Fees
printr_get_creator_fees | Check claimable creator fees for a token |
printr_claim_fees | Claim accumulated creator fees |
Staking
printr_get_staking_positions | Get staking positions with claimable rewards |
printr_claim_staking_rewards | Claim rewards from a stake position (or withdraw if unlocked) |
Utility
printr_supported_chains | List all supported chains with CAIP-2 IDs |
Environment variables
PRINTR_API_KEY | Partner API key. Falls back to the default public AI-integration key. |
OPENROUTER_API_KEY | Enables auto image generation and the printr_generate_image tool |
OPENROUTER_IMAGE_MODEL | Image model override (default: google/gemini-2.5-flash-image) |
EVM_WALLET_PRIVATE_KEY | Default EVM private key for autonomous signing |
SVM_WALLET_PRIVATE_KEY | Default Solana keypair secret for autonomous signing |
PRINTR_DEPLOYMENT_PASSWORD | Master password for encrypting deployment wallets (min 16 chars). Required for printr_fund_deployment_wallet. Generate with: openssl rand -base64 32 |
Logging
LOG_LEVEL | Log level: trace, debug, info, warn, error, fatal (default: info) |
LOG_FORMAT | Log format: json for structured logs, pretty for development (default: json) |
Dev / self-hosting
PRINTR_API_BASE_URL | Override API base URL (default: https://api-preview.printr.money) |
PRINTR_APP_URL | Override app URL (default: https://app.printr.money) |
Development
This is a monorepo with three packages:
@printr/sdk — Core TypeScript SDK (framework-agnostic)
@printr/mcp — MCP server wrapping the SDK
@printr/cli — CLI for setup and configuration
bun install
bun dev
bun test
bun run check
Package-specific commands
bun run --cwd packages/sdk test
bun run --cwd packages/sdk build
bun run --cwd packages/mcp test
bun run --cwd packages/mcp build
Using the SDK directly
import { createPrintrClient, buildToken } from '@printr/sdk';
const client = createPrintrClient({
apiKey: process.env.PRINTR_API_KEY,
});
const result = await buildToken({
creator_accounts: ['eip155:8453:0x...'],
name: 'My Token',
symbol: 'TKN',
description: 'A cool token',
chains: ['eip155:8453'],
initial_buy: { spend_usd: 10 },
}, client);