MCP Server for I Want My MTG, Collection & Transaction Tracker
iwantmymtg-mcp
An MCP server for I Want My MTG. Exposes IWMM's API as tools so Claude Desktop, Claude Code, Cursor, and other MCP clients can search Magic: The Gathering cards/sets and manage a user's collection conversationally.
Status: v0 scaffold. The set of tools below is the v1 surface; coverage will expand to match the API.
What you can do
- Anonymous (no key): search cards, look up a card by set+number, get current prices and 30-day price history, list sets and their cards, list sealed products.
- Authenticated (with an IWMM API key): list and update your inventory.
More authenticated tools (transactions, portfolio breakdowns, price alerts, notifications) are coming - see the project roadmap.
Install
Requires Node 20+.
npx iwantmymtg-mcp
(Until published to npm, use the local install instructions below.)
Claude Desktop
Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"iwmm": {
"command": "npx",
"args": ["-y", "iwantmymtg-mcp"],
"env": {
"IWMM_API_KEY": "iwm_live_..."
}
}
}
}
IWMM_API_KEY is optional - read-only tools work without it. Create a key at https://iwantmymtg.net/user/api-keys.
Claude Code
Add to .mcp.json in your project (or ~/.claude/.mcp.json globally):
{
"mcpServers": {
"iwmm": {
"command": "npx",
"args": ["-y", "iwantmymtg-mcp"],
"env": { "IWMM_API_KEY": "iwm_live_..." }
}
}
}
Example prompts
- "Search for Lightning Bolt printings and show me the cheapest one."
- "What's the price history of Bloodbraid Elf from Modern Horizons 3?"
- "Add 4 copies of Lightning Bolt LEA to my inventory."
- "What sealed products are available for MH3?"
Configuration
| Env var | Default | Purpose |
|---|---|---|
| IWMM_API_KEY | (unset) | Personal API key. Required only for authenticated tools. |
| IWMM_BASE_URL | https://iwantmymtg.net | Override for self-hosted or local-dev IWMM instances. |
Local development
npm install
npm run build
node dist/index.js
Or with tsx for live reload:
npm install
npx tsx src/index.ts
License
MIT