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-onlyList Pokémon cards in the signed-in user's CardVaulty collection, ordered by market value (highest first).
Parameters
limit — integer. 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-onlyPaginated 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
page — integer. 1-based page number.limit — integer. Cards per page (max 100).sort — string
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-onlySearch the signed-in user's CardVaulty collection by card name or set name (case-insensitive).
Parameters
query — string (required). Text to match against card name or set name.limit — integer
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-onlyFetch full details for a single vault card by its id. Use this to verify writes or display exact card information.
Parameters
id — string (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-onlyList the Pokémon cards on the signed-in user's CardVaulty wishlist.
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 vaultwriteAdd 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
name — string (required). Card name, e.g. 'Charizard'.set_name — string. Set name, e.g. 'Base Set'.number — string. Card number within the set, e.g. '4/102'.rarity — stringtcg_id — string. Pokémon TCG API card id (e.g. 'base1-4'), links to live prices.image_url — stringquantity — integercondition — string. e.g. 'Near Mint', 'Lightly Played'.grade — string. e.g. 'PSA 10'.is_holo — booleanis_favorite — booleanfor_sale — booleannotes — stringprice_avg — number. 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 vaultwriteBulk-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
cards — array (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 vaultdestructiveRemove 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
id — string (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 vaultdestructiveBulk-remove cards from the signed-in user's CardVaulty vault by their ids. Only rows owned by the caller are deleted.
Parameters
ids — array (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" }
}
}