Koskamo

zodiak.info.pl MCP

An official MCP server providing astrological calculation tools including birth charts, planetary positions, synastry, transits, and Chinese zodiac data. It allows AI assistants to compute astronomical data based on birth details or specific dates without requiring user accounts or API keys.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

zodiak.info.pl MCP logo, by zodiak.info.plVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by zodiak.info.pl
MCP endpoint (Streamable HTTP)
https://zodiak.info.pl/mcp
Vendor documentation

What its tools do

12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

12 of 12 have a description · 12 of 12 declare behavior hints · 5 of 12 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to zodiak.info.pl ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Compute natal birth charts with planetary positions and aspects
  • Check current planetary positions and retrograde status
  • Compare two birth charts for synastry analysis
  • Generate printable sky map cards for special dates

Source and maintenance

Vendor evidenceRegistry 1.2.0

Protocol and capabilities

Server
zodiak 1.2.0
MCP protocol negotiated in check
2025-11-25
Tools
12 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

zodiak.info.pl computes astrology from astronomy: birth charts (planets in signs and houses, ascendant, aspects; also two charts compared, the transits of a day, the Vedic chart, the solar return and Saturn returns; aspects, Moon phase, Chinese sign and four pillars), the planets at any moment, the dates the Sun enters the signs, the Chinese zodiac year and a month of astrological events (moon phases, ingresses, retrogrades, eclipses), and a printable sky map card of a day (a birthday, a birth, a wedding) with a QR code. Good when someone asks for their chart or sign, what the sky is doing on a date, or a gift of the sky on a day. It gives calculations, not predictions or interpretations; each answer has a link to the full result on the site (in Polish), where the traditions are quoted with their sources. Times are local clock times; give the birth time as the clock showed it at the place, the time zone and summer time are applied for you. No account is needed; the data sent is used for the calculation only and not stored.

Tools

12 advertised

birth_chart — Birth chart
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes a natal (birth) chart from the date, local clock time and place of birth: the Sun, Moon, planets, lunar node and Lilith in the signs of the tropical zodiac and in the houses, the ascendant and midheaven, house cusps (Placidus or whole sign), aspects with orbs, the phase of the Moon, the Chinese year sign and the four pillars (BaZi), and how close the ascendant, houses and signs are to changing with the hour. Without a time it gives what does not depend on the hour. The time zone and summer time of the place are applied from the IANA history. Calculations only, no interpretation; the link opens the full result on the site.

birth_chart input schema
{
  "type": "object",
  "required": [
    "date"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude, instead of place"
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude (east positive), instead of place"
    },
    "date": {
      "type": "string",
      "description": "Date of birth, YYYY-MM-DD (1800–2100)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "time": {
      "type": "string",
      "description": "Clock time at the place of birth, HH:MM (24-hour); leave out if unknown"
    },
    "later": {
      "type": "boolean",
      "description": "For a time the clocks showed twice (put back in autumn): the second one"
    },
    "place": {
      "type": "string",
      "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
    },
    "house_system": {
      "enum": [
        "placidus",
        "whole"
      ],
      "type": "string",
      "description": "placidus (default) or whole sign houses"
    }
  },
  "additionalProperties": false
}
birth_chart output schema
{
  "type": "object",
  "required": [
    "birth",
    "bodies",
    "aspects",
    "notes",
    "link"
  ],
  "properties": {
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "moon": {
      "type": "object"
    },
    "birth": {
      "type": "object"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "angles": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "ascendant": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "degree": {
              "type": "number"
            },
            "longitude": {
              "type": "number"
            },
            "sign_name": {
              "type": "string"
            }
          }
        },
        "midheaven": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "degree": {
              "type": "number"
            },
            "longitude": {
              "type": "number"
            },
            "sign_name": {
              "type": "string"
            }
          }
        }
      }
    },
    "bodies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sign": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "house": {
            "type": [
              "integer",
              "null"
            ]
          },
          "degree": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "sign_name": {
            "type": "string"
          },
          "retrograde": {
            "type": "boolean"
          }
        }
      }
    },
    "houses": {
      "type": [
        "object",
        "null"
      ]
    },
    "aspects": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "chinese": {
      "type": "object"
    },
    "elements": {
      "type": "object"
    },
    "modalities": {
      "type": "object"
    },
    "hour_sensitivity": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
