Space Mushroom MCP
A read-only MCP server providing access to an open engineering materials database. It allows AI agents to find materials, resolve designations, list and prove claims, identify missing data, search sources, compare materials, and retrieve detailed material profiles including JSON and CSV data files.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://spacemushroom.com/mcpWhat you can do with it
- Find materials by name or properties
- Resolve material designations
- Compare material properties side-by-side
- Retrieve source-cited engineering data
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- space-mushroom 0.1.0
- MCP protocol
- 2025-06-18
- Tools
- 11 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
11 advertised
search_materials — Search materials
Find materials by name, abbreviation or formula. Optionally filter by category slug (for example polymers, metals, energy). Returns ids to use with get_material.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"minLength": 1,
"description": "Name, abbreviation or formula, for example \"PEEK\" or \"LiFePO4\""
},
"category": {
"type": "string"
}
},
"additionalProperties": false
}get_material — Get a material
The sourced record of one material: sourced numbers with conditions, method and source location, plus uses, hazards, failure modes, corrosion and supply facts. Optionally narrow to one property or fact topic.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The id from search_materials, for example \"lithium-iron-phosphate\""
},
"topic": {
"enum": [
"use",
"hazard",
"failure",
"corrosion",
"side_effect",
"handling",
"mitigation",
"supply",
"regulation",
"history"
],
"type": "string"
},
"property": {
"type": "string",
"description": "Only claims for this property, for example thermal_runaway_onset"
},
"include_facts": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}compare — Compare materials on one property
Line several materials up on one property, with each value, its conditions and its source. Values are also given in the property's canonical unit (value_canonical), so they can be ranked directly. Values measured under different conditions are listed separately and are not averaged.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"property",
"materials"
],
"properties": {
"property": {
"type": "string",
"description": "For example thermal_runaway_onset or atomic_oxygen_erosion_yield"
},
"materials": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 12,
"minItems": 2,
"description": "Ids from search_materials"
}
},
"additionalProperties": false
}list_properties — List properties
The property names in use, with their canonical unit and whether higher or lower is better. Use these names with get_material and compare.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"type": "string"
}
},
"additionalProperties": false
}get_term — Look up a term
A plain-language definition of a technical term or abbreviation used on material pages, for example ARC, SoC or adiabatic.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"term"
],
"properties": {
"term": {
"type": "string"
}
},
"additionalProperties": false
}find_materials — Find materials that meet requirements
Requirements in, candidates out. Each material gets a verdict: pass (every constraint met by a sourced value), fail, or unknown (no data on a constraint, so it cannot be ruled in or out). Every constraint reports pass, fail or no_data and the strongest evidence level behind it (flown, measured, derived, inferred, estimated, predicted). By default only passes and unknowns are returned, passes first. Context narrows which values count: at_temperature (degrees C; values measured at another temperature do not count), flown_only (only values measured in the real space environment), environment, include_failed, limit. Materials with no data on any constraint are not listed: use what_is_missing to see coverage for one material.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"constraints"
],
"properties": {
"context": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1
},
"flown_only": {
"type": "boolean"
},
"environment": {
"type": "string",
"description": "For example low-earth-orbit"
},
"at_temperature": {
"type": "number"
},
"include_failed": {
"type": "boolean"
}
},
"additionalProperties": false
},
"constraints": {
"type": "array",
"items": {
"type": "object",
"required": [
"property",
"op",
"value"
],
"properties": {
"op": {
"enum": [
">=",
"<=",
"=",
"between"
],
"type": "string"
},
"unit": {
"type": "string",
"description": "Unit of value, for example \"kg/m3\" or \"ksi\"; converted to the property's unit. Omit when value is already in the property's unit."
},
"value": {
"type": "number"
},
"value2": {
"type": "number",
"description": "Upper end, for between"
},
"property": {
"type": "string",
"description": "A registered property, for example density, yield_strength, max_service_temp (see list_properties)"
}
},
"additionalProperties": false
},
"maxItems": 12,
"minItems": 1
}
},
"additionalProperties": false
}list_claims — List the sourced values of a material
Every current sourced value for one material (optionally one property) in canonical units, with evidence level and a claim_id. Use the claim_id with prove_claim to see the exact source and passage.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"material"
],
"properties": {
"material": {
"type": "string"
},
"property": {
"type": "string"
}
},
"additionalProperties": false
}prove_claim — Prove a value
Everything behind one value: as printed in the source, converted, the evidence level and what it means, the conditions, and each source with the place in it (and the passage where we have it).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"claim_id"
],
"properties": {
"claim_id": {
"type": "integer"
}
},
"additionalProperties": false
}what_is_missing — What data is missing
For one material and a list of properties: which have sourced data (and the strongest evidence) and which have none. "no_data" means not covered yet, not known to be safe.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"material",
"properties"
],
"properties": {
"material": {
"type": "string"
},
"properties": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 40,
"minItems": 1
}
},
"additionalProperties": false
}resolve_designation — Resolve a designation
Which material a code names: a UNS number, EN number or name, DIN, JIS, AISI or SAE number, ASTM or AMS specification, or trade name (for example S31600, 1.4401, SUS316, A240). Case, spaces and hyphens do not matter, and a short code also lists the codes that start with it. Each row gives the system, the code, a note (product form or a caveat) and whether the match is exact. A specification such as ASTM A240 covers many grades and returns every material that cites it. A note of "nearest equivalent" means the source itself hedges: do not treat the two as the same grade.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 60,
"minLength": 2
}
},
"additionalProperties": false
}search_sources — Search source passages
Full-text search over short passages quoted from our sources. Returns the passage, the source and the place in it. Passages are still being added, so an empty answer means none indexed yet.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"minLength": 2
}
},
"additionalProperties": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1399 ms
- 95th percentile latency
- 1399 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1399 ms · metadata changed · 11 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http space-mushroom-mcp https://spacemushroom.com/mcpCodex
codex mcp add space-mushroom-mcp --url https://spacemushroom.com/mcpCursor
{
"mcpServers": {
"space-mushroom-mcp": {
"url": "https://spacemushroom.com/mcp"
}
}
}Cline
{
"mcpServers": {
"space-mushroom-mcp": {
"type": "streamableHttp",
"url": "https://spacemushroom.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"space-mushroom-mcp": {
"type": "http",
"url": "https://spacemushroom.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http space-mushroom-mcp https://spacemushroom.com/mcpClaude Desktop
{
"mcpServers": {
"space-mushroom-mcp": {
"url": "https://spacemushroom.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"space-mushroom-mcp": {
"serverUrl": "https://spacemushroom.com/mcp"
}
}
}Let your agent find its tools
Find servers like Space Mushroom MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Space Mushroom MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.