Mrd

io.github.newspacemarket-comPublished by GitHub account newspacemarket-comv1.2.0Updated Oct 24, 2026

Spacecraft component specs from vendor datasheets: search, digests, facts, gaps, budgets, bus design

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper ToolsData & Analytics

Overview

AI-generated overview

Search and compare spacecraft component specs drawn from vendor datasheets, with requirement matching, mass/power budgets and bus design.

What you can do
  • Search components by engineering requirements, with candidates grouped as meeting, failing or missing data
  • Read typed specs, property definitions and datasheet digests with page citations
  • Query one fact key across a category, or ask a datasheet for relevant excerpts
  • Find alternatives, suppliers and data gaps for a product, company or category
  • Build mass and power budgets for a component stack, check interface fit, and assemble a whole bus from a plain-language task
When to use it
Useful when selecting or comparing flight hardware such as reaction wheels, star trackers, radios or structures, checking whether parts dock together, or producing a mass and power budget with traceable sources.
Requirements
Works as a hosted remote endpoint with no install, or as a local npm package run through npx that forwards to the hosted service. No authentication is needed for reading; an optional free MRD_API_KEY raises rate limits five-fold. Network access is required.
Before you install
Read-only data service, but the catalogue is not exhaustive: products whose vendors publish nothing machine-readable are absent, and missing fields are reported rather than filled. Values are machine-extracted with confidence levels, so verify critical figures against the cited datasheet page before relying on them.

Installation

In SourceWeft

  1. Open Mrd in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.newspacemarket-com%2Fmrd/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "mrd": {
      "type": "http",
      "url": "https://newspacemarket.com/mrd-connect/mcp"
    }
  }
}

README

MRD — machine-readable datasheets for spacecraft components

[MCP Registry] [Smithery] [Data licence] [Code licence]

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 gB  fails a named requirement        RW-0.06 · momentum 0.06 N·m·s — need ≥ 0.2C  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:

toolwhat it does
match_componentsreverse search — requirements in, candidates grouped A / B / C with per-parameter verdicts; optional price ceiling and export-control filter
get_component_specsthe full typed layer of one category, for your own comparison or trade study
build_budgetmass and steady-state power of a stack, with bus-voltage checks and an honest list of what could not be counted
get_datasheet_digestfacts machine-read from one product's datasheet, by section (electrical, interfaces, mechanical, thermal, qualification, commercial…), each with page and verbatim quote
search_datasheet_factsone fact key across a whole category — connector, protocol, TID, flight heritage, lead time, price — one row per product with page and quote
ask_datasheetask a datasheet a question and get the closest excerpts with page numbers, or scan every datasheet of a category for an exact term
design_stacka whole spacecraft bus from a plain-language task; pass fixed product ids to lock parts you have already chosen
find_data_gapswhat 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, one-click install into Claude, Cursor, VS Code and other clients
  • Dataset mirror — Hugging Face

Use it from code

No authentication for reading. An optional free key raises rate limits five-fold — request one at /mrd-connect/.

bash
curl "https://newspacemarket.com/mrd-connect/match?category=star-trackers&accuracy_max=10&bus_v=12"

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, 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/ holds a dated snapshot, regenerated as the layer grows:

filecontents
mrd-full.jsoneverything — products, values, property dictionary
mrd-values.csvone row per value: product, property, number, unit, bound, condition, source, confidence
mrd-products.csvone row per product: name, manufacturer, category, URL
mrd-properties.csvthe 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.
  • Data in data/: CC BY 4.0, attribution "NewSpace Market" — see 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

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.

Source: README.md at commit e2bc70b

Tools

14

explain_properties

What every property of a product category means: definition, how it is measured and what goes into the measurement condition, how to use it when selecting, what it is commonly confused with, typical range and related properties. Call this before interpreting specs of an unfamiliar category.

Parameterssubtypecategoryrequired

match_components

Reverse search over a typed spec layer: pass a category and engineering requirements, get every catalogued item grouped as A (meets all stated requirements), B (fails a named requirement, both figures quoted) or C (could fit, data missing). Verdicts cite the datasheet page. Omit parameters you do not care about. Categories: reaction-wheels, star-trackers, obc-computers, batteries, radios, solar-panels, propulsion, sun-sensors, magnetometers, magnetorquers, imus-gyros, gnss-receivers, eps, deployers, thermal, antennas, sdr-modems, cameras, structures, platforms, ground-stations, sadm, tanks-valves, separation-systems, pointing-mechanisms, test-facilities (environmental test labs — items are companies: test, shaker_min_kn, tvac_min_m, specimen_min_kg, emc_min_m). The answer is compact: group A in full (up to 25), groups B and C — the first 10 with the reason, plus counts and the fields most often unpublished in C; page with group and offset.

Parametersbandtestbus_vgrouplimitmediaorbitexportform_uoffsetacq_maxarw_max+78 more

find_alternatives

