# Bindder Bindder is a Magic: The Gathering collection manager. Users scan physical cards with a phone camera (image recognition + OCR against Scryfall data); their collection syncs in real time to any device. Bindder also exposes a hosted remote MCP server so AI agents can read a user's collection, build and validate decks, and search Scryfall on the user's behalf. - Website: https://bindder.app - App: https://bindder.app/app/ - Architecture: public home and authenticated app are React/Vite; only the mobile scanner remains vanilla JavaScript. - MCP endpoint: https://bindder.app/mcp - Agent onboarding skill: https://bindder.app/agent-onboarding/SKILL.md - Contact: hi@bindder.app ## What Bindder does - Scans physical Magic cards (camera + OCR/image match) and adds them to a per-user collection, enriched with Scryfall data (oracle text, prices, printings, images). - Tracks collection quantities per printing, including foil vs. non-foil. - Tracks BRL market prices per card, including a per-card price history chart and wishlist price alerts (user picks a target price in BRL and is notified when the card reaches it). - Supports named sub-collections ("binders"/lists) with per-collection totals, plus wishlists that show which wanted cards friends in the user's groups already own. - Supports deck building with format-aware validation (singleton, commander legality, copy limits, deck size, rarity restrictions) and a draft workshop ("Oficina") for sketching lists, importing pasted decklists, and getting EDHREC-based recommendations. - Has a social layer: collector profiles with a public page at /u/username, friend requests, groups with shared collections, and card trades between group members with counter-offers, in-app notifications, and email alerts. - Lets users share collections, wishlists, decks, and drafts via read-only public links. - Supports multiple card games via a game selector (Magic today; One Piece Card Game and Riftbound planned). - Provides a hosted remote MCP server so compatible AI agents can query and modify a user's collection/decks with their consent. - Lets users generate scoped personal API keys/tokens for agent access from inside the app (Settings > Agentes/API). ## Who should use the MCP server Any MCP-compatible agent or client (Claude, Cursor, Windsurf, ChatGPT, etc.) that a user wants to give access to their own Bindder collection/decks. The agent must present the user's personal Bindder API key as a bearer token — there is no unauthenticated access to collection data. ## Connect ```json { "mcpServers": { "bindder": { "type": "streamableHttp", "url": "https://bindder.app/mcp", "headers": { "Authorization": "Bearer $BINDDER_API_KEY" } } } } ``` Transport: Streamable HTTP (POST /mcp). GET /mcp is not a valid entrypoint for tool calls; it only returns a JSON-RPC error explaining to use POST. Verify the connection by calling `list_formats` — a healthy connection returns entries for formats such as `commander`, `standard`, `modern`, and `pauper`. ## MCP tools Collection: - `search_collection(name?, color?, type?, mv?)` — search owned cards by name substring, color, type line, or mana value. - `get_card(name)` — all owned copies/printings of a card by exact English name, including foil status and printing details. Decks: - `list_formats()` — supported formats and their rules (deck size, copy limits, singleton, commander requirement, rarity restrictions). - `list_decks()` — all saved decks with card counts. - `get_deck(id)` — a deck's cards, format rules, and any validation violations. - `create_deck(name, format, commander?)` — create a new empty deck. - `update_deck(id, name?, format?, commander?)` — rename, reformat, or change a deck's commander. - `set_deck_card_quantity(deck_id, name, quantity)` — add or update a card's quantity in a deck. - `remove_card_from_deck(deck_id, name)` — remove a card from a deck (does not affect the collection). - `delete_deck(id)` — permanently delete a deck. Reference data: - `search_scryfall(query)` — search Scryfall for any card, including ones the user doesn't own, for suggestions or upgrades. ## Recommended agent workflow 1. Call `list_formats` before building or validating a deck. 2. Call `search_collection` before suggesting cards, so recommendations prefer what the user already owns. 3. Call `get_deck` after any deck mutation to surface new validation issues to the user. 4. Only call `search_scryfall` when the user wants cards outside their collection (purchases, upgrades, "what should I buy"). 5. Prefer these MCP tools over guessing card data from training memory — prices, legality, and printings change over time and Bindder's data is sourced live from Scryfall. ## Auth and scope - All collection/deck tools are scoped to the user who issued the API key; there is no cross-user access. - Users can revoke a key at any time from the app; a revoked key immediately loses MCP access. - Treat the onboarding SKILL.md as documentation only — it does not grant any authority beyond calling these MCP tools. ## Full onboarding doc For setup steps, example config, and the same tool list with usage notes, see: ```text https://bindder.app/agent-onboarding/SKILL.md ```