Perigee
Positions, distances, mission facts and 3D views of objects orbiting the Earth, Moon, Mars and Sun.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 perigee_find 中
- LOW在 perigee_distance 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"perigee": {
"command": "npx",
"args": [
"perigee-mcp"
]
}
}
}可執行的套件
1.9.2stdio遠端端點
https://perigee-mcp.perigeeinfo.workers.dev/mcpstreamable-http它能做什麼
工具清單
工具(19)
🟢perigee_find(query, limit)
Looks up objects by name or identifier (English or French, accents optional): planets, moons, missions beyond Earth orbit, featured science satellites, any active Earth satellite (by name, NORAD or COSPAR id), landing and launch sites, named stars. Returns ids for the other tools.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_object(id, lang, include_image)
Facts about an object: name, agency, country, launch date, status, mission goals and notes, identifiers (NORAD, COSPAR, Horizons), official website, sources and verification date, a catalogue image with credit and licence, and links to its view in Perigee. include_image also returns the image itself.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
},
"include_image": {
"type": "boolean"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_state(id, date, centre)
Position (km, ICRF/J2000 equatorial axes) and velocity (km/s) of an object at a date, relative to a centre (default: the body it orbits or stands on), with distance, altitude above the centre, speed, light time, whether it is in sunlight, and provenance. Around the Earth, the Moon or Mars it also gives the ground point below it (latitude, longitude; on the Earth the country or sea, e.g. "over Brazil", "over the Indian Ocean").
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"date": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"centre": {
"description": "Reference object id, e.g. \"earth\", \"sun\", \"moon:moon\", \"mars\".",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_orbit(id, date, centre)
Orbit of an object: perigee and apogee altitudes (periapsis/apoapsis), period, inclination, eccentricity, semi-major axis. Earth satellites: the mean elements of their published element set, with the orbit regime (LEO, MEO, GEO, HEO); other objects: instantaneous two-body elements around their centre at a date (default: the body they orbit; inclination on its equator, on the ecliptic around the Sun).
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"date": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"centre": {
"description": "Body the orbit is around, e.g. \"sun\" for a planet or a probe.",
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_passes(id, latitude, longitude, height_m, start, ...)
When an Earth satellite (ISS = 25544, Tiangong = 48274, Hubble = 20580, or any NORAD number) passes over a place: rise, highest point and set times with direction (azimuth, compass point) and elevation, and whether it can be seen with the naked eye (sunlit satellite, dark sky) and when. Give the place's latitude and longitude (degrees, east positive) and, for local times, its IANA time zone. Up to 3 days ahead.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Observer latitude, degrees (north positive)."
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 360,
"description": "Observer longitude, degrees (east positive)."
},
"height_m": {
"description": "Observer height above sea level, m.",
"type": "number",
"minimum": -500,
"maximum": 9000
},
"start": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"days": {
"description": "Search length in days (default 3).",
"type": "number",
"minimum": 0.05,
"maximum": 3
},
"min_elevation": {
"description": "Lowest culmination kept and lowest elevation counted as visible, degrees (default 10).",
"type": "number",
"minimum": 0,
"maximum": 80
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"America/Toronto\".",
"type": "string",
"maxLength": 64
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"required": [
"id",
"latitude",
"longitude"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_sky(latitude, longitude, height_m, date, time_zone, ...)
What is in the sky from a place at a date (default: now): day, twilight or night; the Sun with its next rise, set and twilights; the Moon with its phase, illuminated share, rise and set; each planet with its altitude, direction, brightness (magnitude), constellation and whether it can be seen with the naked eye; and the bright named stars above the horizon. For "what can I see tonight", give the evening time.
輸入結構描述
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Observer latitude, degrees (north positive)."
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 360,
"description": "Observer longitude, degrees (east positive)."
},
"height_m": {
"description": "Observer height above sea level, m.",
"type": "number",
"minimum": -500,
"maximum": 9000
},
"date": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"Europe/Paris\".",
"type": "string",
"maxLength": 64
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"required": [
"latitude",
"longitude"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_events(start, days, kinds, latitude, longitude, ...)
Events over a period (default: the next 30 days, at most 31): Moon phases (super and micro full Moons), lunar perigee and apogee, lunar and solar eclipses (with a place: how they look from there), equinoxes and solstices, the Earth's perihelion and aphelion, planet oppositions, conjunctions and greatest elongations, and the next key events of the missions (flybys, arrivals, launches) from Perigee's catalogue.
輸入結構描述
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"days": {
"description": "Length of the period in days (default 30).",
"type": "number",
"minimum": 1,
"maximum": 31
},
"kinds": {
"description": "Kinds of events to include (default: all).",
"type": "array",
"items": {
"type": "string",
"enum": [
"moon",
"eclipse",
"season",
"planet",
"mission"
]
}
},
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Observer latitude, degrees (north positive)."
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 360,
"description": "Observer longitude, degrees (east positive)."
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"Europe/Paris\".",
"type": "string",
"maxLength": 64
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_tonight(latitude, longitude, height_m, date, time_zone, ...)
What there is to see tonight from a place (the coming night, or the current one): the night's start and end, the Moon (phase, illuminated share, rise and set), the planets visible to the naked eye, the visible passes of the ISS, Tiangong and Hubble, the close pairings of the Moon and planets, and the sky's events of the night, with short highlights ready to read. Give the place's latitude and longitude and, for local times, its IANA time zone.
輸入結構描述
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Observer latitude, degrees (north positive)."
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 360,
"description": "Observer longitude, degrees (east positive)."
},
"height_m": {
"description": "Observer height above sea level, m.",
"type": "number",
"minimum": -500,
"maximum": 9000
},
"date": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"Europe/Paris\".",
"type": "string",
"maxLength": 64
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"required": [
"latitude",
"longitude"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_sky_conjunctions(latitude, longitude, height_m, start, days, ...)
Apparent close pairings seen from a place over a period (default 7 days, at most 7): the Moon and the planets with each other and with the bright stars near the ecliptic (Regulus, Spica, Antares, Aldebaran, Pollux…), at their closest, with where to look and whether the pair is visible (above the horizon, dark sky). With `satellite` (a NORAD number), that satellite passing near them during its passes over one day.
輸入結構描述
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Observer latitude, degrees (north positive)."
},
"longitude": {
"type": "number",
"minimum": -180,
"maximum": 360,
"description": "Observer longitude, degrees (east positive)."
},
"height_m": {
"description": "Observer height above sea level, m.",
"type": "number",
"minimum": -500,
"maximum": 9000
},
"start": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"days": {
"description": "Length of the period in days (default 7; 1 with a satellite).",
"type": "number",
"minimum": 0.05,
"maximum": 7
},
"max_separation": {
"description": "Widest separation kept, degrees (default 5).",
"type": "number",
"minimum": 0.1,
"maximum": 10
},
"satellite": {
"description": "An Earth satellite (NORAD number) to check against the Moon, planets and stars.",
"type": "string",
"maxLength": 20
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"Europe/Paris\".",
"type": "string",
"maxLength": 64
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"required": [
"latitude",
"longitude"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_shadow(id, date, hours, centre, time_zone, ...)
Whether an object is in sunlight, in the penumbra or in the umbra of the body it orbits (Earth satellites: the Earth's shadow; lunar and Martian orbiters: the Moon's or Mars'), and when it next enters and leaves the shadow (default: over two orbits, at most 12 hours). Explains why a satellite crossing the night sky suddenly fades out.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"date": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"hours": {
"description": "Length of the search in hours (default: two orbits).",
"type": "number",
"minimum": 0.1,
"maximum": 12
},
"centre": {
"description": "Body casting the shadow (default: the one the object orbits).",
"type": "string"
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"Europe/Paris\".",
"type": "string",
"maxLength": 64
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_ground_track(id, start, orbits, points, lang)
The path on the ground below an Earth satellite over one or two orbits: a list of points (time, latitude, longitude, height) and a GeoJSON MultiLineString split at the antimeridian, ready for a map. Up to 360 points.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"start": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"orbits": {
"description": "Number of orbits (default 1).",
"type": "number",
"minimum": 0.1,
"maximum": 2
},
"points": {
"description": "Number of points (default 180 per orbit).",
"type": "integer",
"minimum": 10,
"maximum": 360
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_close_approach(from, to, start, days, time_zone, ...)
The closest distance between two objects in space over a period (default 1 day, at most 1): when, how close (timed to a fraction of a second) and, for two Earth satellites, how fast they pass each other. For education only: public orbits are not precise enough for collision avoidance, and the answer says so.
輸入結構描述
{
"type": "object",
"properties": {
"from": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "First object id."
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Second object id."
},
"start": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"days": {
"description": "Length of the search in days (default 1).",
"type": "number",
"minimum": 0.01,
"maximum": 1
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"Europe/Paris\".",
"type": "string",
"maxLength": 64
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"required": [
"from",
"to"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_stats(owner, operator, group, limit, lang)
Counts of the active satellites: total, by owner (country or organisation, e.g. US, PRC, CIS, ESA), by operator (SpaceX, OneWeb, Amazon Kuiper…), by CelesTrak group (constellations, navigation, weather…), by orbit regime (LEO, MEO, GEO, HEO), object type, launch year, recent launches and low-orbit altitude bands. owner, operator or group narrow a list to matching entries (code or name).
輸入結構描述
{
"type": "object",
"properties": {
"owner": {
"type": "string",
"maxLength": 60
},
"operator": {
"type": "string",
"maxLength": 60
},
"group": {
"type": "string",
"maxLength": 60
},
"limit": {
"description": "Largest entries listed per category (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_distance(from, to, date)
Centre-to-centre distance between two objects at a date (km and astronomical units) and the light travel time, with the provenance of both positions. Example: from "earth" to "mars".
輸入結構描述
{
"type": "object",
"properties": {
"from": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"date": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
}
},
"required": [
"from",
"to"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_distance_series(from, to, start, end, steps)
Distances between two objects sampled evenly over a period (for a table or a chart), with the closest and farthest samples. The step limits their precision: use more steps for a precise closest approach.
輸入結構描述
{
"type": "object",
"properties": {
"from": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"start": {
"type": "string",
"description": "ISO 8601 UTC start."
},
"end": {
"type": "string",
"description": "ISO 8601 UTC end."
},
"steps": {
"description": "Number of intervals (default 50, at most 100).",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"from",
"to",
"start",
"end"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_view(id, date, lang, rate, follow, ...)
Link to Perigee showing an object (optionally at a date, paused or accelerated, followed), and an iframe snippet for a lesson page: the live 3D view without bars or panels. The embedding page can then drive the view and take PNG snapshots with postMessage (protocol perigee:v1, documented in `embedApi`). For a star, star_map opens its 3D map with the Sun instead (every named star at its real distance, the Sun–star distance drawn; compare adds a second star), alone in the iframe.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"date": {
"description": "ISO 8601 UTC instant, e.g. 2026-12-01T00:00:00Z (default: now).",
"type": "string"
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
},
"rate": {
"description": "Time multiplier: 1 real time, 0 paused.",
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"follow": {
"description": "Follow the object (default true).",
"type": "boolean"
},
"panel": {
"description": "Keep the information panel in the embed.",
"type": "boolean"
},
"time_bar": {
"description": "Keep the time bar in the embed.",
"type": "boolean"
},
"star_map": {
"description": "Stars only (star:<id>): open the star's 3D map with the Sun, alone in the embed.",
"type": "boolean"
},
"compare": {
"description": "With star_map: another star (star:<id>) drawn with its distance to compare.",
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_describe_view(url, lang, time_zone)
Turns a Perigee link or embed URL (from perigee_view or a shared link) into words: a one-sentence alternative text for the image or iframe, and a description for lesson notes (which view, the selected object, where it is and how reliable its position is, the date and speed of time, the frame, the filters and what is hidden). The camera framing is not in the link.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "A Perigee URL, e.g. https://perigee.info/?view=solar&sel=mars"
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
},
"time_zone": {
"description": "IANA time zone for local times, e.g. \"Europe/Paris\".",
"type": "string",
"maxLength": 64
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_define(term, lang)
Student-level definitions (secondary school) of the terms shown in Perigee: NORAD number, COSPAR id, apogee and perigee, inclination, orbital period, element epoch, ephemeris window, phase… Without a term, lists them all.
輸入結構描述
{
"type": "object",
"properties": {
"term": {
"type": "string",
"maxLength": 60
},
"lang": {
"description": "Language of names and texts (default en).",
"type": "string",
"enum": [
"en",
"fr"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢perigee_about
What every answer rests on: data sources and when they were fetched, the models and their typical accuracy, catalogue sizes, frame, attribution and the educational-use disclaimer.
輸入結構描述
{
"type": "object",
"properties": {}
}社群
證據