Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPACESTD_DOCSNoPath to the folder containing standards documents. If not set, the server looks in the default 'documents' folder.
SPACESTD_EMBEDNoSet 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_documentsA

List the standards currently loaded: issue, title, family (ECSS / NASA), doc_type (standard, handbook, ...), discipline, record counts and parse tier ("verified": hand-checked against the source; "checked": passes the automatic parse health checks; "unchecked": parsed automatically — for both, check numbers against the source page before relying on them).

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 (loaded: false). Their text is not available: never answer from them, but you may name one as the standard that would cover a question. Returns {"count", "documents"} (at most limit, plus "truncated" when more match).

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 kind: requirement, recommendation, permission, guidance or deleted — say which when answering.

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. not_loaded lists named standards that are not loaded: never answer from them. It is split into in_documents_folder (present in the user's documents folder but not loaded, with issue and status: say so, and that they can be loaded through corpus.yaml) and not_in_documents_folder (the user does not have them). elsewhere holds stronger hits from other loaded documents when the named document matches weakly — it may not cover the topic. Table rows are searched too: a hit found through a table carries matched_table_row (table citation, row labels, cells) — take the numbers from there or from get_table, and cite both the requirement and the table. Records and rows carry tier (verified, checked, unchecked) and page; rows from tables below verified carry check: repeat it ("check against the source, page N") next to any number taken from them. Each hit may carry neighbours: the records next to it in the same clause (a requirement is often split over sibling letters). They are full records with citations; read them before concluding a clause is not covered.

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 tier and page; below verified they also carry check ("check against the source, page N"): give every number from such a table with that flag (an answer that does not repeat it fails the citation check). Omit table_id (empty string) to list the tables of a document.

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 (not_loaded, in_documents_folder, not_in_documents_folder). coverage: "weak" marks a document whose best hit is far below the best hit elsewhere: it may not treat the topic — say so rather than force an equivalence. Coverage is judged on keyword matches: read the hits, and use get_requirement / get_table before comparing.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues