NewSpace Market MRD
README.md
# MRD — machine-readable datasheets for spacecraft components
[](https://registry.modelcontextprotocol.io/v0.1/servers?search=newspacemarket)
[](https://smithery.ai/servers/info-zrja/newspace-mrd)
[](data/LICENSE-DATA)
[](LICENSE)
Typed, datasheet-sourced specifications for **2,500+ flight hardware products
across 24 categories** — reaction wheels, star trackers, propulsion, radios,
antennas, structures, ground stations and more — with **19,900+ values that each
cite the datasheet page they came from**. Underneath sits the datasheet layer
itself: **26,000+ facts read from 800+ datasheets**, each anchored to a quoted
page, and the full text of 1,600+ datasheets indexed for questions.
Built for software and AI assistants, not only for reading. Ask in plain
language, filter by engineering requirements, or download the whole thing.
```
"Find a reaction wheel over 0.2 N·m·s that runs on a 12 V bus, under 2 kg"
A meets every requirement VRW-B-02 · Vectronic · 0.2 N·m·s · 9–36 V · 1000 g
B fails a named requirement RW-0.06 · momentum 0.06 N·m·s — need ≥ 0.2
C could fit, data not published NanoTorque GSW-600 · missing: supply voltage
```
Three rules make the data usable by a machine:
* **Nothing is guessed.** A missing property means the vendor does not publish
it, and the item is reported as "data missing" rather than silently dropped
or filled with a typical value.
* **Conditions are kept apart.** Idle, steady-state and peak power are separate
records with their measurement condition attached — never averaged into one
number.
* **Every value is traceable.** Source file and page, plus a confidence level:
`L0` machine-extracted, `L1` verified by a human against the vendor datasheet.
---
## Use it from an AI assistant (MCP)
**Hosted — no install.** Add this as a custom connector in Claude, ChatGPT
(developer mode) or any MCP client:
```
https://newspacemarket.com/mrd-connect/mcp
```
**Local — for editors that speak stdio** (Cursor, Windsurf, VS Code, Claude
Desktop). Add to your MCP config:
```json
{
"mcpServers": {
"mrd": {
"command": "npx",
"args": ["-y", "@newspacemarket/mrd-mcp"]
}
}
}
```
The package is a thin bridge: it speaks stdio to your editor and forwards to the
hosted endpoint, so new tools appear without upgrading anything.
Eight tools arrive in the assistant:
| tool | what it does |
|------|--------------|
| `match_components` | reverse search — requirements in, candidates grouped A / B / C with per-parameter verdicts; optional price ceiling and export-control filter |
| `get_component_specs` | the full typed layer of one category, for your own comparison or trade study |
| `build_budget` | mass and steady-state power of a stack, with bus-voltage checks and an honest list of what could not be counted |
| `get_datasheet_digest` | facts machine-read from one product's datasheet, by section (electrical, interfaces, mechanical, thermal, qualification, commercial…), each with page and verbatim quote |
| `search_datasheet_facts` | one fact key across a whole category — connector, protocol, TID, flight heritage, lead time, price — one row per product with page and quote |
| `ask_datasheet` | ask a datasheet a question and get the closest excerpts with page numbers, or scan every datasheet of a category for an exact term |
| `design_stack` | a whole spacecraft bus from a plain-language task; pass `fixed` product ids to lock parts you have already chosen |
| `find_data_gaps` | what is missing for a product, company or category and where to get it: already in the digest, in the datasheet text, or only from the vendor |
## Where it is listed
* **Official MCP Registry** — `io.github.newspacemarket-com/mrd`
* **Smithery** — [`info-zrja/newspace-mrd`](https://smithery.ai/servers/info-zrja/newspace-mrd),
one-click install into Claude, Cursor, VS Code and other clients
* **Dataset mirror** — [Hugging Face](https://huggingface.co/datasets/NewSpaceMarket/mrd)
## Use it from code
No authentication for reading. An optional free key raises rate limits
five-fold — request one at [/mrd-connect/](https://newspacemarket.com/mrd-connect/).
```bash
curl "https://newspacemarket.com/mrd-connect/match?category=star-trackers&accuracy_max=10&bus_v=12"
```
* [`examples/python/select_wheels.py`](examples/python/select_wheels.py) — reverse search, printing why each candidate passed or failed
* [`examples/python/budget.py`](examples/python/budget.py) — assemble a stack and budget it through the MCP tools
* [`examples/js/match.mjs`](examples/js/match.mjs) — same search from Node, no dependencies
* [`examples/curl.md`](examples/curl.md) — every endpoint as a one-liner
The same four datasheet-layer calls are plain REST as well:
`/mrd-connect/digest?product_id=…`, `/mrd-connect/facts?category=…&key=…`,
`/mrd-connect/datasheet?product_id=…&q=…`, `/mrd-connect/gaps?category=…`.
**OpenAPI 3.1**: [`openapi.json`](openapi.json), served live at
`https://newspacemarket.com/mrd-connect/openapi.json`. Import it as a ChatGPT
Custom GPT Action, a LangChain / CrewAI / n8n toolkit, or convert it to Gemini
function declarations.
## Download the data
[`data/`](data/) holds a dated snapshot, regenerated as the layer grows:
| file | contents |
|------|----------|
| `mrd-full.json` | everything — products, values, property dictionary |
| `mrd-values.csv` | one row per value: product, property, number, unit, bound, condition, source, confidence |
| `mrd-products.csv` | one row per product: name, manufacturer, category, URL |
| `mrd-properties.csv` | the property dictionary — what each key means and its canonical unit |
Live data is always newer than the snapshot; use `get_component_specs` or
`/mrd-connect/specs?category=…` when freshness matters.
## How the data is built
Values are extracted from vendor datasheets (text and, for scanned documents,
page images), from vendor product pages, and from product descriptions — the
source of every record says which. Units are converted **by code**, not by a
model: kg to g, dBm to W, psi to bar, tf to mN. A validation pass rejects a
figure whose unit does not match the property, and an outlier scan flags values
that sit far from the category median for human review.
Coverage is not exhaustive. Where a vendor publishes nothing machine-readable,
the product simply is not here — and where a required field is missing, the
API says so by name instead of guessing.
## Licence
* **Code** (the MCP bridge and examples): MIT — see [`LICENSE`](LICENSE).
* **Data** in `data/`: CC BY 4.0, attribution "NewSpace Market" — see
[`data/LICENSE-DATA`](data/LICENSE-DATA).
Specifications are extracted from publicly published vendor materials and are
provided as-is. Verify against the vendor datasheet before committing to a
design.
## Links
* Connection hub: <https://newspacemarket.com/mrd-connect/>
* AI component designer: <https://newspacemarket.com/mrd-pilot/>
* Catalogue: <https://newspacemarket.com>
Are you a vendor whose products are listed? Completing the missing fields takes
minutes and is free — write to us from your company domain and we will send a
direct link.