iwantmymtg-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IWMM_API_KEY | No | Personal API key. Required only for authenticated tools. | |
| IWMM_BASE_URL | No | Override for self-hosted or local-dev IWMM instances. | https://iwantmymtg.net |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_cardsA | Search Magic: The Gathering cards by name (substring), set code, rarity, type, or format legality. Returns a paginated list with prices and basic metadata. Use this for catalog lookups; for a specific printing prefer get_card with set+number. |
| get_cardA | Look up a specific card printing by set code and collector number. Returns full card detail including current prices, rarity, type, and flavor name. For broader catalog search use search_cards. |
| get_card_pricesB | Get current normal and foil prices for a specific card printing. |
| get_card_price_historyA | Get the 30-day price history for a card printing (normal + foil). Older data is retained on a weekly/monthly cadence beyond 30 days. |
| search_setsB | List Magic: The Gathering sets, optionally paginated. Returns set code, name, release date, type, and aggregate prices. |
| get_setA | Get detail for a single set by code (e.g. 'lea', 'mh3'). |
| list_set_cardsA | List all cards in a set, paginated. Supports the same filters as search_cards (rarity, type, format, legality). |
| get_sealed_productsA | List sealed products (booster boxes, bundles, commander decks, etc.) for a set. Each entry includes a TCGPlayer purchase URL. |
| list_inventoryA | List the authenticated user's card inventory, paginated. Requires IWMM_API_KEY. Returns cards with quantities, prices, and metadata. |
| get_inventory_quantitiesA | Batch lookup: given a list of card UUIDs, return how many of each (normal + foil) the user owns. Useful before recommending adds. Requires IWMM_API_KEY. |
| add_inventoryA | Add one or more cards to the authenticated user's inventory. Accepts a batch - pass a single-item array for one card. This is a real write. Use update_inventory to change quantities, remove_inventory to delete a row. Requires IWMM_API_KEY. |
| update_inventoryA | Update quantities for one or more existing inventory rows. Accepts a batch. Use remove_inventory to delete a row entirely. Requires IWMM_API_KEY. |
| remove_inventoryB | Remove a card+finish row from the authenticated user's inventory. Requires IWMM_API_KEY. |
| list_transactionsA | List the authenticated user's transactions, paginated. Supports sort/filter query params. Free tier sees the last 30 days only; Premium gets full history. Requires IWMM_API_KEY. |
| record_transactionA | Record a buy or sell transaction. By default this also adjusts inventory (BUY adds, SELL subtracts). This is a real write. Requires IWMM_API_KEY. |
| update_transactionA | Update an existing transaction by ID. Only the fields supplied are changed. Card identity and type (BUY/SELL) cannot be changed via this endpoint - delete and re-create instead. Requires IWMM_API_KEY. |
| delete_transactionC | Delete a transaction by ID. Requires IWMM_API_KEY. |
| get_cost_basisA | Get FIFO cost basis for a specific card+finish for the authenticated user. Pass either cardId or (setCode, setNumber). Requires IWMM_API_KEY. |
| get_portfolio_summaryA | Get the authenticated user's portfolio summary - current value, total invested, unrealized P&L, ROI, card/unit counts. Free tier sees current value + total invested only; Premium gets the full P&L set. Requires IWMM_API_KEY. |
| get_portfolio_historyB | Get portfolio value history. Premium-gated - free tier receives 403. Requires IWMM_API_KEY. |
| get_card_performanceA | Get the user's best- or worst-performing cards by P&L. Default: best, top 10. Premium-gated. Requires IWMM_API_KEY. |
| get_cash_flowA | Get the user's cash flow (money in vs money out from BUY/SELL transactions). Premium-gated. Requires IWMM_API_KEY. |
| get_realized_gainsA | Get the user's realized gains from SELL transactions using FIFO cost basis. Premium-gated. Requires IWMM_API_KEY. |
| get_portfolio_breakdownB | Get the user's collection value broken down by a dimension. Premium-gated. Requires IWMM_API_KEY. |
| refresh_portfolioA | Recalculate the user's portfolio P&L. Use after recording a batch of transactions if you want immediate fresh numbers. Requires IWMM_API_KEY. |
| list_price_alertsA | List the authenticated user's price alerts. Free tier is capped at 5 active alerts and a single threshold direction per alert; Premium removes both limits. Requires IWMM_API_KEY. |
| create_price_alertA | Create a price alert for a card. Supply increasePct, decreasePct, or both (Premium). At least one threshold is required. Requires IWMM_API_KEY. |
| update_price_alertA | Update an existing price alert. Pass null for a threshold to clear it (Premium only - free users must keep exactly one direction). isActive toggles enable/disable without deleting. Requires IWMM_API_KEY. |
| delete_price_alertB | Delete a price alert by ID. Requires IWMM_API_KEY. |
| list_notificationsA | List the authenticated user's price alert notifications, newest first. Includes both read and unread. Requires IWMM_API_KEY. |
| get_unread_notification_countA | Get the count of unread notifications for the authenticated user. Requires IWMM_API_KEY. |
| mark_notification_readC | Mark a single notification as read. Requires IWMM_API_KEY. |
| mark_all_notifications_readA | Mark every notification for the authenticated user as read. Requires IWMM_API_KEY. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/matthewdtowles/iwantmymtg-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server