space-standards-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPACESTD_DOCS | No | Path to the folder containing standards documents. If not set, the server looks in the default 'documents' folder. | |
| SPACESTD_EMBED | No | Set to 'default' to enable embedding ranking fused with BM25 (requires the [embed] extra). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_documentsA | List the standards currently loaded: issue, title, family (ECSS / NASA), doc_type (standard, handbook, ...),
discipline, record counts and parse Filters (optional, case-insensitive): family "ECSS" or "NASA"; doc_type e.g. "handbook"; discipline as a
code ("E-32", "Q-70", "NASA-5000") or a name ("structures"); query: words in the doc ID or title.
include_not_loaded: also list standards in the user's documents folder that are not loaded ( |
| get_requirementA | Get the exact text of one requirement. doc_id: e.g. "ECSS-Q-ST-80C" or "ECSS-Q-ST-80" or "NPR 7150.2".
req_id: ECSS clause + letter, e.g. "5.2.1a" (DRD content: "A.2.1<5.2>a"); NASA tag, e.g. "FSR 24",
or an FCR item, e.g. "FCR 11 / 7.2.1.c"; untagged NASA standards: section + item, e.g. "4.2a", "4.3(1)",
or the n-th "shall" paragraph of a section, e.g. "4.4 req 1". Records carry a |
| search_requirementsA | Search across loaded requirements (BM25; hybrid with embeddings when the server enables it). Optionally restrict to one document. query: REQUIRED search words, never empty, e.g. "ultimate factor of safety metallic structure" or "fracture control NASA-STD-5019". A call without search words returns no results. Returns {"results": [...]} plus, when relevant, "not_loaded", "elsewhere" and "notes".
Without doc_id, standards named in the query (e.g. "NASA-STD-5001B", "ECSS-E-ST-32-01") restrict
the search to them. |
| get_tableA | Get a table (e.g. factors of safety) as structured rows, verbatim from the source. doc_id: e.g. "ECSS-E-ST-32-10C" or "NASA-STD-5001B". table_id: e.g. "Table 4-3" or "4-3".
Each row has row labels and value cells (text as printed, parsed value, footnote markers).
Quote the cell text and its footnotes; 'spans_rows' marks a value printed once in a merged
cell that covers several rows. The table and each row carry |
| get_referencesB | List the standards and clauses that a requirement (or its notes) refers to. |
| compare_topicA | Side-by-side search of one topic in several standards, e.g. ECSS vs NASA on factors of safety. topic: the subject only, e.g. "ultimate design factor metallic structure" (no standard names).
doc_ids: the standards to compare, e.g. ["ECSS-E-ST-32-10", "NASA-STD-5001"]; omit for all loaded.
Returns one section per document, grouped by family (ECSS, NASA), with its top hits and the
table rows they matched. Requested or named standards that are not loaded are listed as in
search_requirements ( |
| get_section_outlineA | Table of contents of one standard: clause numbers, titles and how many records (by kind) each holds. doc_id: e.g. "ECSS-E-ST-32-01C" or "NASA-STD-5019A". clause: e.g. "7.2" to list that section and its subsections, plus the record IDs placed directly in it and the tables in it; omit for the whole document. depth: how many heading levels to list below the starting point (default 2). The outline has no requirement text: use get_requirement / get_table for anything you quote or cite. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct retrieval unit (document list, single requirement, outline, table, references, cross-doc comparison), so selection is mostly unambiguous. The only mild overlap is between search_requirements and compare_topic, but the latter's multi-doc side-by-side framing and topic-only query make the boundary clear.
All names follow a consistent snake_case verb_noun pattern (list_documents, get_requirement, get_table, search_requirements, compare_topic). No mixed conventions or vague verbs.
Seven tools is well-scoped for a read-only standards corpus, with each tool earning its place by covering a different access granularity (list, search, outline, requirement, table, references, comparison). No redundancy or padding.
The surface covers the main read paths for a standards domain: discovery, search, drill-down to requirements/tables, references, and cross-standard comparison. Minor gap: no tool to load documents (only referenced via corpus.yaml), and no bulk export, but these are workable around.