FateTell MCP
FateTell computes; your AI interprets.
FateTell MCP is a hosted remote MCP server (Streamable HTTP) that returns deterministic BaZi (Four Pillars) charts, Chinese almanac data and the charts saved in a FateTell account to any MCP client. The server calls no language model: the AI you already use reads and explains the results. There is nothing to download or run.
This repository holds the public metadata for that server: a plugin for Claude and Claude Code, a plugin for Cursor, an Agent Plugins package for Hermes Agent, the MCP Registry entry, and the fatetell-bazi skill on how to read FateTell results. The server itself is not in this repository.
Endpoints
The tools, their inputs and their results are the same on every endpoint. Sign-in uses OAuth 2.1; there is no key or token to configure in advance.
Install
Claude (web, desktop, mobile)
Settings → Connectors → Add → Add custom connector. Name FateTell, URL:
Under Authentication choose Sign in when needed (Claude detects "No sign-in" by default because the free tools work without an account; with that choice it never offers sign-in for account features). Leave the OAuth client on Claude's published identity and enter no key. Connectors follow your Claude account, so the desktop and mobile apps pick it up. Once the FateTell plugin is listed in the Claude directory, installing it from there adds the same connector together with the skill.
Claude Code
This repository is also a Claude Code plugin marketplace. The plugin adds the connector (/mcp) and the fatetell-bazi skill:
Connector only, without the skill:
Add --scope user before the name to use it in every project. To sign in ahead of time, run claude mcp login fatetell; otherwise the first account feature prompts you. /mcp shows the connection status.
Codex
Codex opens FateTell's sign-in page right away. If the browser does not open, run codex mcp login fatetell. In the ChatGPT desktop app, Codex has its own page: Settings → Plugins → MCPs → Add, with the same URL.
ChatGPT
On chatgpt.com (or the desktop app): Plugins → Add → Add custom MCP server. Name FateTell, keep Connection on Server URL and use ChatGPT's endpoint:
Keep Authentication on OAuth, leave the advanced OAuth settings alone, tick the confirmation and choose Create as a plugin. ChatGPT opens FateTell's sign-in page; choose Allow. Use this endpoint only in ChatGPT.
Cursor
Install FateTell from the Cursor Marketplace once it is listed; the plugin connects to the sign-in endpoint. To add it by hand, open this link and choose Install:
Add to Cursor
or add this entry to ~/.cursor/mcp.json:
Cursor asks you to sign in to FateTell while it connects. Cursor handles a sign-in challenge only at that stage, which is why it uses /login/mcp rather than the default endpoint.
VS Code
The first time a chat uses a feature that needs your account, follow the prompt to sign in.
Grok Bot
Grok Bot is Cursor's cloud agent. Add FateTell as a remote MCP connector with the sign-in endpoint, or ask Grok Bot to add it for you:
Manus
On manus.im: Plugins → Create → Custom MCP. Server Name FateTell, Transport Type HTTP, Server URL:
Leave the headers empty and choose Save; Manus starts sign-in while connecting.
Hermes Agent
This repository is also an Agent Plugins package, which Hermes Agent installs as a plugin. The package adds the connector (/mcp) and the fatetell-bazi skill; Hermes installs it disabled, so enable it afterwards:
Once FateTell is listed in the Hermes plugin catalog, hermes plugins install fatetell installs the same package. Chart casting and the almanac work right away. The package marks the server untrusted, so Hermes asks before any tool call that is not marked read-only; create_saved_chart is the only such tool.
A plugin package cannot declare sign-in, so account features need a server entry of your own. Add this under mcp_servers in your Hermes config.yaml, next to any servers already there:
Then sign in:
This entry replaces the package's connector of the same name, including its trust setting, which is why it repeats trust: untrusted. It uses the sign-in endpoint because Hermes signs in only when the server asks while connecting; on the default endpoint hermes mcp login finds nothing to sign in to. Hermes stores and refreshes the tokens itself.
Other MCP clients
Add a remote MCP server named fatetell over Streamable HTTP (often called http) with the default endpoint, OAuth for authentication and no key or header:
If the client connects but never opens a sign-in page when an account feature is used, it is one of the clients that only signs in while connecting: use https://mcp.fatetell.com/login/mcp instead.
An agent that can run commands or edit its own MCP settings can also set itself up from install.md:
Read https://mcp.fatetell.com/install.md and follow it to connect me to FateTell MCP.
Tools
Nine tools, all deterministic. Access tiers are explained under Sign-in and permissions.
create_saved_chart is the only tool that writes; it adds a chart and cannot edit or delete existing ones. Every other tool is read-only. Every result carries its rule version, and the same input always gives the same result.
Sign-in and permissions
Three access tiers; each includes everything in the tiers before it.
- OAuth 2.1, authorization code with PKCE (S256). The authorization server is
https://auth.fatetell.com; you sign in and approve on FateTell's own pages at https://web.fatetell.com. Your AI never sees your password.
- Client registration: Client ID Metadata Documents and Dynamic Client Registration are both supported, so no client ID needs to be configured.
- Scopes:
account:read (account and membership status), chart:read (saved charts and FateTell's judgment), fortune:read (daily fortune and chart calendar), chart:write (create new charts; listed separately on the consent page), offline_access (stay connected without signing in again). ChatGPT additionally requests openid and email.
- Membership is checked on every call, not fixed at sign-in. The same membership works in the FateTell app, on the website and here; what you can do here matches what you can do in the app.
- Disconnecting: FateTell website → System Settings → Connected apps → Disconnect. The AI loses access within a minute.
Testing the connector
For anyone reviewing or trying the connector, with or without a FateTell account:
- Connect the default endpoint,
https://mcp.fatetell.com/mcp, or let a Cursor, Grok Bot or Hermes setup use the sign-in endpoint. Any email address can sign in: a code is sent to it, and the new account is free.
- Without signing in (default endpoint): "Cast my BaZi chart, female, born 1 July 1990 at 10:00 in Sydney" and "What is today's day pillar?" should answer at once.
- Signed in on a free account: "Read my saved chart" lists and opens the charts in that account, which is empty for a new one, so create one in the FateTell app or website first, or skip to the next step.
- Member tools (Day Master judgment, daily fortune, chart calendar, saving a new chart) need an active membership. A review account with a membership and saved charts is available to directory and marketplace reviewers on request at
[email protected]; it is never published in this repository.
- Saving a chart is the only write: ask to "save a new chart" and the tool adds one; nothing is edited or deleted. Disconnect from the FateTell website (System Settings → Connected apps) to test revocation.
Usage limits
Every tool has a usage cap. The caps exist only to prevent abuse; they are not an allowance, they are not linked to any usage count in the FateTell app, and reaching one returns only the cap and its reset time.
- Signed in: each tool has a daily cap per account, plus a combined daily cap. Days run on UTC.
- Anonymous on the default endpoint: clients that do not identify anonymous users share one public cap that resets hourly. When it runs out, signing in moves you onto your own account's count.
- Asking the same thing again within 24 hours does not count. One almanac lookup of 1 to 31 days counts once. Checking your account does not count.
- Saved charts are also limited by the same total as in the app.
Once signed in, get_fatetell_account reports each tool's cap, current use and reset time.
Data and privacy
- No language model on the server. FateTell MCP computes and reads data. It never sees your conversation with your AI.
- Anonymous use is not stored. Inputs and results of
cast_bazi_chart and get_almanac are not written to any database and are not linked to anyone. To avoid counting repeated questions, a result is held in server memory for up to 24 hours, keyed by a hash of the request, then discarded.
- Logs record which tool ran, how long it took, the outcome, any error code and a keyed hash of the input. They never record birth dates, birth times, longitudes, place names or chart names.
- Signed-in reads return only what you approved on the consent page. Saved charts are returned without the birthplace as written and without coordinates.
- Saving a chart is the only feature that takes a place name: FateTell uses it to find the time zone and hemisphere, exactly as when you create a chart in the app. FateTell MCP itself does not keep or log it. Saving a chart for someone else requires their knowledge and consent.
- What this repository's plugins send: the plugins contain no code. They connect only to
mcp.fatetell.com; sign-in goes through auth.fatetell.com and web.fatetell.com. Nothing is sent anywhere else.
Once your AI has a result, how it stores it (for example in your chat history) is governed by that app's own policy.
BaZi results are for reference and are not a substitute for medical, legal or financial advice. How your AI interprets FateTell's data is the AI's own reading.
Support and security
Registry
MCP Registry name: com.fatetell/mcp. The entry is server.json and lists only the default endpoint, https://mcp.fatetell.com/mcp.
Repository contents
Validate the Claude plugin with claude plugin validate --strict . and the Hermes package with hermes plugins validate . --install-deps.
License
The files in this repository are released under the MIT License. The license covers this repository only; the FateTell service and its calculation engine are not open source.