Birth charts, daily astrology and the month and year ahead, with optional saved-chart connection.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Calculates an account-free temporary natal chart from supplied birth details. Birth date is required; omitted time and source default to unknown and unspecified. Optional time precision includes exact, approximate with explicit minutes, bounded_range and day_period. Optional birthplace is a historical city; calendarTimezone is a separate viewing timezone. Returns readable placements or sampled ranges and sensitive chartContext valid for two hours, or clarification data for ambiguous birth details. No profile, chart or analysis is saved.
Calculates an account-free temporary natal chart from supplied birth details. Birth date is required; omitted time and source default to unknown and unspecified. Optional time precision includes exact, approximate with explicit minutes, bounded_range and day_period. Optional birthplace is a historical city; calendarTimezone is a separate viewing timezone. Returns readable placements or sampled ranges and sensitive chartContext valid for two hours, or clarification data for ambiguous birth details. No profile, chart or analysis is saved.
| Argument | Type | Description |
|---|---|---|
| birth* | object | |
| calendarTimezone | any |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"birth"
],
"properties": {
"birth": {
"type": "object",
"required": [
"localDate"
],
"properties": {
"time": {
"oneOf": [
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "unknown"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"localTime"
],
"properties": {
"kind": {
"type": "string",
"const": "exact"
},
"localTime": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"earliestLocalTime",
"latestLocalTime"
],
"properties": {
"kind": {
"type": "string",
"const": "bounded_range"
},
"latestLocalTime": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
},
"earliestLocalTime": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"period"
],
"properties": {
"kind": {
"type": "string",
"const": "day_period"
},
"period": {
"enum": [
"morning",
"afternoon",
"evening"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"localTime",
"uncertaintyMinutes"
],
"properties": {
"kind": {
"type": "string",
"const": "approximate"
},
"localTime": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d)?$"
},
"uncertaintyMinutes": {
"type": "integer",
"maximum": 720,
"minimum": 1
}
},
"additionalProperties": false
}
],
"default": {
"kind": "unknown"
}
},
"place": {
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"countryCode": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"sourceRecordId": {
"type": "string",
"pattern": "^\\d{1,20}$"
}
},
"additionalProperties": false
},
"timezone": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"pattern": "^[-+A-Za-z_]+\\/[-+A-Za-z0-9_]+(?:\\/[-+A-Za-z0-9_]+)*$",
"maxLength": 64,
"minLength": 3
},
{
"type": "string",
"const": "UTC"
}
]
},
{
"type": "null"
}
],
"default": null
},
"localDate": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-([0-2]\\d|3[01])$"
},
"timeSource": {
"enum": [
"official_record",
"family_report",
"other",
"unspecified"
],
"type": "string",
"default": "unspecified"
},
"disambiguation": {
"enum": [
"reject",
"earlier",
"later"
],
"type": "string",
"default": "reject"
}
},
"additionalProperties": false
},
"calendarTimezone": {
"anyOf": [
{
"type": "string",
"pattern": "^[-+A-Za-z_]+\\/[-+A-Za-z0-9_]+(?:\\/[-+A-Za-z0-9_]+)*$",
"maxLength": 64,
"minLength": 3
},
{
"type": "string",
"const": "UTC"
}
]
}
},
"additionalProperties": false
}Returns a comparison of one to eight distinct civil dates from the same personal chart and sampled Calendar contacts. Supports temporary chartContext with a confirmed viewing timezone or the authorized saved self chart with full_timing access. Relative chart emphasis is not a favorable-outcome score or life-event probability. Equal scores do not identify a better date. Excludes saved events and conversations.
| Argument | Type | Description |
|---|---|---|
| dates* | array | |
| timezone | any | Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone. |
| chartContext | string | Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"dates"
],
"properties": {
"dates": {
"type": "array",
"items": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"maxItems": 8,
"minItems": 1
},
"timezone": {
"anyOf": [
{
"type": "string",
"pattern": "^[-+A-Za-z_]+\\/[-+A-Za-z0-9_]+(?:\\/[-+A-Za-z0-9_]+)*$",
"maxLength": 64,
"minLength": 3
},
{
"type": "string",
"const": "UTC"
}
],
"description": "Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone."
},
"chartContext": {
"type": "string",
"pattern": "^ngc_[A-Za-z0-9_-]+$",
"maxLength": 8192,
"description": "Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version."
}
},
"additionalProperties": false
}Returns the connected person's current saved natal chart, readable placements and birth-time uncertainty. Requires account authorization and chart access. Accepts no birth details or profile identifiers. Missing or stale saved charts produce an unavailable result.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Returns today's personal chart contacts and deterministic reflection from the Novamris Today editorial catalog. Today resolves in the confirmed viewing or account timezone. Supports temporary chartContext and the authorized saved self chart without a full_timing entitlement. An absent editorial message is a valid result. Includes birth-time uncertainty and calculation limitations; chart contacts do not establish the person's feelings or future events.
| Argument | Type | Description |
|---|---|---|
| timezone | any | Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone. |
| chartContext | string | Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"timezone": {
"anyOf": [
{
"type": "string",
"pattern": "^[-+A-Za-z_]+\\/[-+A-Za-z0-9_]+(?:\\/[-+A-Za-z0-9_]+)*$",
"maxLength": 64,
"minLength": 3
},
{
"type": "string",
"const": "UTC"
}
],
"description": "Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone."
},
"chartContext": {
"type": "string",
"pattern": "^ngc_[A-Za-z0-9_-]+$",
"maxLength": 8192,
"description": "Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version."
}
},
"additionalProperties": false
}Returns the connected Novamris account's stable opaque identifier and optional display name for account recognition across reconnects. Requires account authorization and accepts no account selectors. Excludes email addresses and birth details.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Returns a calendar month of personal astrology periods for a temporary chartContext or the authorized saved self chart. Saved access requires the full_timing entitlement; temporary access requires a confirmed viewing timezone unless already present in context. Relative months resolve in the viewing or account timezone. Both modes share calculation methods and coverage. Excludes saved life events and messages. Empty periods are not predictions of no life events.
| Argument | Type | Description |
|---|---|---|
| month* | any | YYYY-MM, or this_month, next_month, previous_month resolved in the chart's viewing timezone. |
| timezone | any | Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone. |
| chartContext | string | Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"month"
],
"properties": {
"month": {
"anyOf": [
{
"type": "string",
"pattern": "^(19|20)\\d{2}-(0[1-9]|1[0-2])$"
},
{
"enum": [
"this_month",
"next_month",
"previous_month"
],
"type": "string"
}
],
"description": "YYYY-MM, or this_month, next_month, previous_month resolved in the chart's viewing timezone."
},
"timezone": {
"anyOf": [
{
"type": "string",
"pattern": "^[-+A-Za-z_]+\\/[-+A-Za-z0-9_]+(?:\\/[-+A-Za-z0-9_]+)*$",
"maxLength": 64,
"minLength": 3
},
{
"type": "string",
"const": "UTC"
}
],
"description": "Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone."
},
"chartContext": {
"type": "string",
"pattern": "^ngc_[A-Za-z0-9_-]+$",
"maxLength": 8192,
"description": "Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version."
}
},
"additionalProperties": false
}Returns annual personal astrology periods for a temporary chartContext or the authorized saved self chart. Saved access requires full_timing; temporary access requires a confirmed viewing timezone. The reading field combines annual ranks 1–15, all calculated eclipse contacts and up to five remaining spans chronologically without duplicates. Conjunctive focus filters apply to all annual candidates. Annual and remaining ranks are separate symbolic measures, not probabilities. Most fast-planet transits are outside annual coverage; empty matches do not establish no chart contact or life event. Non-unique peaks and clipped boundaries remain explicit.
| Argument | Type | Description |
|---|---|---|
| year* | any | Calendar year, or this_year, next_year, previous_year resolved in the chart's viewing timezone. Actual engine coverage is checked by Novamris. |
| focus | object | Optional conjunctive filters over calculated annual candidates: movingBody, natalBody and technique (transit, return, eclipse_contact). Annual candidates exclude most fast-planet transits. |
| timezone | any | Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone. |
| chartContext | string | Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"year"
],
"properties": {
"year": {
"anyOf": [
{
"type": "integer",
"maximum": 2099,
"minimum": 1900
},
{
"enum": [
"this_year",
"next_year",
"previous_year"
],
"type": "string"
}
],
"description": "Calendar year, or this_year, next_year, previous_year resolved in the chart's viewing timezone. Actual engine coverage is checked by Novamris."
},
"focus": {
"type": "object",
"properties": {
"natalBody": {
"enum": [
"sun",
"moon",
"mercury",
"venus",
"mars",
"jupiter",
"saturn",
"uranus",
"neptune",
"pluto",
"true_node",
"ascendant",
"midheaven"
],
"type": "string"
},
"technique": {
"enum": [
"transit",
"return",
"eclipse_contact"
],
"type": "string"
},
"movingBody": {
"enum": [
"sun",
"moon",
"mercury",
"venus",
"mars",
"jupiter",
"saturn",
"uranus",
"neptune",
"pluto",
"true_node",
"solar_eclipse",
"lunar_eclipse"
],
"type": "string"
}
},
"description": "Optional conjunctive filters over calculated annual candidates: movingBody, natalBody and technique (transit, return, eclipse_contact). Annual candidates exclude most fast-planet transits.",
"additionalProperties": false
},
"timezone": {
"anyOf": [
{
"type": "string",
"pattern": "^[-+A-Za-z_]+\\/[-+A-Za-z0-9_]+(?:\\/[-+A-Za-z0-9_]+)*$",
"maxLength": 64,
"minLength": 3
},
{
"type": "string",
"const": "UTC"
}
],
"description": "Optional confirmed viewing timezone (IANA identifier or UTC), separate from birthplace. Temporary charts require a supplied timezone when their context has none; saved charts retain the configured account timezone."
},
"chartContext": {
"type": "string",
"pattern": "^ngc_[A-Za-z0-9_-]+$",
"maxLength": 8192,
"description": "Sensitive opaque temporary chart context. A supplied value selects the temporary chart; an absent value selects the authorized saved self chart. Valid for two hours in its issuing environment and calculation version."
}
},
"additionalProperties": false
}