Tarotap

Tarot spreads and card draws from a shuffled 78-card Rider-Waite-Smith deck, 23 languages, no key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
90%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~843Tokens (tool definitions)
~3.2 KBTypical response size
Moderate attention impact (0.66% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "tarot": {
      "url": "https://tarotap.com/api/mcp/claude"
    }
  }
}

Remote endpoints

https://tarotap.com/api/mcp/claudestreamable-http
https://tarotap.com/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_spreads(locale)

List the tarot spreads available for a reading, with each spread's id, name, tagline, number of cards, and position names, in the requested language. The ids are the values draw_cards accepts as spread_id and are the same in every language.

Input Schema

{
  "type": "object",
  "properties": {
    "locale": {
      "description": "Language for spread names, position names, card names and widget text: the language the user is writing in, as a BCP-47 code (zh-CN = Simplified Chinese, zh-TW = Traditional Chinese). Defaults to en.",
      "type": "string",
      "enum": [
        "en",
        "zh-TW",
        "zh-CN",
        "ja",
        "ko",
        "es",
        "de",
        "pt",
        "fr",
        "it",
        "nl",
        "ru",
        "uk",
        "he",
        "th",
        "tr",
        "pl",
        "da",
        "no",
        "vi",
        "hu",
        "fi",
        "id"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "spreads": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "card_count": {
            "type": "number"
          },
          "positions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "name",
          "tagline",
          "card_count",
          "positions"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "spreads"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢draw_cards(spread_id, card_count, locale)

Shuffle a full 78-card Rider-Waite-Smith deck with server-side randomness and show it face-down in an interactive widget, where the user picks their cards by hand. Where the widget renders, the tool result does not contain the drawn cards: the widget sends the cards the user picked to the conversation once the last one is revealed. In a text-only host the cards are drawn server-side and returned in the result. Takes a spread_id from list_spreads to draw into that spread's positions, or a card_count (1-10) for a free-form draw such as a single card of the day. Card names, position names and the widget text follow locale.

Input Schema

{
  "type": "object",
  "properties": {
    "spread_id": {
      "description": "Spread id from list_spreads. Takes precedence over card_count.",
      "type": "string",
      "maxLength": 64
    },
    "card_count": {
      "description": "Number of cards for a free-form draw without a spread. Defaults to 3.",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "locale": {
      "description": "Language for spread names, position names, card names and widget text: the language the user is writing in, as a BCP-47 code (zh-CN = Simplified Chinese, zh-TW = Traditional Chinese). Defaults to en.",
      "type": "string",
      "enum": [
        "en",
        "zh-TW",
        "zh-CN",
        "ja",
        "ko",
        "es",
        "de",
        "pt",
        "fr",
        "it",
        "nl",
        "ru",
        "uk",
        "he",
        "th",
        "tr",
        "pl",
        "da",
        "no",
        "vi",
        "hu",
        "fi",
        "id"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "spread": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "additionalProperties": false
    },
    "card_count": {
      "type": "number"
    },
    "status": {
      "type": "string"
    },
    "cards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "position": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "reversed": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "reversed"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "card_count",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
verifiedversion not recorded2 tools