Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Deterministic, read-only TRIZ: matrix, principles, effects, routing, type-checked function models.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
TRIZ_DATA_DIR, TRIZ_GRAPH, TRIZ_REGISTRYต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"triz": {
"command": "npx",
"args": [
"-y",
"triz-mcp"
],
"env": {
"TRIZ_DATA_DIR": "ใส่ค่าของคุณ",
"TRIZ_GRAPH": "ใส่ค่าของคุณ",
"TRIZ_REGISTRY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add triz --env TRIZ_DATA_DIR='ใส่ค่าของคุณ' --env TRIZ_GRAPH='ใส่ค่าของคุณ' --env TRIZ_REGISTRY='ใส่ค่าของคุณ' -- npx -y triz-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"triz": {
"command": "npx",
"args": [
"-y",
"triz-mcp"
],
"env": {
"TRIZ_DATA_DIR": "ใส่ค่าของคุณ",
"TRIZ_GRAPH": "ใส่ค่าของคุณ",
"TRIZ_REGISTRY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"triz": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"triz-mcp"
],
"env": {
"TRIZ_DATA_DIR": "ใส่ค่าของคุณ",
"TRIZ_GRAPH": "ใส่ค่าของคุณ",
"TRIZ_REGISTRY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
TRIZ_DATA_DIR envTRIZ_GRAPH envTRIZ_REGISTRY envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub sv ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.5.1) เข้า registry 7 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Apify MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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
ตัดมาแค่ช่วงต้น อ่านต่อใน repo