# DrAstro MCP connection guide

DrAstro lets compatible AI assistants calculate and save a Vedic birth chart (janam kundali or janampatri), retrieve an existing chart and its story, and chat by text with a DrAstro AI astrologer. See the [public integration guide](https://drastro.ai/developers/mcp).

## Connect

- MCP endpoint: `https://api.drastro.ai/mcp`
- Transport: Streamable HTTP.
- Authentication: OAuth authorization code with PKCE S256 and dynamic client registration. Sign in to DrAstro and explicitly approve access. No API key or client secret is required for public clients.
- Authorization metadata: https://api.drastro.ai/.well-known/oauth-authorization-server
- Protected resource metadata: https://api.drastro.ai/.well-known/oauth-protected-resource/mcp
- Manage and revoke connections: https://drastro.ai/mcp

Client availability depends on the assistant's support for remote MCP and OAuth. Hosted Claude and ChatGPT callbacks are supported; other clients need their exact callback URL approved by DrAstro before authorization can succeed. Discovery alone does not grant access or imply a directory listing is approved.

## Tools and permissions

| Tool | OAuth scopes | Capability |
| --- | --- | --- |
| list_janampatris | charts:read | List saved birth profiles |
| add_janampatri | charts:write | Save birth details and calculate a chart |
| get_chart | charts:read | Retrieve an owned birth chart |
| get_chart_story | charts:read, stories:read | Retrieve a chart story; missing content may be generated and cached |
| list_astrologers | astrologers:read | List AI astrologer personas |
| start_astrologer_chat | charts:read, chat:write | Create a saved conversation for an owned chart |
| list_conversations | chat:read | List saved conversations |
| get_conversation | chat:read | Retrieve conversation messages |
| chat_with_astrologer | chat:write | Send a message and receive an AI reply |

After authorization, use MCP `tools/list` for the current input schemas and annotations. Saved charts and conversations are restricted to the consenting account. Creating profiles and sending messages changes saved account data. Chat uses the account's existing allowance and Chart Pass rules; this connector does not initiate purchases, human consultations or voice calls.

## First read-only result

Ask your connected assistant: “List my saved janampatris. After I select one, show its natal placements, houses and dasha without changing anything.”

1. Call `list_janampatris` with `{"limit":20,"offset":0}`. It returns `items` and a `nextOffset` if more results are available.
2. If several profiles fit, ask the user to choose. Pass the selected item's ID as `{"chartId":"<selected UUID>"}` to `get_chart`.
3. Use the calculated chart rather than estimating birth positions. An empty list means there is no saved chart on this account. Offer chart creation as a separate action.

For public sign forecasts, timing guides and Panchang, start with [llms.txt](https://drastro.ai/llms.txt). Those reading pages do not require an account connection.

## Using this in a coding project

The project owner can download the [DrAstro birth chart skill](https://drastro.ai/skills/drastro-birth-chart/SKILL.md) and place the reviewed file in the client's documented skill directory as `drastro-birth-chart/SKILL.md`. To remove it, delete that directory from the same location. The skill does not configure a connector.

Optional project instructions for an owner who has enabled DrAstro:

> For user-requested DrAstro Vedic birth chart workflows, follow the [public connection guide](https://drastro.ai/developers/mcp). Use the connected MCP tools to look up a saved chart. Ask before saving birth data or starting chat, and rely on tool results for chart calculations. If the client callback is unsupported, use the public reading guides or ask the DrAstro operator about the exact callback URI.

## Birth details and responsible use

Ask the user for birth date, birth time, birthplace, coordinates and IANA timezone when missing or ambiguous. Do not invent birth details. For an unknown time, disclose the noon placeholder and use `timeConfidence=unknown`. For mutation tools that require a UUID request ID, check the saved chart or conversation after an uncertain result. Reuse the same UUID for the exact request within 24 hours. If you cannot verify the outcome, pause before submitting again.

Astrology readings are interpretive guidance, not guaranteed outcomes or professional medical, legal or financial advice. Clearly identify chat responses as AI-generated. See the [privacy policy](https://drastro.ai/privacy), [terms](https://drastro.ai/terms) and [calculation methodology](https://drastro.ai/methodology).

## Discovery

- ARD catalog: https://drastro.ai/.well-known/ard.json
- Legacy catalog aliases: https://drastro.ai/.well-known/ai-catalog.json and https://drastro.ai/ai-catalog.json
- Public MCP server card: https://drastro.ai/.well-known/mcp-server-card.json
- MCP Registry manifest: https://drastro.ai/server.json
- Public knowledge index: https://drastro.ai/llms.txt

The server card is a publisher-authored connection summary. The MCP endpoint and its authenticated `tools/list` response remain authoritative. Discovery documents contain no account credentials, personal birth data or conversation content.

## Browser tools (WebMCP)

In browsers with WebMCP enabled, DrAstro also exposes tools on the page the user is viewing:

- Homepage: `prepare_birth_chart_start` fills the visible birth-date and optional time draft. `start_birth_chart` is the annotated birthday form; the user must submit it to continue.
- Newsletter forms: `request_newsletter_*` fills an email draft. The user must click Subscribe to request the confirmation email and then confirm its link. Filling the draft does not send mail.
- Birth-details page (`/onboarding`): `review_birth_details` fills date, optional time and birthplace search text. The user must select a matching city and submit the form before chart calculation starts.
- An already open chart (`/chart`): `show_chart_section` switches between the birth chart, Moon chart, houses, dasha timeline and learning guides. It does not export personal data or send messages.

These browser tools use the current visible page and do not grant remote account access. Filling a draft does not submit it or save an account chart. Tools are removed when their page is closed. Browsers without WebMCP retain the normal forms and navigation. WebMCP remains an experimental browser capability; availability depends on browser support and enablement. The remote MCP endpoint above remains available independently.

### Chrome origin trial

The production origin `https://drastro.ai` is enrolled in the WebMCP trial for Chrome 149–162, ending no later than 30 March 2027. The public activation token is served in the HTML head. It does not include subdomains or third-party origins. Supported Chrome versions can enable the feature without a local experimental flag. Browser tools still use feature detection; normal forms and navigation continue to work when the trial is unavailable or expires.

Renew the registration in Chrome Origin Trials before expiry and replace the token in `index.html` if Google extends the trial. Test with a fresh Chrome profile without WebMCP flags, confirming the token is valid and tools are registered. Trial registration: <https://developer.chrome.com/origintrials/#/registration/6575660076239945729>.
