Documentation

Connect an agent to HumanDesign.ai.

The canonical remote Streamable HTTP endpoint is https://mcp.humandesign.ai/. OAuth connects private account tools; API keys preserve the calculation/reference API surface.

Membership rule: Free and Individual HumanDesign.ai users can create, save, view, and render their own primary chart; Individual also sees account usage. Personal or Pro is required to read other people's authorized charts or use wider account features. Website Builder tools appear only when HumanDesign.ai has enabled the Builder for your account, and only when tools/list advertises them.

Choose an access surface

Protocol surface

The server accepts JSON-RPC over HTTP POST at the domain root. GET and DELETE are intentionally rejected for the MCP transport; GET /health exposes only safe service health metadata.

Canonical endpoint

POST https://mcp.humandesign.ai/
Content-Type: application/json
Accept: application/json, text/event-stream

Supported methods

initialize

Connection or discovery method; it does not consume quota or AI credits.

notifications/initialized

Connection or discovery method; it does not consume quota or AI credits.

ping

Connection or discovery method; it does not consume quota or AI credits.

tools/list

Connection or discovery method; it does not consume quota or AI credits.

tools/call

Executes an authorized tool according to its billing and confirmation policy.

Birth times are local wall clock times

Send the birth date and time as it read on the clock where the person was born, with no Z and no UTC offset, and give the timezone separately as an IANA identifier.

"birthDateTime": "1990-05-15T14:30:00" with "timezone": "America/New_York" means half past two in the afternoon in New York.

A value carrying Z or an offset does not name a wall clock time on its own. Something has to decide which zone to read it in, and that decision changes the chart.

Z and UTC offsets are deprecated. Values ending in Z or a numeric offset are deprecated. The MCP forwards them and the API still accepts them for now, reading them as UTC, and the deprecation is announced on the API response. They will stop being accepted, and the date will be announced in advance.

A wall clock time that names no single moment is refused by the API before any calculation unit is used:

Error codeWhen it is returned
nonexistent_local_timeA daylight-saving change skipped that wall time, so it never happened in that zone.
ambiguous_local_timeThe wall time falls inside a daylight-saving fold, so it happened twice in that zone.
future_birth_datetimeThe birth time is in the future.
invalid_birth_datetime_formatThe value is not a wall clock time. After the cutover this covers Z and numeric offsets too.

Transit dates use the same wall clock format but may be in the future.

Start here