Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Deterministic, read-only TRIZ: matrix, principles, effects, routing, type-checked function models.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
TRIZ_DATA_DIR, TRIZ_GRAPH, TRIZ_REGISTRYDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"triz": {
"command": "npx",
"args": [
"-y",
"triz-mcp"
],
"env": {
"TRIZ_DATA_DIR": "your-value",
"TRIZ_GRAPH": "your-value",
"TRIZ_REGISTRY": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add triz --env TRIZ_DATA_DIR=your-value --env TRIZ_GRAPH=your-value --env TRIZ_REGISTRY=your-value -- npx -y triz-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"triz": {
"command": "npx",
"args": [
"-y",
"triz-mcp"
],
"env": {
"TRIZ_DATA_DIR": "your-value",
"TRIZ_GRAPH": "your-value",
"TRIZ_REGISTRY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"triz": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"triz-mcp"
],
"env": {
"TRIZ_DATA_DIR": "your-value",
"TRIZ_GRAPH": "your-value",
"TRIZ_REGISTRY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
TRIZ_DATA_DIR envTRIZ_GRAPH envTRIZ_REGISTRY envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto sv bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.5.1) kam vor 7 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, topo^alpin
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
An agent skill that applies TRIZ to real problems — products, services, processes, organizations, markets, and technical systems — plus a deterministic MCP server so the agent can only cite principles and matrix cells it has looked up, never ones it recalled.
Two parts, usable separately:
| Part | Path | What it is |
|---|---|---|
triz-innovation skill | skills/triz-innovation/ | SKILL.md, references, and the canonical JSON knowledge base |
triz MCP server | src/ | Read-only stdio MCP server over the same JSON |
An LLM asked for "the TRIZ principles for this contradiction" will produce plausible principle numbers from memory. The matrix is a lookup table, not a reasoning step, so recall is the wrong mechanism for it — and a wrong cell silently poisons everything downstream. This repo makes the lookup deterministic and fail-closed: a blank or diagonal cell returns covered: false with a pointer to the canonical reference, never a guess.
The skill itself is method, not vocabulary: frame → diagnose → model → synthesize → substantiate, with the matrix used only where both sides of a contradiction credibly map to engineering parameters.
Copy or symlink skills/triz-innovation/ into wherever your agent loads skills from — e.g. .claude/skills/, .agents/skills/, .codex/skills/, or a $SKILLS_DIR your harness reads:
git clone https://github.com/sv/triz-skill.git
ln -s "$PWD/triz-skill/skills/triz-innovation" ~/.claude/skills/triz-innovation
Once the repo is listed on skills.sh the shorthand becomes npx skills add sv/triz-skill.
The skill works standalone. The MCP server is what removes recall from the loop.
Published package (preferred once released):
npx -y triz-mcp # stdio server, no checkout needed
From a checkout:
pnpm install
pnpm start # stdio server pnpm test # deterministic lookup regressions pnpm typecheck
Register it (.mcp.json in this repo is a working example):
{
"mcpServers": { "triz": { "type": "stdio", "command": "npx", "args": ["tsx", "/path/to/triz-skill/src/server.ts"], "env": { "TRIZ_DATA_DIR": "/path/to/triz-skill/skills/triz-innovation/data" } } } }
TRIZ_DATA_DIR is only needed when the server runs outside this repo's layout; otherwise the data dir is resolved relative to the repo root and the server fails closed with a clear message if it is missing.
src/worker.ts serves the same tools, except the optional triz_graph and triz_purpose and triz_export format svg, as a Cloudflare Worker over stateless streamable HTTP (deploy with npx wrangler deploy; endpoints /mcp and /health). It has no authentication and allows any origin (Access-Control-Allow-Origin: *) on purpose: it is a stateless, read-only public utility with no storage bindings and no secrets, so any client or web page may drive it. An operator who wants it private can check a token in fetch before the MCP handler, list allowed origins instead of *, or put it behind Cloudflare Access or a rate limit. Calling a hosted endpoint sends your model to whoever runs it; keep private models on the local stdio server.
One line per workflow stage; the table below has one row per tool. What each model tool's verdict means, and how to chain the tools, is in categorical-model.md; the theory behind them, and exactly what is and is not claimed, is in docs/theory-map.md.
| Stage | Tools | What they do |
|---|---|---|
| Lookup | triz_parameter, triz_principle, triz_matrix, triz_matrix_multi, triz_resolve, triz_effects, triz_route, triz_tool_catalog, triz_evals | Read the canonical data: parameters, principles, matrix cells, effects, the method router, and the eval suites |
| Model | triz_build_model, triz_expand_hierarchy, triz_subsystem_contract, triz_function_model, triz_nine_windows, triz_abstraction, triz_export, triz_isomorphism, triz_behavior_refinement, triz_subsystem_summary | Write the system as a typed function model, view it per level and time, relate coarse and detailed models, draw it |
| Check | triz_function_model, triz_trim, triz_separate, triz_flow, triz_global_separation, triz_queue, triz_conservation | Type errors, harm loops, ideality; trim candidates; whether a contradiction separates; flow bottlenecks |
| Transform | triz_transform, triz_rule_apply, triz_trim_rewrite, triz_rewrite_pair, triz_rule_set | Apply one typed move or a rewrite rule; the result type-checks or the call fails closed |
| Decide | triz_behavior, triz_weakness, triz_dynamics, triz_feasibility, triz_adequacy, triz_implementations, triz_absorber_assignments, triz_synthesize | From declared rows: is behaviour preserved, which concept is weakest, does it escalate, does it fit the budget |
| Relax & rank | triz_feasibility relaxation, triz_pareto | When the budget says no, the minimal raises that say yes; candidate designs compared jointly, with trade-offs instead of a hidden scalarization |
| Local | triz_import_source, triz_review_import | Draft models from local sources, then record explicit analyst confirmation |
| Optional | triz_graph, triz_purpose | A project's own network of problems (stdio server only; see below) |
| Tool | Purpose |
|---|---|
triz_parameter | Get one of the 39 engineering parameters with alternate labels and interpretation guidance; omit id to list all |
triz_knowledge | List universal and domain knowledge packs, provenance, review status and explicit quantity parameters; all packs by default |
triz_principle | Get one of the 40 inventive principles; omit id to list all |
triz_matrix | Retrieve a canonical contradiction-matrix cell; blank cells fail closed |
triz_matrix_multi | Every (improving × worsening) cell for multi-parameter conflicts, aggregated by recommendation frequency |
triz_resolve | Retrieve a cell and expand its parameters and principles |
triz_tool_catalog | List the routed TRIZ tool catalog, optionally by stage; entries name the MCP tools (mcp_tools) that carry out their method |
triz_effects | Search all installed effects packs by function, category or typed quantity; optional domain/pack filters |
triz_effect_setup | Build a typed model from registered effect ids and explicit finite/resource declarations |
triz_route | Select candidate tools by stage and observed problem signals |
triz_evals | Return the neutral lookup and reasoning evaluation suites |
triz_build_model | Build a typed model from explicitly rated component interactions, with stable ids, lints, and a bounded completeness report |
triz_expand_hierarchy | Expand an inner model with explicit checked flow routes, media mappings, and opt-in budget, weight and contradiction policies |
triz_subsystem_contract | Distinguish a declared interface summary from one checked against complete inner behavior and a supported resource mode |
triz_import_source | Local only (stdio server and triz CLI): draft BOM, OpenAPI, Quint, Lean or Julia inputs with embedded source locations and pending review |
triz_review_import | Local only (stdio server and triz CLI): confirm every pending rating and assumption while retaining source provenance |
triz_function_model | Type-check a TRIZ function model (typed wiring diagram); harm loops, ideality per dimension, separation, baseline comparison with an isomorphism check; mpv_weights for a comparison over the main parameters of value |
triz_trim | Screen trimming by MATRIZ rules A/B/C; carrier-typed absorbers, trimming problems, and level problems for excessive or insufficient functions |
triz_separate | Decide whether a physical contradiction separates over space, time, condition, direction, or system level; optionally index it by one axis (Principle 15 along time); each separated pair gets suggested operations that could build the separation (hints, not verdicts) |
triz_transform | Apply one typed move — a construction for one of 13 principles, an applied trim, or a rewrite; fails closed |
triz_rule_apply | Double-pushout rewriting with rules as data: list a rule's matches, apply one; built-in evolution-line rules (mono → bi, self-adjusting feedback, changing the working field) and the uneven-development detector (the lagging subsystem) |
triz_nine_windows | System-operator views: subsystem restriction, system, supersystem collapse, per time; transitions between times as checked triz_transform sequences; with declared rows, behaviour, weakness, and feasibility verdict changes between times, and flow candidates when flows are declared; returns the models transitions derive |
triz_export | Export a model that type-checks as Graphviz DOT, a Mermaid flowchart, a self-contained SVG picture, or an open hypergraph |
triz_behavior | Compose declared box behaviour into the input→deliverable relation (steady states, relational trace); with compare_to (and box_map), decide whether a concept such as a transform result preserves it; trim is shorthand; joint_boxes computes a coupled multi-box residual with projection-safety checks; one-hole weakest_spec can price missing producible rows using explicit row_costs |
triz_weakness | Rank modelled concepts by the situations they admit, by inclusion, with incomparable pairs; counts second; acceptable values listed or derived from a threshold through the carrier's levels |
triz_pareto | Rank candidate designs jointly over declared metric vectors (feasibility resources, lifecycle figures, component counts, costs): the nondominated frontier, dominance witnesses, and trade-offs between incomparable candidates; weights order the listing only |
triz_dynamics | Bounded runs of boxes with declared state (nondeterministic Mealy machines): escalation into an unsafe set with a shortest trace, invariance of a safe set, separation in time along one run; loops classified as bistable, trapped (inside the unsafe set), recurrent (meets it but can recover), or oscillating |
triz_feasibility | Monotone co-design (Censi 2015): minimal resource vectors from declared box feasibility, by Kleene's ascent to the least fixpoint; an infeasible verdict also returns relaxation, the nondominated minimal budget raises (each with its row-selection witness) or the smallest per-port capability raises; with trim, decide whether the remaining boxes provide what the trim leaves them within budget, and the absorber's added resources; with carrier levels, the rows that disagree with declared behaviour |
triz_abstraction | Check that a coarse model is an abstraction of a detailed one under a map of boxes, ports, and carriers: total, typed, every coarse function and harm loop the image of a detailed one; forgotten and hidden harms listed |
triz_flow | Flow analysis over declared flow paths (boxes in series): per flow, bottleneck, accumulation, and leak candidates, and loops |
triz_graph | Optional: analyse a project's OTSM Network of Problems (see below) |
triz_adequacy | Require nonblocking and acceptable outputs at every required operating input |
triz_isomorphism | Verify or search an annotation-preserving value/state/wiring bijection |
triz_behavior_refinement | Check exact complete whole-model relation inclusion under an explicit interface/value map |
triz_subsystem_summary | Compose an exact stateless boundary summary and report hidden harms |
triz_implementations | Require one named implementation to meet behavior, resources and declared-harm constraints together |
| triz_absorber_assignments | Evaluate complete absorber assignments over every co
Nur der Anfang wird gezeigt; den Rest findest du im Repo