Skip to content

MCP tools

The @nesso-how/mcp server exposes four tools. See MCP for setup and workflow.

Fetches documentation pages from this site. Call it without a slug to get a table of contents, or with a slug (e.g. "guides/getting-started") to get the full page content.

Returns the complete list of relation types grouped by category id (taxonomic, structural, and so on from RELATION_CATEGORIES in @nesso-how/vocab-learning), with glyph, symmetry, and type properties (transitive, inverse, strength, polarity, cardinality). Use this whenever you need valid type names for graph JSON or explanations for the learner.

Input: { "graph": "<json string>" }: a Nesso graph document (concepts[], relations[]), not runtime React Flow nodes/edges.

Output: { "valid": boolean, "errors": [{ "path", "message" }], "warnings": [{ "path", "message" }] }

Runs the same envelope and vocabulary validation used by the app: it accepts the current protected baseline, rejects newer unsupported envelope versions, and rejects unsupported alpha elaboration fields. Also performs structural checks: duplicate ids, dangling relation endpoints, and unknown relation types.

valid is true only when errors is empty. The tool returns diagnostics only; it does not produce rewritten or migrated JSON.

Input:

{
"name": "Photosynthesis",
"concepts": [
"Sunlight",
{
"text": "Chloroplast",
"elaboration": { "definition": "..." }
}
],
"relations": [{ "from": "Sunlight", "to": "Chloroplast", "relation": "enables" }]
}
  • concepts: label strings or objects with optional id, text, and elaboration.
  • relations: from / to match concept id or label (must be unambiguous); relation must be a valid type id from get_relation_types.

Output: Pretty-printed graph document JSON ready to write to disk (includes vocabulary, generated ids, and dagre layout positions). FSRS review fields and React Flow edge shape (type: "nesso", handles) are applied by the app on import, not stored in the file.