Falcı Hatun computes real ephemeris astrology and deals real tarot. The chart, the aspects, the dated transits, the drawn cards — all of it structured data. The agent calling this is already a language model; it tells the story. So this service needs no LLM of its own: no API key, no vendor bill, and the same answer every time you ask.
Every result here comes from the live /api/mcp endpoint — the same one an OKX.AI agent calls. Nothing is mocked.
const seed = hash(partner.name + partner.date);
emotional: 40 + (seed % 60),
attraction: 40 + ((seed >> 6) % 60),
Change one letter of the name and "emotional compatibility" moved. Neither chart was ever consulted.
Venus(A) — Mars(B) trine, orb 1.4°
Moon(A) — Saturn(B) square, orb 0.8°
→ classical significators, weighted by orb
Renaming someone does not move the score. Changing their birth date does. A test asserts both.
The transit timeline was hardcoded too — "Mercury retrograde, +7 days", identical for every user, without ever looking at the sky. Now every date is searched from the ephemeris and bisected to the exact moment the aspect perfects.
Without a birth time the ascendant, the midheaven and every house placement are meaningless — they rotate a full circle every 24 hours. Falcı Hatun still returns the chart, but states plainly in caveats which parts cannot be trusted, and the MCP instructions tell the agent not to speak about them. An unrecognised birthplace does not quietly fall back to the centre of the map either: it raises an error and suggests near matches.
Every sign, planet, aspect, spread position and card meaning comes back in Turkish and English on the same response — all 78 cards, both orientations. The agent replies in whichever language the person used.
{ "name": "Kılıç Dokuzlusu", "nameEn": "Nine of Swords",
"meaning": "kaygı, endişe, uykusuzluk, kabuslar",
"meaningEn": "anxiety, worry, sleeplessness, nightmares" }
POST https://falci-hatun.vercel.app/api/mcp
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "natal_chart",
"arguments": {
"date": "1990-05-15",
"time": "09:30",
"place": "Izmir"
}
}
}