About¶
This site describes seismo-mcp as a general-purpose seismic MCP: the tools, their seismological meaning, and the JSON contracts. It is not an operator manual, not a deployment guide, and not a live playground.
Spec family¶
The contract family is seismo-mcp/v1. That string appears on every
envelope as spec. A breaking change to the envelope or to references
would be a new family. None is planned.
| Thing | Version | Changes when |
|---|---|---|
| Spec family | seismo-mcp/v1 |
Breaking change to the envelope or to references |
| Server | server_version (semver) |
Every release. Minor bump per level |
| Tool | tool_version (semver) |
Patch: same contract, implementation fix. Minor: optional field, new enum value, new warning code. Major is not allowed — publish a new tool name |
| Menus and frozen constants | dated provenance entries | A frozen constant changing is a recorded campaign event |
| Profiles | name@version |
Any field change |
Within v1, contracts are additive. Fields are added only as optional.
Enums only grow. Types are not renamed, removed, or re-typed. A level
release is a set of new tools plus optional profile fields whose defaults
preserve existing behaviour.
Levels¶
Level 1 is the standard tool set: catalogue, inventory, waveform summaries, forward modelling, solutions, external bulletins, guided re-picking, review, and session state. Level 3 adds rendered figures. Later levels add extended analysis and operational write paths. Each level adds tools; it does not modify an existing contract.
What this site is not¶
- A description of any particular institute, host, or network.
- Authentication or access instructions for a running server.
- An interactive MCP console.
- The internal specification. The live contract is the registry; this site translates it for a public reader.
Contract tables and examples on the tool pages are generated from
ToolSpec. Do not treat a hand-copied JSON fragment elsewhere as the
source of truth.
Building the site¶
From the repository root, with the docs extra installed:
cd public-docs && mkdocs build --strict
PYTHONPATH=. python public-docs/scripts/generate_contracts.py --check
The build writes site/, which is not in version control. site_url in
mkdocs.yml is configuration only.