Plain-language astrology: birth chart wheel, sun sign, transits and celebrity star matches (en/nl).
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.
Compares two birth charts (synastry): the closest aspects between person A's and person B's planets, with orbs and a short, balanced summary. Birth times and places are optional. Instead of person_b you can pass `celebrity` (name or X handle, see list_celebrities) for a playful star match with a score and a share text for X. No predictions, nothing stored.
Birth data of one person.
Language of the text: 'en' (default) or 'nl'.
Birth data of one person.
Optional: name or X handle of a famous person from list_celebrities (for example 'Elon Musk' or '@elonmusk'). Use instead of person_b.
Compares two birth charts (synastry): the closest aspects between person A's and person B's planets, with orbs and a short, balanced summary. Birth times and places are optional. Instead of person_b you can pass `celebrity` (name or X handle, see list_celebrities) for a playful star match with a score and a share text for X. No predictions, nothing stored.
| Argument | Type | Description |
|---|---|---|
| language | string | Language of the text: 'en' (default) or 'nl'. |
| person_a* | object | Birth data of one person. |
| person_b | object | Birth data of one person. |
| celebrity | string | Optional: name or X handle of a famous person from list_celebrities (for example 'Elon Musk' or '@elonmusk'). Use instead of person_b. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"person_a"
],
"properties": {
"language": {
"enum": [
"en",
"nl"
],
"type": "string",
"description": "Language of the text: 'en' (default) or 'nl'."
},
"person_a": {
"type": "object",
"required": [
"birth_date"
],
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Optional birth latitude in decimal degrees (north positive), used instead of birth_place."
},
"timezone": {
"type": "string",
"maxLength": 60,
"description": "IANA timezone of the birth place, for example Europe/Amsterdam. Required with latitude/longitude; historical daylight saving time is handled automatically."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Optional birth longitude in decimal degrees (east positive), used instead of birth_place."
},
"birth_date": {
"type": "string",
"maxLength": 20,
"description": "Birth date in YYYY-MM-DD format, for example 1988-03-14."
},
"birth_time": {
"type": "string",
"maxLength": 8,
"description": "Optional local birth time, HH:MM 24-hour, for example 07:45. Needed for Ascendant, houses and an exact Moon."
},
"birth_place": {
"type": "string",
"maxLength": 80,
"description": "Optional birth place: any town worldwide with 1000+ inhabitants (offline GeoNames list, CC BY 4.0), Dutch names like 'Den Haag' or 'Keulen' work. Add region or country when a name is common, e.g. 'Springfield, Illinois' or 'Hengelo, Gelderland'. Alternatively give latitude, longitude and timezone."
}
},
"description": "Birth data of one person."
},
"person_b": {
"type": "object",
"required": [
"birth_date"
],
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Optional birth latitude in decimal degrees (north positive), used instead of birth_place."
},
"timezone": {
"type": "string",
"maxLength": 60,
"description": "IANA timezone of the birth place, for example Europe/Amsterdam. Required with latitude/longitude; historical daylight saving time is handled automatically."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Optional birth longitude in decimal degrees (east positive), used instead of birth_place."
},
"birth_date": {
"type": "string",
"maxLength": 20,
"description": "Birth date in YYYY-MM-DD format, for example 1988-03-14."
},
"birth_time": {
"type": "string",
"maxLength": 8,
"description": "Optional local birth time, HH:MM 24-hour, for example 07:45. Needed for Ascendant, houses and an exact Moon."
},
"birth_place": {
"type": "string",
"maxLength": 80,
"description": "Optional birth place: any town worldwide with 1000+ inhabitants (offline GeoNames list, CC BY 4.0), Dutch names like 'Den Haag' or 'Keulen' work. Add region or country when a name is common, e.g. 'Springfield, Illinois' or 'Hengelo, Gelderland'. Alternatively give latitude, longitude and timezone."
}
},
"description": "Birth data of one person."
},
"celebrity": {
"type": "string",
"maxLength": 60,
"description": "Optional: name or X handle of a famous person from list_celebrities (for example 'Elon Musk' or '@elonmusk'). Use instead of person_b."
}
}
}Creates a festive Christmas card (text plus SVG image) about someone, from their birth date and optional first name: sun sign and life path number, described as character, not prediction. The card text talks about the recipient in the third person (by name, or neutrally without a name). No personal data stored.
| Argument | Type | Description |
|---|---|---|
| language | string | Language of the text: 'en' (default) or 'nl'. |
| birth_date* | string | Birth date in YYYY-MM-DD format, for example 1988-03-14. Birth time and place are not needed. |
| recipient_name | string | Optional first name of the person the card is for. Letters, spaces, hyphens and apostrophes only, max 40 characters. The card is written about this person in the third person. Leave empty for a card without a name. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"birth_date"
],
"properties": {
"language": {
"enum": [
"en",
"nl"
],
"type": "string",
"description": "Language of the text: 'en' (default) or 'nl'."
},
"birth_date": {
"type": "string",
"maxLength": 20,
"description": "Birth date in YYYY-MM-DD format, for example 1988-03-14. Birth time and place are not needed."
},
"recipient_name": {
"type": "string",
"maxLength": 40,
"description": "Optional first name of the person the card is for. Letters, spaces, hyphens and apostrophes only, max 40 characters. The card is written about this person in the third person. Leave empty for a card without a name."
}
}
}Computes a real birth chart from astronomical positions (tropical zodiac): Sun to Pluto with sign, degree and retrograde flag, major aspects with orbs, and a short character-focused interpretation. Ascendant, Midheaven and Whole Sign houses only when birth time and place are both given. Without a time the Moon is flagged as approximate. No predictions, nothing stored.
| Argument | Type | Description |
|---|---|---|
| language | string | Language of the text: 'en' (default) or 'nl'. |
| latitude | number | Optional birth latitude in decimal degrees (north positive), used instead of birth_place. |
| timezone | string | IANA timezone of the birth place, for example Europe/Amsterdam. Required with latitude/longitude; historical daylight saving time is handled automatically. |
| longitude | number | Optional birth longitude in decimal degrees (east positive), used instead of birth_place. |
| birth_date* | string | Birth date in YYYY-MM-DD format, for example 1988-03-14. |
| birth_time | string | Optional local birth time, HH:MM 24-hour, for example 07:45. Needed for Ascendant, houses and an exact Moon. |
| birth_place | string |
Returns a short, free reading based only on a birth date: sun sign (simple date table) and Pythagorean life path number, with a few sentences about character, written in the third person by default. No predictions, no personal data stored.
| Argument | Type | Description |
|---|---|---|
| voice | string | Optional voice of the reading: 'third_person' (default, about someone born under the sign) or 'second_person' (addresses the reader as 'you'). |
| language | string | Language of the text: 'en' (default) or 'nl'. |
| birth_date* | string | Birth date in YYYY-MM-DD format, for example 1988-03-14. Birth time and place are not needed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"birth_date"
],
"properties": {
"voice": {
"enum": [
"third_person",
"second_person"
],
"type": "string",
"description": "Optional voice of the reading: 'third_person' (default, about someone born under the sign) or 'second_person' (addresses the reader as 'you')."
},
"language": {
"enum": [
"en",
"nl"
],
"type": "string",
"description": "Language of the text: 'en' (default) or 'nl'."
},
"birth_date": {
"type": "string",
"maxLength": 20,
"description": "Birth date in YYYY-MM-DD format, for example 1988-03-14. Birth time and place are not needed."
}
}
}Shows where the planets are now (or on a given UTC date) and which major transits they make to a person's birth chart, with orbs and exact dates, for one day or a 7-day week. Short reflective interpretation, no predictions, nothing stored.
| Argument | Type | Description |
|---|---|---|
| date | string | Optional UTC date YYYY-MM-DD to look at. Default: today (UTC). |
| period | string | 'today' (default) or 'week' (7 days starting at date). |
| language | string | Language of the text: 'en' (default) or 'nl'. |
| latitude | number | Optional birth latitude in decimal degrees (north positive), used instead of birth_place. |
| timezone | string | IANA timezone of the birth place, for example Europe/Amsterdam. Required with latitude/longitude; historical daylight saving time is handled automatically. |
| longitude | number | Optional birth longitude in decimal degrees (east positive), used instead of birth_place. |
| birth_date* | string | Birth date in YYYY-MM-DD format, for example 1988-03-14. |
| birth_time |
Lists the famous people you can compare charts with in compare_charts (about 1000 most-followed real people on X, birth dates from Wikidata cross-checked with Grokipedia). Optional search query (name, handle or description such as 'singer'); returns up to 25, most followed first. Most are date-only.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional search text, for example 'singer' or 'Taylor'. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"type": "string",
"maxLength": 60,
"description": "Optional search text, for example 'singer' or 'Taylor'."
}
}
}| Optional birth place: any town worldwide with 1000+ inhabitants (offline GeoNames list, CC BY 4.0), Dutch names like 'Den Haag' or 'Keulen' work. Add region or country when a name is common, e.g. 'Springfield, Illinois' or 'Hengelo, Gelderland'. Alternatively give latitude, longitude and timezone. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"birth_date"
],
"properties": {
"language": {
"enum": [
"en",
"nl"
],
"type": "string",
"description": "Language of the text: 'en' (default) or 'nl'."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Optional birth latitude in decimal degrees (north positive), used instead of birth_place."
},
"timezone": {
"type": "string",
"maxLength": 60,
"description": "IANA timezone of the birth place, for example Europe/Amsterdam. Required with latitude/longitude; historical daylight saving time is handled automatically."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Optional birth longitude in decimal degrees (east positive), used instead of birth_place."
},
"birth_date": {
"type": "string",
"maxLength": 20,
"description": "Birth date in YYYY-MM-DD format, for example 1988-03-14."
},
"birth_time": {
"type": "string",
"maxLength": 8,
"description": "Optional local birth time, HH:MM 24-hour, for example 07:45. Needed for Ascendant, houses and an exact Moon."
},
"birth_place": {
"type": "string",
"maxLength": 80,
"description": "Optional birth place: any town worldwide with 1000+ inhabitants (offline GeoNames list, CC BY 4.0), Dutch names like 'Den Haag' or 'Keulen' work. Add region or country when a name is common, e.g. 'Springfield, Illinois' or 'Hengelo, Gelderland'. Alternatively give latitude, longitude and timezone."
}
}
}| string |
| Optional local birth time, HH:MM 24-hour, for example 07:45. Needed for Ascendant, houses and an exact Moon. |
| birth_place | string | Optional birth place: any town worldwide with 1000+ inhabitants (offline GeoNames list, CC BY 4.0), Dutch names like 'Den Haag' or 'Keulen' work. Add region or country when a name is common, e.g. 'Springfield, Illinois' or 'Hengelo, Gelderland'. Alternatively give latitude, longitude and timezone. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"birth_date"
],
"properties": {
"date": {
"type": "string",
"maxLength": 12,
"description": "Optional UTC date YYYY-MM-DD to look at. Default: today (UTC)."
},
"period": {
"enum": [
"today",
"week"
],
"type": "string",
"description": "'today' (default) or 'week' (7 days starting at date)."
},
"language": {
"enum": [
"en",
"nl"
],
"type": "string",
"description": "Language of the text: 'en' (default) or 'nl'."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Optional birth latitude in decimal degrees (north positive), used instead of birth_place."
},
"timezone": {
"type": "string",
"maxLength": 60,
"description": "IANA timezone of the birth place, for example Europe/Amsterdam. Required with latitude/longitude; historical daylight saving time is handled automatically."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Optional birth longitude in decimal degrees (east positive), used instead of birth_place."
},
"birth_date": {
"type": "string",
"maxLength": 20,
"description": "Birth date in YYYY-MM-DD format, for example 1988-03-14."
},
"birth_time": {
"type": "string",
"maxLength": 8,
"description": "Optional local birth time, HH:MM 24-hour, for example 07:45. Needed for Ascendant, houses and an exact Moon."
},
"birth_place": {
"type": "string",
"maxLength": 80,
"description": "Optional birth place: any town worldwide with 1000+ inhabitants (offline GeoNames list, CC BY 4.0), Dutch names like 'Den Haag' or 'Keulen' work. Add region or country when a name is common, e.g. 'Springfield, Illinois' or 'Hengelo, Gelderland'. Alternatively give latitude, longitude and timezone."
}
}
}