TianJi Astrology

io.github.feifeizhao25-ship-itPublished by GitHub account feifeizhao25-ship-itv1.0.0Updated Nov 1, 2026

Ephemeris-grade natal charts, current transits, zodiac sign profiles. No API key.

VerifiedStreamable HTTPWeb executableLocation & LifestyleData & Analytics

Overview

AI-generated overview

Remote MCP server that computes ephemeris-grade natal charts, current transits and zodiac sign facts for an assistant.

What you can do
  • Compute a full natal chart from birth date, time and place, with planets, houses and aspects
  • Get today's planetary positions for transit and timing work
  • Look up reference facts for a zodiac sign
  • Validate interpretation claims against a chart's JSON to check they are grounded
When to use it
Useful when an assistant needs deterministic astrological calculations rather than generated horoscope text, for example building a birth chart, checking the current sky, or fact-checking an interpretation before publishing it.
Requirements
Remote streamable HTTP endpoint; no API key or account is required for the reference tools. If city and nation are given instead of coordinates, the place is geocoded online. Self-hosting is possible with Docker or Python with fastmcp and kerykeion.
Before you install
Birth data (date, time, place) is sent to the hosted server; the README says it is used only for computation and not stored or logged, but that is the operator's claim. City-based lookups are geocoded online, so location details leave the server. Chart output is deterministic calculation, not advice.

Installation

In SourceWeft

  1. Open TianJi Astrology in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.feifeizhao25-ship-it%2Ftj-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "tianji-astrology": {
      "type": "http",
      "url": "https://mcp.tianji-astrology.com/mcp"
    }
  }
}

README

TianJi Astrology MCP Server

Computation-first astrology tools for AI agents. Real ephemeris-grade planetary positions, houses, and aspects — not generic sun-sign content.

Built by TianJi Astrology on top of kerykeion 6.x (libephemeris engine). Transport: streamable HTTP (MCP spec).

Live endpoint: https://mcp.tianji-astrology.com/mcp

Why this server

Most astrology MCP servers wrap horoscope text. TianJi computes the actual chart:

  • Swiss-ephemeris-grade planetary longitudes, retrogrades, and house cusps (via kerykeion/libephemeris)
  • Full 12-house placement with cusp houses resolved per planet
  • Major aspects (conjunction, sextile, square, trine, opposition) computed with standard orbs
  • Deterministic output an agent can reason over — no LLM-generated "readings" in the loop

Tools

compute_natal_chart

Compute a natal (birth) chart from date, time, and place.

Parameters: name, year, month, day, hour (default 12), minute (default 0), city, nation, lng, lat, tz_str.

Returns JSON: positions for Sun through Pluto (sign, degree, house, retrograde), Ascendant/MC, house cusps, and the aspect list with exact orbits.

get_current_transits

Today's sky: current planetary positions for all ten bodies, with retrograde flags. No parameters.

get_sign_profile

Reference facts for a zodiac sign: element, modality, ruling planet (traditional + modern), date range. Parameter: sign (e.g. "Scorpio").

Usage

Remote (hosted)

The server runs publicly at https://mcp.tianji-astrology.com/mcp (streamable HTTP transport). Point any MCP client that supports remote servers at that URL — no API key required for the reference tools.

Claude Desktop / Claude Code (claude mcp add):

bash
claude mcp add --transport http tianji https://mcp.tianji-astrology.com/mcp

Cursor / other clients: add a server entry with type http (or streamable-http) and the URL above.

Self-host

bash
docker build -t tj-mcp .docker run -p 8033:8033 tj-mcp

Or bare Python:

bash
pip install fastmcp kerykeionpython server.py

Data & privacy

All computation is local to the server. Birth data is used only to compute the chart and is never stored or logged.

License

MIT — see LICENSE.


TianJi Astrology: personalized Western astrology, computed. https://tianji-astrology.com

Source: README.md at commit d57694b

Tools

4

compute_natal_chart

Compute Natal Chart

Compute a full natal (birth) chart: 10 planets (sign/degree/house/retrograde), 12 Placidus house cusps, and inter-planetary aspects (major aspects, classic orbs). Pass lng/lat/tz_str (e.g. -74.01, 40.71, 'America/New_York') for exact offline computation; otherwise city+nation are geocoded online.

Parametersdayrequiredlatlngcityhournamerequiredyearrequiredmonthrequiredminutenationtz_str

get_current_transits

Get Current Transits

Today's planetary positions (UTC now at Greenwich) — the current sky, for transit analysis, daily overviews, and timing work.

Takes no parameters.

get_sign_profile

Get Sign Profile

Reference card for a zodiac sign: element, modality, ruling planet.

Parameterssignrequired

validate_interpretation

Validate Interpretation

Anti-hallucination confirmation gate (kosma-style): verify interpretation claims are grounded in the chart before publishing them. chart_json = exact JSON from compute_natal_chart or get_current_transits. claims = JSON array: [{"text": "...", "factors": [ {"type": "aspect", "a": "Sun", "b": "Moon"}, # aspect exists in chart {"type": "planet_house", "a": "Sun", "b": 5}, # planet is in that house {"type": "planet_sign", "a": "Sun", "b": "Leo"}, # planet is in that sign {"type": "house_sign", "a": 5, "b": "Leo"}]}] # house cusp is in that sign A claim is supported only if >= 2 of its factors independently exist in the chart. Returns per-claim verdicts; gate = "blocked" if any claim is unsupported — rewrite the claim against verified factors or drop it.

Parametersclaimsrequiredchart_jsonrequired

Version history

1
  1. v1.0.0LatestNov 1, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts