mcpField
G
GetBirthChart MCP

GetBirthChart MCP

Local
github.com/getbirthchart-comGames & Entertainment0Updated 8w ago

About GetBirthChart MCP

GetBirthChart MCP is a server for clients that need structured natal-chart and synastry calculations through the public GetBirthChart API. It preserves uncertainty for unknown birth times rather than filling in missing chart details.

Key features

  1. 01Natal chart calculations
  2. 02Planet positions and Big Three
  3. 03Moon and Rising sign results
  4. 04Natal aspects and synastry
  5. 05Unknown-time uncertainty handling
  6. 06Methodology and data-source resources

Use cases

  1. 01Calculate a natal chart from birth details
  2. 02Compare two charts with synastry
  3. 03Check results when birth time is unknown

MCP support

Exposes read-only astrology calculation tools and methodology, data-source, and engine-info resources to MCP clients. Calculations are provided by the public GetBirthChart API.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"getbirthchart-com-getbirthchart": {
"command": "npx",
"args": [
"-y",
"@getbirthchart/mcp"
],
"env": {
"GETBIRTHCHART_API_KEY": "<GETBIRTHCHART_API_KEY>"
}
}
}
}
Run commandnpx -y @getbirthchart/mcp
Environment variables to set
GETBIRTHCHART_API_KEYSecretGetBirthChart developer API key.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@getbirthchart/mcp0.1.1

Tools

7

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
datestringYesLocal civil birth date in YYYY-MM-DD format.
timestringNoLocal clock time in HH:mm or HH:mm:ss format.
placestringNoOptional caller-side place label; it is not geocoded.
latitudenumberYes
timezonestringYesIANA timezone identifier, such as America/New_York.
longitudenumberYes
unknown_timebooleanNoSet true when no reliable birth time is available.

Details

From the project README

@getbirthchart/mcp

Official MCP server 0.2.0 for GetBirthChart astrology calculations. It gives MCP-compatible AI clients access to structured calculations through the public GetBirthChart API; it does not contain or reimplement the astrology engine.

Requirements

  • Node.js 20 or newer
  • A GetBirthChart developer API key

Create a key at getbirthchart.com/developers. Keep it private and do not commit MCP host configuration containing the real key.

Quick start

The package runs over MCP stdio and can be launched with npx:

{
  "mcpServers": {
    "getbirthchart": {
      "command": "npx",
      "args": ["-y", "@getbirthchart/[email protected]"],
      "env": {
        "GETBIRTHCHART_API_KEY": "gbc_live_your_key_here"
      }
    }
  }
}

This is the standard command-based configuration for hosts that support MCP stdio servers. Use your client’s current documentation for the exact configuration file or UI location; this repository has been protocol-tested with the official MCP TypeScript client, not vendor-specific clients.

Environment variables

VariableRequiredDescription
GETBIRTHCHART_API_KEYYesServer-side developer API key.
GETBIRTHCHART_API_BASE_URLNoHTTPS API base URL override for development/testing. HTTP is accepted only for localhost.

The key is read at startup, never accepted as a tool argument, and never written to stdout, logs, resources, or tool results.

Available tools

All tools are read-only and return structured calculation facts. Inputs use strict fields: date, optional time and place, required latitude, longitude, and timezone, plus optional unknown_time and calculation settings documented below.

ToolInputOutputExact time required?Unknown-time behavior
calculate_birth_chartbirthDataMapped natal chartNoOmits Ascendant and houses; preserves uncertainty.
get_planet_positionsbirthDataPlanet placementsNoPreserves chart uncertainty.
get_big_threebirthDataSun, Moon, and optional RisingNoDoes not guess the Ascendant.
get_moon_signbirthDataMoon sign and uncertaintyNoReturns ambiguity when the backend cannot establish one sign.
get_rising_signbirthDataRising signYesReturns birth_time_required.
calculate_aspectsbirthDataNatal aspectsNoReturns backend-owned facts only.
calculate_synastryperson_a, person_b, relationship fieldsSynastry aspects and summariesPer personPreserves each person's unknown-time limits.

The current public API does not geocode place; provide latitude, longitude, and an IANA timezone even when a place label is included. The MCP server never invents a birth time. The backend may use local midnight as the labeled calculation anchor for an unknown-time assessment, but it never presents that anchor as the person's birth time and never guesses houses, the Ascendant, or an ambiguous Moon sign.

Example input:

{
  "date": "1990-01-15",
  "time": "12:00",
  "place": "New York, NY",
  "latitude": 40.7128,
  "longitude": -74.006,
  "timezone": "America/New_York"
}

Unknown time:

{
  "date": "1990-01-15",
  "unknown_time": true,
  "latitude": 40.7128,
  "longitude": -74.006,
  "timezone": "America/New_York"
}

Calculation options

The natal tools accept the exposed core gbc-astro 1.13.0 options house_system, node_type, aspect_preset, custom_aspect_rules, additional_points, fold, zodiac, and ayanamsa. Omit them for the legacy-compatible defaults: Tropical, Placidus, True Node, Standard aspects, Chiron on, and Lilith off. Sidereal calculations require a named ayanamsa; Lahiri is the recommended product choice. Custom aspects require custom_aspect_rules and each rule uses type, exact_angle, and orb.

The implementation exposes the core's product-relevant house systems (placidus, whole_sign, equal) plus the registered engine systems, Mean Node, Standard/Extended/Custom natal aspects, Mean/True Lilith, Vertex and Part of Fortune requests, and named sidereal ayanamsas. The MCP contract does not add calculation logic or interpretation. Composite and Davison are core/SDK operations but are not MCP tools in this release.

Synastry accepts a relationship-level node_type so both charts use one node convention, plus optional relationship_type, topic, and target_instant. The server preserves response metadata and additive schema 1.x fields. A natal HTTP response may omit calculationHash; that is valid and is never required. The server preserves a returned v2: calculation hash without changing or truncating it. Core compatibility is natal schema 1.9.0 and synastry schema 1.5.0.

Resources

  • getbirthchart://methodology — calculation conventions and unknown-time boundaries.
  • getbirthchart://data-sources — ephemeris, timezone, and location-input provenance.
  • getbirthchart://engine-info — provider and public API metadata.

Authoritative web references: Methodology and Data Sources.

Errors

Tool failures use structured error data with a safe machine-readable code, message, retryable, and optional retry_after. Common codes include validation_error, authentication_required, birth_time_required, location_not_found, ambiguous_location, rate_limit_exceeded, timeout, and internal_error.

Troubleshooting

  • Missing API key: set GETBIRTHCHART_API_KEY in the MCP host's server environment; it is never a tool argument.
  • Authentication or rate-limit errors: use the structured error code and retry_after when present. Do not put the key in a tool call or client log.
  • Unknown-time validation: omit time when unknown_time is true; the server will not substitute noon or invent a Rising sign.
  • Location validation: include numeric WGS84 latitude, longitude, and an IANA timezone; place is only a label and is not geocoded here.
  • Local development: use GETBIRTHCHART_API_BASE_URL only with HTTPS, or HTTP on localhost. Never send a production key to an untrusted host.

Privacy and security

Birth data is passed only to the configured public API for the requested calculation. This package does not persist, cache, or log birth inputs, and it has no analytics or telemetry. The optional base URL override changes the trust boundary; do not send a production key to an untrusted host.

Report security issues privately through the process in SECURITY.md. Do not include API keys in bug reports.

Development

npm install
npm run lint
npm run typecheck
npm test
npm run build

Tests use mocked clients and do not call the production API. To run the built server locally, set GETBIRTHCHART_API_KEY and execute node dist/cli.js; normal protocol traffic stays on stdout, while startup failures are written to stderr.

Links

MCP Registry metadata

Registry metadata is prepared in server.json with server name io.github.getbirthchart-com/getbirthchart-mcp. Publish the npm package first, then authenticate with the official mcp-publisher tool and publish the metadata. Registry submission is intentionally not part of the package build or CI workflow.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.