post_astrology_compatibility_score
ActiveTool of Western Astrology MCP Server by RoxyAPI
Calculate a detailed compatibility score between two birth charts using Western synastry (inter-chart aspects). Returns overall score (0-100) plus category breakdowns for romantic, emotional, intellectual, physical, and spiritual compatibility. Each category analyzes specific planetary pairs: Venus-Mars for romance, Moon-Moon for emotions, Mercury-Mercury for intellect. Includes Sun, Moon, Venus, and Mars sign compatibility narratives, element balance analysis, relationship archetype classification, and the most significant inter-chart aspects with relationship-specific interpretations.
Parameters schema
{
"type": "object",
"required": [
"person1",
"person2"
],
"properties": {
"lang": {
"enum": [
"en",
"tr",
"de",
"es",
"hi",
"pt",
"fr",
"ru"
],
"type": "string",
"default": "en",
"example": "en",
"description": "Response language (ISO 639-1). Supported: en, tr, de, es, hi, pt, fr, ru. Defaults to en. Languages without translations yet return English."
},
"compact": {
"type": "boolean",
"default": false,
"description": "Set true to receive the exact same data in a token-optimized shape that is cheaper for you to read: whitespace is stripped and every array of same-shaped objects is encoded columnar as {\"__cols\":[field names],\"__rows\":[[values]]}, so each field name is sent once instead of once per row. Fully lossless (no field or value is dropped or changed) and typically 40 to 52 percent fewer tokens on large results. Prefer true whenever token or inference cost matters. Default false returns standard indented JSON."
},
"person1": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude",
"timezone"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"example": "1990-07-15",
"description": "Birth date in YYYY-MM-DD format. Determines planetary positions for the specific calendar day."
},
"time": {
"type": "string",
"format": "time",
"example": "14:30:00",
"description": "Birth time in 24-hour HH:MM:SS format. Determines the Ascendant (rising sign) and house cusps. Use 12:00:00 if unknown."
},
"latitude": {
"type": "number",
"example": 40.7128,
"maximum": 90,
"minimum": -90,
"description": "Birth location latitude in decimal degrees (-90 to 90). Positive = North, negative = South."
},
"timezone": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "string"
}
],
"example": -5,
"description": "Timezone: IANA name (e.g. \"America/New_York\", \"Europe/London\") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly."
},
"longitude": {
"type": "number",
"example": -74.006,
"maximum": 180,
"minimum": -180,
"description": "Birth location longitude in decimal degrees (-180 to 180). Positive = East, negative = West."
}
},
"description": "First person birth details (date, time, location, timezone). Required for calculating natal planetary positions."
},
"person2": {
"type": "object",
"required": [
"date",
"time",
"latitude",
"longitude",
"timezone"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"example": "1990-07-15",
"description": "Birth date in YYYY-MM-DD format. Determines planetary positions for the specific calendar day."
},
"time": {
"type": "string",
"format": "time",
"example": "14:30:00",
"description": "Birth time in 24-hour HH:MM:SS format. Determines the Ascendant (rising sign) and house cusps. Use 12:00:00 if unknown."
},
"latitude": {
"type": "number",
"example": 40.7128,
"maximum": 90,
"minimum": -90,
"description": "Birth location latitude in decimal degrees (-90 to 90). Positive = North, negative = South."
},
"timezone": {
"anyOf": [
{
"type": "number",
"maximum": 14,
"minimum": -14
},
{
"type": "string"
}
],
"example": -5,
"description": "Timezone: IANA name (e.g. \"America/New_York\", \"Europe/London\") OR decimal hours from UTC (e.g. -5 for EST, 1 for CET). IANA strings are resolved to the DST-correct offset for the given date, so you can pass `cities[0].timezone` from /location/search directly."
},
"longitude": {
"type": "number",
"example": -74.006,
"maximum": 180,
"minimum": -180,
"description": "Birth location longitude in decimal degrees (-180 to 180). Positive = East, negative = West."
}
},
"description": "Second person birth details. Compared against person1 to evaluate inter-chart aspects and compatibility."
}
}
}Parent server
Western Astrology MCP Server by RoxyAPI
1/7 registries