Starfetch
NPM · @STARFETCH-JS/MCP · SCANNED SEP 21
Query public astronomy catalogs through metadata-first TAP and ADQL tools.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security93
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects csv-parse 7.0.1, reached via @starfetch-js/core > csv-parse. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 33 of 101 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to starfetch-js/starfetch). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 57 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability88
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 1553 tokens (~62/item across 25 items; 12 tools + 13 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Starfetch MCP server?
Starfetch runs locally as an npm package, launched with npx -y @starfetch-js/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @starfetch-js/mcp
claude mcp add starfetch-js-starfetch -- npx -y @starfetch-js/mcp
{
"mcpServers": {
"starfetch-js-starfetch": {
"command": "npx",
"args": [
"-y",
"@starfetch-js/mcp"
]
}
}
} {
"servers": {
"starfetch-js-starfetch": {
"command": "npx",
"args": [
"-y",
"@starfetch-js/mcp"
]
}
}
} codex mcp add starfetch-js-starfetch -- npx -y @starfetch-js/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"starfetch-js-starfetch": {
"type": "local",
"command": [
"npx",
"-y",
"@starfetch-js/mcp"
],
"enabled": true
}
}
} openclaw mcp add starfetch-js-starfetch --command npx --arg -y --arg @starfetch-js/mcp
mcp_servers:
starfetch-js-starfetch:
command: "npx"
args: ["-y", "@starfetch-js/mcp"] {
"McpServers": {
"starfetch-js-starfetch": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@starfetch-js/mcp"
]
}
}
} assistant mcp add starfetch-js-starfetch -t stdio -c npx -a -y @starfetch-js/mcp
{
"mcpServers": {
"starfetch-js-starfetch": {
"command": "npx",
"args": [
"-y",
"@starfetch-js/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −2
- Stability: pass → 0.83 functional
- 16 Sept 26 0
- Stability: 0.97 → pass security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −5
- CVE-2026-85063 affects this package: medium ▼ security
- Known CVEs: pass → fail ▼ security
- Stability: pass → 0.77 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed npm/@starfetch-js/mcp@0.3.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | starfetch-js/starfetch |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/starfetch-js/starfetch/.github/workflows/release.yml@refs/tags/v0.3.0 |
| Rekor log index | 2245902473 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:c77fe62d289160db952cec032ceacc167e20ea267a722f5331b19934eee3850bcb1208ebe582a8ea08f204ce1741ef48b00ab8cfa9a334543d0e2320d |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-8cw4-87c7-c6xx | CVE-2026-85063 | medium | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 101 packages
| Packages resolved | 101 |
|---|---|
| Stale | 33 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
starfetch_list_presets List TAP presets ~26
List built-in TAP service presets before selecting an explicit target for metadata inspection.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| data | array | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_registry_search Search TAP registry ~69
Search VO registry metadata when no built-in preset fits; inspect the selected service before querying it.
| Name | Type | Req | Description |
|---|---|---|---|
| maxrec | integer | – | TAP MAXREC row limit for registry results. |
| query | string | – | Registry search text. |
| registryUrl | string | – | Explicit RegTAP service URL. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | array | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_availability Read TAP availability ~74
Check whether the selected TAP service reports itself available; an unavailable service is not an empty catalog result.
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_capabilities Read TAP capabilities ~73
Inspect the selected TAP service's languages, formats, and authentication requirements before using service-specific features.
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_columns List TAP columns ~91
Inspect names, datatypes, units, and descriptions for an exact metadata-discovered table before constructing ADQL.
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| table | string | yes | Exact TAP table name returned by prior metadata inspection. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | array | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_job_delete Delete TAP async job ~82
Delete a TAP async job from the remote service.
| Name | Type | Req | Description |
|---|---|---|---|
| jobIdOrUrl | string | yes | TAP async job id or absolute job URL. |
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_job_fetch Fetch TAP async job result ~122
Fetch a TAP async job result. JSON and JSONL conversion supports VOTable, CSV, and TSV rows.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | yes | MCP result output format. |
| jobIdOrUrl | string | yes | TAP async job id or absolute job URL. |
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| sourceFormat | string | – | Actual TAP result format for async job output. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_job_status Read TAP async job status ~84
Read the current phase and links for a TAP async job.
| Name | Type | Req | Description |
|---|---|---|---|
| jobIdOrUrl | string | yes | TAP async job id or absolute job URL. |
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_job_wait Wait for TAP async job ~149
Poll a TAP async job until completion, timeout, or terminal failure. This is an explicit wait and never starts a background job.
| Name | Type | Req | Description |
|---|---|---|---|
| backoff | boolean | – | Increase the poll interval. |
| intervalMs | integer | – | Poll interval in milliseconds. |
| jobIdOrUrl | string | yes | TAP async job id or absolute job URL. |
| maxIntervalMs | integer | – | Maximum backoff interval in milliseconds. |
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| timeoutMs | integer | – | Wait timeout in milliseconds. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_query Run bounded TAP query ~184
Run a small bounded synchronous TAP ADQL query after inspecting the exact table and columns. Use TOP in ADQL and/or maxrec, and treat tool errors as failures rather than empty scientific results.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | yes | MCP result output format. |
| maxrec | integer | – | TAP MAXREC row limit. Defaults to 100 when omitted. |
| query | string | yes | Exact metadata-backed ADQL query text. Use TOP for a query-level bound; do not use LIMIT. |
| runId | string | – | Optional TAP RUNID request value. |
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| uploads | array | – | TAP uploads forwarded to the service; local file paths are not supported. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_submit_job Submit TAP async job ~186
Submit metadata-backed bounded ADQL as an explicit TAP async job when synchronous querying is insufficient. Preserve the exact query and use starfetch_tap_query for small work.
| Name | Type | Req | Description |
|---|---|---|---|
| maxrec | integer | – | TAP MAXREC row limit. Defaults to 100 when omitted. |
| query | string | yes | Exact metadata-backed ADQL query text. Use TOP for a query-level bound; do not use LIMIT. |
| requestFormat | string | – | TAP RESPONSEFORMAT request value for the async job result. |
| runId | string | – | Optional TAP RUNID request value. |
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| uploads | array | – | TAP uploads forwarded to the service; local file paths are not supported. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | – |
| diagnostics | object | yes | – |
No examples provided.
starfetch_tap_tables List TAP tables ~69
List tables on the selected TAP service before choosing an exact table for ADQL.
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | – | Known Starfetch TAP service preset selected for this workflow; use this or url. |
| url | string | – | Explicit TAP base URL selected for this workflow; use this or service. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | array | yes | – |
| diagnostics | object | yes | – |
No examples provided.
What is the Starfetch MCP server?
Starfetch is an MCP server listed in the public MCP registry as io.github.starfetch-js/starfetch. Query public astronomy catalogs through metadata-first TAP and ADQL tools. This page covers its npm package (@starfetch-js/mcp).
Is the Starfetch MCP server safe to use?
Starfetch scores 95 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Starfetch MCP server expose?
Starfetch exposes 12 tools: starfetch_list_presets, starfetch_registry_search, starfetch_tap_availability, starfetch_tap_capabilities, starfetch_tap_tables, and 7 more. Their descriptions and schemas cost roughly 1,209 tokens of context every time the server is loaded.
Is the Starfetch MCP server still maintained?
Starfetch is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Starfetch MCP server under?
Starfetch declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.