birth_chart annotations
{
  "title": "Birth chart",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sky_at — Planets at a moment
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where the Sun, Moon and planets are in the zodiac at a moment (now when no date is given): signs and degrees, which planets are retrograde, aspects between them, the Moon's sign, phase and next sign change, the next new and full moon. With a place it adds the ascendant, midheaven and houses. For questions like "what sign is the Moon in today" or "is Mercury retrograde now".

sky_at input schema
{
  "type": "object",
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone of date and time and of the answer's times (default: the place's, else Europe/Warsaw)"
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude, instead of place"
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude (east positive), instead of place"
    },
    "date": {
      "type": "string",
      "description": "YYYY-MM-DD (1800–2100); leave out for now"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "time": {
      "type": "string",
      "description": "HH:MM clock time in tz (default 12:00 when a date is given)"
    },
    "place": {
      "type": "string",
      "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
    }
  },
  "additionalProperties": false
}
sky_at output schema
{
  "type": "object",
  "required": [
    "at",
    "bodies",
    "moon",
    "link"
  ],
  "properties": {
    "at": {
      "type": "string"
    },
    "tz": {
      "type": "string"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "moon": {
      "type": "object"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "place": {
      "type": [
        "object",
        "null"
      ]
    },
    "angles": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "ascendant": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "degree": {
              "type": "number"
            },
            "longitude": {
              "type": "number"
            },
            "sign_name": {
              "type": "string"
            }
          }
        },
        "midheaven": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "degree": {
              "type": "number"
            },
            "longitude": {
              "type": "number"
            },
            "sign_name": {
              "type": "string"
            }
          }
        }
      }
    },
    "bodies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sign": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "house": {
            "type": [
              "integer",
              "null"
            ]
          },
          "degree": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "sign_name": {
            "type": "string"
          },
          "retrograde": {
            "type": "boolean"
          }
        }
      }
    },
    "houses": {
      "type": [
        "object",
        "null"
      ]
    },
    "aspects": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "retrograde": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
sky_at annotations
{
  "title": "Planets at a moment",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sign_dates — Zodiac sign dates of a year
Advertised by the server during the last successful anonymous check.
Advertised read-only

When the Sun enters each zodiac sign in a given year (1900–2100), to the minute, in a time zone (Polish time by default). With a sign, also its usual first and last day and the earliest and latest entry across 1900–2100. For "what is my sign" when someone is born near the edge of two signs.

sign_dates input schema
{
  "type": "object",
  "required": [
    "year"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone of the times (default Europe/Warsaw)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "sign": {
      "type": "string",
      "description": "Only this sign, e.g. aries or baran (optional)"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1900
    }
  },
  "additionalProperties": false
}
sign_dates output schema
{
  "type": "object",
  "required": [
    "year",
    "signs",
    "link"
  ],
  "properties": {
    "tz": {
      "type": "string"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "year": {
      "type": "integer"
    },
    "signs": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "year_page": {
      "type": "string",
      "format": "uri"
    },
    "dates_across_years": {
      "type": "object"
    }
  }
}
sign_dates annotations
{
  "title": "Zodiac sign dates of a year",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
chinese_year — Chinese zodiac year
Advertised by the server during the last successful anonymous check.
Advertised read-only

The Chinese zodiac of a year (1901–2100): animal, element, yin or yang, the sexagenary name, the dates of Chinese New Year and of the year's last day, and Lichun. With a date of birth instead, which Chinese year and sign it falls in (January and February births often belong to the year before) and the year of the four pillars.

chinese_year input schema
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "A date of birth, YYYY-MM-DD, instead of year"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1901
    }
  },
  "additionalProperties": false
}
chinese_year output schema
{
  "type": "object",
  "required": [
    "year",
    "name",
    "new_year",
    "link"
  ],
  "properties": {
    "born": {
      "type": "object"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "name": {
      "type": "string"
    },
    "year": {
      "type": "integer"
    },
    "hanzi": {
      "type": "string"
    },
    "latin": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "animal": {
      "type": "string"
    },
    "lichun": {
      "type": "string"
    },
    "element": {
      "type": "string"
    },
    "last_day": {
      "type": "string"
    },
    "new_year": {
      "type": "string"
    },
    "yin_yang": {
      "type": "string"
    },
    "cycle_year": {
      "type": "integer"
    },
    "before_new_year": {
      "type": "string"
    }
  }
}
chinese_year annotations
{
  "title": "Chinese zodiac year",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
astro_calendar — Astrological calendar of a month
Advertised by the server during the last successful anonymous check.
Advertised read-only

The events of a month (2020–2035): new and full moons and quarters with their signs, the Sun and planets entering signs, retrograde stations and all retrograde periods touching the month, solar and lunar eclipses with their visibility from Warsaw; optionally every Moon sign change. Times in a time zone (Polish time by default).

astro_calendar input schema
{
  "type": "object",
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone of the times (default Europe/Warsaw)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "month": {
      "type": "string",
      "description": "YYYY-MM; leave out for this month"
    },
    "moon_signs": {
      "type": "boolean",
      "description": "Also list each time the Moon enters a sign (about 12 a month)"
    }
  },
  "additionalProperties": false
}
astro_calendar output schema
{
  "type": "object",
  "required": [
    "month",
    "events",
    "retrogrades",
    "link"
  ],
  "properties": {
    "tz": {
      "type": "string"
    },
    "ics": {
      "type": "string",
      "format": "uri"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "month": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "retrogrades": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "moon_at_start": {
      "type": "string"
    }
  }
}
astro_calendar annotations
{
  "title": "Astrological calendar of a month",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
synastry — Synastry of two charts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compares two birth charts: the aspects between the planets (and ascendant and midheaven when known) of the two people, the most exact first, and each person's planets in the other's houses. Each person is an object with date, time (optional), place (or lat, lon, tz) and name (optional). Calculations only, no reading of the relationship; the link opens the double chart on the site.

synastry input schema
{
  "type": "object",
  "required": [
    "a",
    "b"
  ],
  "properties": {
    "a": {
      "type": "object",
      "required": [
        "date"
      ],
      "properties": {
        "tz": {
          "type": "string",
          "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
        },
        "lat": {
          "type": "number",
          "maximum": 90,
          "minimum": -90,
          "description": "Latitude, instead of place"
        },
        "lon": {
          "type": "number",
          "maximum": 180,
          "minimum": -180,
          "description": "Longitude (east positive), instead of place"
        },
        "date": {
          "type": "string",
          "description": "Date of birth, YYYY-MM-DD (1800–2100)"
        },
        "name": {
          "type": "string",
          "maxLength": 30
        },
        "time": {
          "type": "string",
          "description": "Clock time at the place of birth, HH:MM; leave out if unknown"
        },
        "place": {
          "type": "string",
          "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
        },
        "house_system": {
          "enum": [
            "placidus",
            "whole"
          ],
          "type": "string"
        }
      }
    },
    "b": {
      "type": "object",
      "required": [
        "date"
      ],
      "properties": {
        "tz": {
          "type": "string",
          "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
        },
        "lat": {
          "type": "number",
          "maximum": 90,
          "minimum": -90,
          "description": "Latitude, instead of place"
        },
        "lon": {
          "type": "number",
          "maximum": 180,
          "minimum": -180,
          "description": "Longitude (east positive), instead of place"
        },
        "date": {
          "type": "string",
          "description": "Date of birth, YYYY-MM-DD (1800–2100)"
        },
        "name": {
          "type": "string",
          "maxLength": 30
        },
        "time": {
          "type": "string",
          "description": "Clock time at the place of birth, HH:MM; leave out if unknown"
        },
        "place": {
          "type": "string",
          "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
        },
        "house_system": {
          "enum": [
            "placidus",
            "whole"
          ],
          "type": "string"
        }
      }
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    }
  },
  "additionalProperties": false
}
synastry output schema
{
  "type": "object",
  "required": [
    "a",
    "b",
    "aspects",
    "link"
  ],
  "properties": {
    "a": {
      "type": "object"
    },
    "b": {
      "type": "object"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "aspects": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "a_in_b_houses": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "b_in_a_houses": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
synastry annotations
{
  "title": "Synastry of two charts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
transits — Transits to a birth chart
Advertised by the server during the last successful anonymous check.
Advertised read-only

The planets of a day (today by default) against a birth chart: their houses in it, their aspects to the points of birth, and the exact transits of Jupiter, Saturn, Uranus, Neptune and Pluto to it for twelve months. Calculations only, no forecast.

transits input schema
{
  "type": "object",
  "required": [
    "date"
  ],
  "properties": {
    "on": {
      "type": "string",
      "description": "The day, YYYY-MM-DD; leave out for today"
    },
    "tz": {
      "type": "string",
      "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude, instead of place"
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude (east positive), instead of place"
    },
    "date": {
      "type": "string",
      "description": "Date of birth, YYYY-MM-DD (1800–2100)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "time": {
      "type": "string",
      "description": "Clock time at the place of birth, HH:MM; leave out if unknown"
    },
    "place": {
      "type": "string",
      "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
    },
    "house_system": {
      "enum": [
        "placidus",
        "whole"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
transits output schema
{
  "type": "object",
  "required": [
    "on",
    "planets",
    "aspects",
    "link"
  ],
  "properties": {
    "on": {
      "type": "string"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "birth": {
      "type": "object"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "aspects": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "planets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sign": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "house": {
            "type": [
              "integer",
              "null"
            ]
          },
          "degree": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "sign_name": {
            "type": "string"
          },
          "retrograde": {
            "type": "boolean"
          }
        }
      }
    },
    "exact_transits_12_months": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
transits annotations
{
  "title": "Transits to a birth chart",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
vedic_chart — Vedic (Jyotish) chart
Advertised by the server during the last successful anonymous check.
Advertised read-only

A birth chart in the sidereal zodiac (Lahiri ayanamsa): the lagna, the nine grahas in their rashis with nakshatras and padas, whole-sign houses, navamsa (D9) signs and the Vimshottari periods with the current mahadasha and antardasha. Without the hour no lagna or houses. Calculations only.

vedic_chart input schema
{
  "type": "object",
  "required": [
    "date"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude, instead of place"
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude (east positive), instead of place"
    },
    "date": {
      "type": "string",
      "description": "Date of birth, YYYY-MM-DD (1800–2100)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "node": {
      "enum": [
        "mean",
        "true"
      ],
      "type": "string",
      "description": "Rahu as the mean (default) or true node"
    },
    "time": {
      "type": "string",
      "description": "Clock time at the place of birth, HH:MM; leave out if unknown"
    },
    "place": {
      "type": "string",
      "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
    },
    "house_system": {
      "enum": [
        "placidus",
        "whole"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
vedic_chart output schema
{
  "type": "object",
  "required": [
    "birth",
    "grahas",
    "dashas",
    "link"
  ],
  "properties": {
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "node": {
      "type": "string"
    },
    "birth": {
      "type": "object"
    },
    "lagna": {
      "type": [
        "object",
        "null"
      ]
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dashas": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "grahas": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "current_dasha": {
      "type": [
        "object",
        "null"
      ]
    },
    "ayanamsa_lahiri": {
      "type": "number"
    }
  }
}
vedic_chart annotations
{
  "title": "Vedic (Jyotish) chart",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
solar_return — Solar return
Advertised by the server during the last successful anonymous check.
Advertised read-only

The moment the Sun comes back to its place of birth in a year (this year by default), to the minute, and the chart of that moment for the place of the birthday (the place of birth by default): planets, ascendant and houses, and the returns of the next years.

solar_return input schema
{
  "type": "object",
  "required": [
    "date"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude, instead of place"
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude (east positive), instead of place"
    },
    "date": {
      "type": "string",
      "description": "Date of birth, YYYY-MM-DD (1800–2100)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "time": {
      "type": "string",
      "description": "Clock time at the place of birth, HH:MM; leave out if unknown"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 1801
    },
    "place": {
      "type": "string",
      "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
    },
    "return_tz": {
      "type": "string"
    },
    "return_lat": {
      "type": "number"
    },
    "return_lon": {
      "type": "number"
    },
    "house_system": {
      "enum": [
        "placidus",
        "whole"
      ],
      "type": "string"
    },
    "return_place": {
      "type": "string",
      "description": "Where the birthday is spent (else the place of birth)"
    }
  },
  "additionalProperties": false
}
solar_return output schema
{
  "type": "object",
  "required": [
    "year",
    "at",
    "bodies",
    "link"
  ],
  "properties": {
    "at": {
      "type": "string"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "year": {
      "type": "integer"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "place": {
      "type": "object"
    },
    "angles": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "ascendant": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "degree": {
              "type": "number"
            },
            "longitude": {
              "type": "number"
            },
            "sign_name": {
              "type": "string"
            }
          }
        },
        "midheaven": {
          "type": "object",
          "properties": {
            "sign": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "degree": {
              "type": "number"
            },
            "longitude": {
              "type": "number"
            },
            "sign_name": {
              "type": "string"
            }
          }
        }
      }
    },
    "bodies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sign": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "house": {
            "type": [
              "integer",
              "null"
            ]
          },
          "degree": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "sign_name": {
            "type": "string"
          },
          "retrograde": {
            "type": "boolean"
          }
        }
      }
    },
    "houses": {
      "type": [
        "object",
        "null"
      ]
    },
    "next_years": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
solar_return annotations
{
  "title": "Solar return",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
planet_returns — Saturn and Jupiter returns
Advertised by the server during the last successful anonymous check.
Advertised read-only

When Saturn (about at 29, 59 and 88) and Jupiter (about every 12 years) come back to their places of birth: each return with its dates and the age, three crossings when retrograde motion takes the planet back over the place.

planet_returns input schema
{
  "type": "object",
  "required": [
    "date"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude, instead of place"
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude (east positive), instead of place"
    },
    "date": {
      "type": "string",
      "description": "Date of birth, YYYY-MM-DD (1800–2100)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "time": {
      "type": "string",
      "description": "Clock time at the place of birth, HH:MM; leave out if unknown"
    },
    "place": {
      "type": "string",
      "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
    },
    "house_system": {
      "enum": [
        "placidus",
        "whole"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
planet_returns output schema
{
  "type": "object",
  "required": [
    "saturn_returns",
    "jupiter_returns",
    "link"
  ],
  "properties": {
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "birth": {
      "type": "object"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "saturn_returns": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "jupiter_returns": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
planet_returns annotations
{
  "title": "Saturn and Jupiter returns",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sky_card — Sky map card of a day
Advertised by the server during the last successful anonymous check.
Advertised read-only

Makes a printable card of the sky on a day that matters - a birthday, the birth of a child, a wedding or any day - at a place: the link opens the sky map over that place (at the given hour, or 22:00) with a title, a line, the Moon's phase, sunrise and sunset, the planets, the signs and a QR code of the card, ready to print on A4, A3 or as an A6 greeting card. The answer also lists those facts, eclipses within 15 days, the meteor showers active that night and the NASA picture of the day of that date. Use it when someone wants a gift or keepsake of the night sky on a date.

sky_card input schema
{
  "type": "object",
  "required": [
    "date"
  ],
  "properties": {
    "qr": {
      "type": "boolean",
      "description": "A QR code of the card in its corner (default true)"
    },
    "tz": {
      "type": "string",
      "description": "IANA time zone, e.g. Europe/Warsaw (with lat and lon)"
    },
    "lat": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude, instead of place"
    },
    "lon": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude (east positive), instead of place"
    },
    "date": {
      "type": "string",
      "description": "YYYY-MM-DD (1800–2100)"
    },
    "lang": {
      "enum": [
        "pl",
        "en"
      ],
      "type": "string",
      "description": "Language of the names in the answer: pl (default) or en"
    },
    "time": {
      "type": "string",
      "description": "HH:MM clock time at the place; leave out for the evening sky"
    },
    "place": {
      "type": "string",
      "description": "A town or city, e.g. \"Opole\", \"Kraków\", \"London\"; the first match is used (Polish places come first)"
    },
    "style": {
      "enum": [
        "granat",
        "jasny",
        "cb"
      ],
      "type": "string",
      "description": "Dark blue (default), light, or black and white"
    },
    "title": {
      "type": "string",
      "maxLength": 60,
      "description": "The card's heading (else the occasion's)"
    },
    "occasion": {
      "enum": [
        "birthday",
        "birth",
        "wedding",
        "day"
      ],
      "type": "string",
      "description": "The card's page and default title (birthday by default)"
    },
    "subtitle": {
      "type": "string",
      "maxLength": 80,
      "description": "A line under it, e.g. names"
    }
  },
  "additionalProperties": false
}
sky_card output schema
{
  "type": "object",
  "required": [
    "date",
    "place",
    "moon",
    "link"
  ],
  "properties": {
    "sun": {
      "type": "object"
    },
    "date": {
      "type": "string"
    },
    "link": {
      "type": "string",
      "format": "uri",
      "description": "The result on zodiak.info.pl"
    },
    "moon": {
      "type": "object"
    },
    "time": {
      "type": [
        "string",
        "null"
      ]
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "place": {
      "type": "object"
    },
    "sky_at": {
      "type": "string"
    },
    "occasion": {
      "type": "string"
    },
    "sun_sign": {
      "type": "string"
    },
    "moon_sign": {
      "type": "string"
    },
    "chinese_year": {
      "type": "string"
    },
    "meteor_showers_active": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "planets_above_horizon": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "eclipses_within_15_days": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "nasa_picture_of_the_day": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
sky_card annotations
{
  "title": "Sky map card of a day",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_place — Find a place
Advertised by the server during the last successful anonymous check.
Advertised read-only

Coordinates and IANA time zone of a town or city: all places in Poland and world cities over 15 000 people, Polish names first (Londyn and London both work). Use it to check which place birth_chart or sky_at would take, or to pick one of several of the same name and pass its lat, lon and tz.

find_place input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1,
      "description": "How many (default 5)"
    },
    "query": {
      "type": "string",
      "maxLength": 60,
      "minLength": 2,
      "description": "The name"
    }
  },
  "additionalProperties": false
}
find_place output schema
{
  "type": "object",
  "required": [
    "places"
  ],
  "properties": {
    "places": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tz": {
            "type": "string"
          },
          "lat": {
            "type": "number"
          },
          "lon": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    }
  }
}
find_place annotations
{
  "title": "Find a place",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
886 ms
95th percentile latency
886 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 886 ms · metadata changed · 12 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zodiak-info-pl-mcp https://zodiak.info.pl/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zodiak-info-pl-mcp --url https://zodiak.info.pl/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zodiak-info-pl-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zodiak-info-pl-mcp": {
      "url": "https://zodiak.info.pl/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zodiak-info-pl-mcp": {
      "type": "streamableHttp",
      "url": "https://zodiak.info.pl/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zodiak-info-pl-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zodiak-info-pl-mcp": {
      "type": "http",
      "url": "https://zodiak.info.pl/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zodiak-info-pl-mcp https://zodiak.info.pl/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://zodiak.info.pl/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "zodiak-info-pl-mcp": {
      "serverUrl": "https://zodiak.info.pl/mcp"
    }
  }
}

Let your agent find its tools

Find servers like zodiak.info.pl MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run zodiak.info.pl MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing