CardVaulty MCP

Model Context Protocol server v0.1.0. Connect any MCP-compatible client (Claude, ChatGPT, Cursor, Codex) to read and manage your Pokémon card vault.

Connect

Add this server URL in your MCP client:

https://cardvaulty.com/mcp

Auth: OAuth 2.1 via Supabase. Your client will open a browser window to sign in and approve access to your CardVaulty account.

Tools

list_vault_cards

List vault cardsread-only

List Pokémon cards in the signed-in user's CardVaulty collection, ordered by market value (highest first).

Parameters

  • limitinteger. Max cards to return (default 50).
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_vault_cards",
    "arguments": {}
  }
}

POST to https://cardvaulty.com/mcp

list_vault_cards_paged

List vault cards (paginated)read-only

Paginated list of the signed-in user's CardVaulty vault. Returns cards for the given page plus total count and hasMore. Sort by price or recency.

Parameters

  • pageinteger. 1-based page number.
  • limitinteger. Cards per page (max 100).
  • sortstring
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_vault_cards_paged",
    "arguments": {}
  }
}

POST to https://cardvaulty.com/mcp

search_vault_cards

Search vault cardsread-only

Search the signed-in user's CardVaulty collection by card name or set name (case-insensitive).

Parameters

  • querystring (required). Text to match against card name or set name.
  • limitinteger
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_vault_cards",
    "arguments": {
      "query": "example"
    }
  }
}

POST to https://cardvaulty.com/mcp

get_vault_card

Get vault card by idread-only

Fetch full details for a single vault card by its id. Use this to verify writes or display exact card information.

Parameters

  • idstring (required). Vault card id (uuid).
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_vault_card",
    "arguments": {
      "id": "example"
    }
  }
}

POST to https://cardvaulty.com/mcp

list_wishlist

List wishlistread-only

List the Pokémon cards on the signed-in user's CardVaulty wishlist.

Parameters

  • limitinteger
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_wishlist",
    "arguments": {}
  }
}

POST to https://cardvaulty.com/mcp

add_vault_card

Add card to vaultwrite

Add a Pokémon card to the signed-in user's CardVaulty collection. Only 'name' is required; other fields describe the printing, condition, and value.

Parameters

  • namestring (required). Card name, e.g. 'Charizard'.
  • set_namestring. Set name, e.g. 'Base Set'.
  • numberstring. Card number within the set, e.g. '4/102'.
  • raritystring
  • tcg_idstring. Pokémon TCG API card id (e.g. 'base1-4'), links to live prices.
  • image_urlstring
  • quantityinteger
  • conditionstring. e.g. 'Near Mint', 'Lightly Played'.
  • gradestring. e.g. 'PSA 10'.
  • is_holoboolean
  • is_favoriteboolean
  • for_saleboolean
  • notesstring
  • price_avgnumber. Optional market price override (GBP).
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_vault_card",
    "arguments": {
      "name": "example"
    }
  }
}

POST to https://cardvaulty.com/mcp

add_vault_cards

Add multiple cards to vaultwrite

Bulk-add Pokémon cards to the signed-in user's CardVaulty vault in one request. Pass an array of card objects; each requires at least a name.

Parameters

  • cardsarray (required). Array of cards to insert (1-100).
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_vault_cards",
    "arguments": {
      "cards": []
    }
  }
}

POST to https://cardvaulty.com/mcp

remove_vault_card

Remove card from vaultdestructive

Remove a card from the signed-in user's CardVaulty vault by its id. Use list_vault_cards or search_vault_cards to find the id first.

Parameters

  • idstring (required). The vault card id (uuid) returned by list_vault_cards/search_vault_cards.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "remove_vault_card",
    "arguments": {
      "id": "example"
    }
  }
}

POST to https://cardvaulty.com/mcp

remove_vault_cards

Remove multiple cards from vaultdestructive

Bulk-remove cards from the signed-in user's CardVaulty vault by their ids. Only rows owned by the caller are deleted.

Parameters

  • idsarray (required). Vault card ids to delete (1-200).
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "remove_vault_cards",
    "arguments": {
      "ids": []
    }
  }
}

POST to https://cardvaulty.com/mcp

Example request

MCP uses JSON-RPC 2.0 over Streamable HTTP. After the OAuth handshake, tool calls look like:

POST https://cardvaulty.com/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
Authorization: Bearer <access_token>

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_vault_card",
    "arguments": { "name": "Charizard", "set_name": "Base Set", "number": "4/102" }
  }
}