Ten-card Celtic Cross spread — traditional ten-position tarot layout. Draws 10 unique cards using cryptographic randomness and assigns each to one of the 10 classical Celtic Cross positions.
SECTION: WHAT THIS TOOL COVERS
The Celtic Cross examines a situation from 10 angles simultaneously:
Position 1 (present) — the core situation
Position 2 (challenge) — what crosses or complicates it
Position 3 (root) — unconscious foundation or distant past
Position 4 (past) — recent events that led here
Position 5 (possible_outcome) — what could happen if current energy continues
Position 6 (near_future) — what is coming in the next weeks
Position 7 (self) — how you see yourself / your attitude
Position 8 (external) — how others see you or environmental factors
Position 9 (hopes_and_fears) — what you hope for or fear
Position 10 (outcome) — the most likely final resolution
All position meanings are included in the response — callers do not need external tables.
SECTION: WORKFLOW
BEFORE: None — standalone reading, or follow asterwise_get_tarot_three_card_spread when a more detailed examination of the same question is needed.
AFTER: None.
SECTION: INPUT CONTRACT
allow_reversed (bool, default false) — Each card independently has 50% reversal chance.
question (optional string, max 500 chars) — The question or situation being examined.
Example: 'Should I accept the job offer in London?'
SECTION: OUTPUT CONTRACT
data.spread_type (string — 'celtic_cross')
data.positions[] — 10 objects in order [present, challenge, root, past, possible_outcome, near_future, self, external, hopes_and_fears, outcome]:
card — full card object
is_reversed (bool)
position (string — named position key)
position_meaning (string — what this position represents)
active_meaning (string — orientation-appropriate interpretation)
active_keywords[] (string array)
data.question (string or null — echoed)
SECTION: RESPONSE FORMAT
response_format=json — full 10-card spread object.
response_format=markdown — formatted Celtic Cross reading.
SECTION: COMPUTE CLASS
FAST_LOOKUP — cryptographic randomness, no ephemeris.
SECTION: ERROR CONTRACT
INVALID_PARAMS (local): None.
INTERNAL_ERROR: Any upstream API failure → MCP INTERNAL_ERROR
SECTION: DO NOT CONFUSE WITH
asterwise_get_tarot_three_card_spread — 3 positions only; use for simpler questions.
asterwise_draw_tarot_cards — free draw with no positional meaning.
asterwise_get_tarot_yes_no — binary answer, not positional analysis.
Connector