Skip to main content

Personal astrological MCP server — natal charts, transits, aspects, composite & Davison relationship charts, backed by SQLite

Project description

w8s-astro-mcp

Personal astrological MCP server — natal charts, transits, forecasting, and relationship charts backed by a queryable SQLite database.

Tests PyPI version Python versions License: AGPL-3.0

Features

  • 🔭 Swiss Ephemeris precision — planetary positions via pysweph; optional high-precision file download
  • 🗂️ Multi-profile — manage charts for yourself, family, and friends
  • 📜 Persistent history — every transit lookup auto-logged to SQLite; query by date, planet, or sign
  • 🔗 Relationship charts — composite and Davison charts for any group of 2+ people; place today's sky in any chart's house system
  • 🗓️ Event & electional tools — cast charts for any moment; scan windows for auspicious times

Quick Start

1. Install uv if you don't have it — see the uv installation guide for your platform.

2. Add to your Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "w8s-astro-mcp": {
      "command": "uvx",
      "args": ["w8s-astro-mcp"]
    }
  }
}

3. Restart Claude Desktop, then create your profile:

"Create an astro profile for me — my name is [Name], born [YYYY-MM-DD] at [HH:MM] in [City, State]."

4. Set yourself as the owner:

"Set me as the owner profile."

This tells the server who you are. All tools default to your chart unless you ask about someone else. Everything is stored in ~/.w8s-astro-mcp/astro.db (macOS/Linux) or %USERPROFILE%\.w8s-astro-mcp\astro.db (Windows).

Installation

Recommended: uvx (no install required)

uvx pulls the package from PyPI and runs it in an isolated environment automatically. Use the config above.

Alternative: pip

pip install w8s-astro-mcp

Then use "command": "w8s-astro-mcp" (no args) in your Claude Desktop config.

Upgrading from an earlier version

If you have an existing database from before v0.12, run the migration script once:

python scripts/migrate_owner_profile.py

This renames the internal current_profile_id column to owner_profile_id. Safe to run multiple times.

Requirements

  • Python 3.10+
  • uv (for uvx method) or pip
  • Claude Desktop (or any MCP-compatible client)

Use Cases

Get started:

"Create an astro profile for me — my name is [Name], born [YYYY-MM-DD] at [HH:MM] in [City, State]."

"Show me my natal chart."

Daily practice:

"What are my transits for today?"

"When was Mercury last retrograde?"

"What major transits are coming up in the next 90 days?"

Other profiles:

"Show me Liz's natal chart."

"What are her transits today?"

"Compare my chart with Liz's." (synastry)

House placements:

"Where are today's planets in my natal houses?"

"Where does today's sky fall in our composite chart?"

Relationships:

"Create a profile for my partner, born [YYYY-MM-DD] at [HH:MM] in [City, State]."

"Create a connection called 'Us' and show me our synastry."

"Calculate a Davison chart for us."

Events & planning:

"Cast a chart for the moment we got married — [date] at [time] in [city]."

"Find auspicious times to sign a contract next month — Moon not void, Mercury direct."

History & research:

"When was Jupiter last in Taurus?"

"Show me all my transit lookups from last month."

Documentation

Doc Contents
docs/ARCHITECTURE.md Directory structure, full tool list, data flow, design decisions
docs/DATABASE_SCHEMA.md Full ERD, all models, example SQL queries
docs/ROADMAP.md Phase history and planned work
docs/TESTING_MCP.md How to configure Claude Desktop and smoke-test the server

Contributing & Development

See AGENTS.md for the development workflow, testing commands, branch strategy, and release checklist.

Questions & Bugs

Open an issue on GitHub.

License

AGPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

w8s_astro_mcp-0.12.0.tar.gz (260.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

w8s_astro_mcp-0.12.0-py3-none-any.whl (96.1 kB view details)

Uploaded Python 3

File details

Details for the file w8s_astro_mcp-0.12.0.tar.gz.

File metadata

  • Download URL: w8s_astro_mcp-0.12.0.tar.gz
  • Upload date:
  • Size: 260.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for w8s_astro_mcp-0.12.0.tar.gz
Algorithm Hash digest
SHA256 88075fb23acc369d3d0546bf37bbd6ca555472c6a183dc5efde10f11d872ea6d
MD5 ab0630819e6fe43d44a93c61481de0a7
BLAKE2b-256 ba7277cf7d772170e01eeea72de6dd5a332da71caf5db6e8d994d0357148af6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for w8s_astro_mcp-0.12.0.tar.gz:

Publisher: publish.yml on w8s/w8s-astro-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file w8s_astro_mcp-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: w8s_astro_mcp-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 96.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for w8s_astro_mcp-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65e7ee8c764a63d5ac0f92156e3928ead3ba30604fd45ee0c9f0c4094586cdb1
MD5 f3c5c3cd15ebc6917195b742887281cb
BLAKE2b-256 30b3ef9de893fafd414f110d1c8d15c45021d15684981cc4979ea9a203beb049

See more details on using hashes here.

Provenance

The following attestation bundles were made for w8s_astro_mcp-0.12.0-py3-none-any.whl:

Publisher: publish.yml on w8s/w8s-astro-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page