Alternatives / second sources / replacements for ONE product: requirements are derived from its own published values (key fields of its class — higher-is-better at least 80 %, lower-is-better at most 120 %, same interface, band or type) and its class is searched without it. Returns the derived requirements, fields not compared, and groups A (meets all), B (fails one), C (data missing). Use when a part has a long lead time, is discontinued or export-restricted. Equal figures do not make a drop-in replacement — interfaces must be confirmed with the manufacturer.

Parameterscountryproductproduct_idtolerance_pct

selection_guide

How to choose a product of one category, from the catalogue data only: the decisive parameters with real ranges (middle half and full range), which side is better, how many products publish each, what to ask the vendor, and ready match queries. category = "cubesat" gives the list of subsystems a CubeSat is built from with catalogue counts.

Parameterscategoryrequired

find_suppliers

Companies whose PRODUCTS meet engineering requirements in one category — "who makes platforms for GEO", "Chinese companies making star trackers better than 10 arcsec", "suppliers of flight-proven reaction wheels". Pass category, optional country and any requirement parameter of match_components (same names and units). Returns companies with their matching products, and how many more companies may fit because the decisive value is not published.

Parametersbus_vorbitexportcountrydata_ifcategoryrequiredmass_maxprop_typeaccuracy_maxmomentum_minflight_provenpaymass_min_g+3 more

build_budget

Engineering budget for a component stack: pass product ids (from the other tools) and your bus voltage, get total mass, total steady-state power, per-item data interfaces, voltage-compatibility verdicts and an honest list of what could NOT be counted because the vendor does not publish it. Use it to assemble and sanity-check a subsystem, e.g. 3-4 reaction wheels for an ADCS.

Parametersbus_vitemsrequired

get_component_specs

The typed layer of a category, 10 products per call (page with offset, narrow with ids and keys) — every item with every value (number, canonical unit, bound, measurement condition, datasheet source page, confidence L0/L1) plus the property dictionary grouped by interface port (perf/power/data/mech/thermal/env/supply) — for arbitrary comparison, budgeting or trade studies on your side.

Parametersidskeyslimitoffsetcategoryconfidence

get_datasheet_digest

Facts machine-read from a product datasheet, by section (identity, performance, electrical, interfaces, mechanical, thermal, environmental, qualification, lifetime, options, compliance, commercial). Each fact carries unit, condition, the page and a verbatim quote it was verified against (confidence L0) plus a link into the PDF. Use it for what the typed layer does not hold: connectors, protocols, survival temperature, vibration, radiation, heritage, options, export control, lead time. Pass product_id from match_components or a product name.

Parametersqproduct_id

search_datasheet_facts

One fact key across a whole category: which products state it in their datasheets and what value — e.g. connector, data_interface, protocol, survival_temperature, tid_tolerance, flight_heritage, trl, export_control, lead_time, price, design_life. One row per product with page and quote. Reports coverage (how many products of the category have a digested datasheet).

Parameterskeyrequiredcategoryrequiredcontains

ask_datasheet

Ask a product datasheet a question and get the closest excerpts with page numbers (pre-indexed text), or scan ALL datasheets of a category for an exact term (term + category) and get the exact list of products mentioning it with an excerpt each.

Parametersqtermcategoryproduct_id

design_stack

Assemble a whole spacecraft bus from a plain-language task: the service plans the subsystems, matches every item deterministically against the stated requirements, computes the mass/power budget and writes an evidence-bound rationale. Pass fixed = product ids you have already chosen (from match_components or get_datasheet_digest): they stay in their subsystems, are checked against the requirements (selected.fixed, fixed_verdict, fixed_fails) and the rest is assembled around them. LLM-backed and rate-limited (6/min, 30/h anonymous).

Parametersqrequiredfixed

find_data_gaps

What is missing for a product, a company or a category and where to get it: in_digest (already read from the datasheet — value, page), in_datasheet_text (the datasheet mentions it — page, excerpt), not_in_datasheet (ask the vendor), no_datasheet (ask the vendor for a datasheet). For vendors: what to publish; for buyers: what to ask.

Parametersstatuscategorycompany_idproduct_id

ask_console

Plain-language engineering question over the whole platform, answered by platform rules without any external model: selection by requirements, values of a property across a class, companies by capability and country, launch windows, term definitions. Returns a short answer plus data blocks (candidates A/B/C, values, companies, launches). Use when the question does not map cleanly onto one structured tool.

Parametersqrequired

check_fit

Check whether a set of products docks together, by the interface template of each product type: deployer and CubeSat structure form factor and satellite mass, separation system and spacecraft mass, solar panel size and EPS solar input (Voc/Vmp, power), battery and EPS, EPS output rails or the unregulated bus against each unit supply range, EPS charge current against the battery limit, satellite envelope against the deployer envelope for its form factor, on-board computer against unit data interfaces, board stack format, free volume, radio against antenna and ground station (frequency, band, connector, protocol and modulation), antenna against ground station polarization, GNSS receiver signals against the GNSS antenna band, magnetorquer coil current against the driver channel, PPU output power against the electric thruster, array drive against panel power, propulsion propellant against tank media, steady power budget. Verdicts fits / conflict / check / unknown, plus ask_vendor: exactly which values are missing to decide.

Parametersitemsrequired

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts