Overview
Data comes from a star catalogue file stored with the API. A `name` query is an exact, case-insensitive match on the star's name; partial names are not matched, and an unknown name returns 404.
A `type` query is matched in three steps, and the first step with results wins. First, an exact spectral code, with or without brackets and spaces, so `A1V` matches `A1(V)`. Second, a class name mapped to the luminosity suffix stored in the data: `supergiant` (I), `bright giant` (II), `giant` (III), `subgiant` (IV), `main sequence` or `dwarf` (V), `red dwarf` (M-type V) and `white dwarf` (wd); spaces, hyphens and a trailing `star` or `stars` are ignored. Third, a spectral class prefix such as `G`, `K5` or `DA`. Stars without a recorded type are skipped. For a type query, the first match is returned at the top level and `stars` lists up to the first 10 matches in catalogue order; `count` is the length of that list, not the total number of matches.
`mass` is in kilograms and `dist` in light-years. `starType` is the spectral code with the luminosity class in brackets, such as `A1(V)`. `temp` is the surface temperature, `color` a hex colour written as `0xRRGGBB`, and `galX`, `galY` and `galZ` are galactic coordinates whose combined length matches `dist`. `diameter`, `temp`, `color` and the three coordinates are null on the Free plan.
Live Test Star Lookup Skill Skill →
The tool
Once your client is connected to the VerveKit server, this appears in its tool list as StarLookupSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.
{
"name": "StarLookupSkill",
"arguments": {
"name": "Sirius"
}
}You do not name the tool yourself; the model picks it. Asking about Sirius in the terms this skill covers is enough for it to reach for StarLookupSkill on its own — naming it explicitly also works, and is the way to force the call.
Connecting
One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.
{
"mcpServers": {
"vervekit": {
"url": "https://api.vervekit.com/v1/mcp"
}
}
}https://api.vervekit.com/v1/mcpPer-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.
Arguments
These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.
| Argument | Type | Description |
|---|---|---|
nameRequired | string | The name of the star for which you want to get the data (e.g., Sirius) |
What the model gets back
The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.
{
"status": "ok",
"error": null,
"data": {
"starName": "Sirius",
"mass": 4.674385e+30,
"diameter": 2825760,
"galX": -5.895,
"galY": -6.152,
"galZ": -1.167,
"dist": 8.6,
"starType": "A1(V)",
"temp": 9500,
"color": "0xbaccff"
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
starName | string | Sirius | The name of the star |
mass | number | 4.674385e+30 | Mass of the star in kilograms |
diameterPremium | number | 2825760 | Diameter of the star in kilometers |
galXPremium | number | -5.895 | Galactic X coordinate position |
galYPremium | number | -6.152 | Galactic Y coordinate position |
galZPremium | number | -1.167 | Galactic Z coordinate position |
dist | number | 8.6 | Distance to star in light-years |
starType | string | A1(V) | Stellar classification type (e.g., A1V) |
tempPremium | number | 9500 | Surface temperature of the star in Kelvin |
colorPremium | string | 0xbaccff | Color representation as hex code |
Failure modes
Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.
| Status | What it means |
|---|---|
400 / 422 | The arguments did not validate. The message names the offending one. |
401 | The OAuth session is invalid or expired — reconnect the server. |
403 | Blocked by a key restriction or an IP allow-list. Never a bad identity. |
404 | This skill is not part of VerveKit. Check the catalog. |
429 | Out of credits, or a brief rate limit. The message tells them apart. |
A call costs 2 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Planetarium Display Systems
- Stargazing apps query star names to show visitors distance from Earth, stellar classification, and real celestial mass during live sky tours.
- Sci-Fi Worldbuilding
- To build believable galaxy maps, game developers pull spectral classes like red dwarf or main sequence to seed star systems with authentic physics.
- Astronomy Curriculum Portals
- When students compare celestial bodies, digital textbooks pull mass in kilograms and stellar types to demonstrate the Hertzsprung-Russell relationship.
- Telescope Calibration Software
- Align optical tracking mounts by looking up known reference stars to verify catalog identity and light-year distance against visual field observations.
Other ways to use Star Lookup Skill
Set up Star Lookup Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.
Related
More in Science: