Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
CSS intelligence for AI coding agents — surgical style context, fewer tool calls. 100% local.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"cssgraph": {
"command": "npx",
"args": [
"-y",
"cssgraph"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add cssgraph -- npx -y cssgraphวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"cssgraph": {
"command": "npx",
"args": [
"-y",
"cssgraph"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"cssgraph": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cssgraph"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub mack-peng ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.3) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, BankBridge
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.
Works in any MCP agent, including local models. Read-only bank accounts, spending, investments.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Surgical style context · fewer tool calls · faster answers · 100% local
When an AI agent needs to understand CSS — where is .btn-primary defined, what properties does it have, which selectors cascade over it, which JSX components reference it — it discovers style the slow way: grep, glob, and Read, one file at a time, reconstructing the cascade by hand.
cssgraph hands the agent the exact style context it needs in one call. It's a pre-built knowledge graph of every className, CSS property, variable, and at-rule in your stylesheets — so instead of crawling files, the agent asks one question and gets back the properties, overrides, specificity, callers, and file-level impact in full.
Copy and paste this prompt to your LLM agent (Claude Code, Cursor, Codex, etc.):
Install and configure cssgraph by following the instructions here:
https://raw.githubusercontent.com/mack-peng/cssgraph/main/docs/guide/installation.md
Or read the Installation Guide, but seriously, let an agent do it. Humans fat-finger configs.
Fetch the installation guide and follow it:
curl -s https://raw.githubusercontent.com/mack-peng/cssgraph/main/docs/guide/installation.md
npm i -g cssgraph
cd your-project cssgraph init --workers 8
Indexes all style files (CSS, SCSS, Less, Sass), JSX/TSX className references, CSS-in-JS, CSS Modules, and view templates (ERB/Haml/HTML) — enabling every MCP tool.
Pass --workers to control parallel parse threads (default: cpu cores - 1).
Requires Node.js >= 22.5.0 (for node:sqlite).
cssgraph mcp-install
Auto-detects and configures opencode, Claude Code, Cursor, Codex CLI, Gemini CLI, Hermes Agent, Antigravity IDE, and Kiro. Writes MCP server config, instructions block, and an Agent Skill (SKILL.md + references/pitfalls.md) that teaches agents when to use each of the 13 cssgraph tools, how to chain them into workflows, and what pitfalls to avoid.
Or add to any MCP agent manually:
{
"mcpServers": { "cssgraph": { "type": "stdio", "command": "cssgraph", "args": ["serve", "--mcp"] } } }
Auto-sync is enabled by default. The MCP server watches your project and updates the graph on every file change — while your agent edits code, or you add/modify/delete CSS files. The index is never stale.
┌───────────────────────────────────────────────────────────┐
│ AI Agent │ │ │ │ "What code files use .btn-primary?" │ │ calls cssgraph_rule — one tool call │ │ │ │ └─────────────────────────────┬─────────────────────────────┘ │ ▼ ┌───────────────────────────────────────────────────────────┐ │ cssgraph MCP Server │ │ │ │ rule · O(1) exact selector lookup · loose/strict impact │ │ explore · properties + overrides + specificity + callers │ │ │ │ │ ▼ │ │ SQLite knowledge graph │ │ classNames · properties · variables · at-rules │ │ edges · FTS5 full-text search │ └───────────────────────────────────────────────────────────┘
styled.div), JSX className references, and template class attributes extracted from .jsx/.tsx/.erb/.haml files..cssgraph/cssgraph.db) with FTS5 full-text search. WAL-mode + batch commits for write performance. FTS triggers and unique indexes are deferred during bulk load for speed.contains (selector→property), nests (parent→child selector), overrides (higher specificity selector overrides lower), imports (file→imported file), references (JSX/view file→className, property→CSS variable).git ls-files for instant file discovery. Falls back to filesystem walk on non-git projects.Promise.all. Parses complete concurrently; results flushed in file order for correctness.cssgraph init [path] [-w, --workers <n>] # Initialize + build graph
cssgraph index [path] [-w, --workers ] # Rebuild from scratch cssgraph query # Search for className selectors cssgraph explore # Full style context for a className cssgraph details # O(1) exact selector → file:line lookup cssgraph rule [--strict] # Selector impact: exact + loose/strict files cssgraph impact-selector # Code files affected by a selector cssgraph impact # Blast radius of changing a className cssgraph unused # Find unreferenced class selectors cssgraph cascade # Visualize cascade path cssgraph diagnose [chain...] # Static anchor diagnosis (height/scroll) cssgraph property # Search by CSS property value cssgraph files [path] # Project style file tree cssgraph status [path] # Index statistics cssgraph sync [path] # Incremental update cssgraph serve --mcp # Start MCP server cssgraph mcp-install # Auto-wire to your AI agent (alias: install) cssgraph skill-install # Install/update SKILL.md only (no MCP config changes) cssgraph skill-uninstall # Remove SKILL.md only (no MCP config changes) cssgraph mcp-uninstall # Remove from your AI agent (alias: uninstall) cssgraph version # Print installed version
cssgraph always scans:
className references, CSS-in-JS, CSS Modules.erb, .haml, .html files for class="..." attributes and Haml .classname shorthandThis enables cssgraph_impact, cssgraph_callers, and cssgraph_rule to track both component files AND template files that reference each className.
| Project | Total files | First index | Nodes | Edges |
|---|---|---|---|---|
| Small | ~50 | ~15s | ~16K | ~50K |
| Production monorepo | ~11K | ~3-5m | ~780K | ~22M |
| Tool | Purpose |
|---|---|
cssgraph_explore | PRIMARY: Full style context for a className — properties, overrides, specificity, callers |
cssgraph_search | Search for className selectors by name |
cssgraph_callers | Find JSX components referencing a className |
cssgraph_impact | Blast radius of changing a className |
cssgraph_rule | Blast radius of a full CSS selector (exact match + loose/strict file impact) |
cssgraph_impact_selector | Find code files (JS/TS/JSX/TSX) affected by a CSS selector |
cssgraph_details | O(1) exact selector lookup (no edges, lightweight) |
cssgraph_unused | Find class selectors with no incoming references |
cssgraph_cascade | Visualize the cascade path for a className |
cssgraph_diagnose | Static anchor diagnosis for scroll/height issues — classifies height declarations as DEFINITE / INDEFINITE / UNVERIFIABLE along the ancestor chain |
cssgraph_property | Search selectors by CSS property value |
cssgraph_files | Indexed style file tree |
cssgraph_status | Index health check |
cssgraph is a static analysis tool — it reads your source code and answers where a class is defined, what cascades over it, and what a change would affect. For runtime questions — what a page actually renders in a browser (overflow, scroll chains, computed height chains, containing block hijacks) — use cssprobe-cli, which opens a real browser and reads computed styles plus DOM metrics. The two tools complement each other:
| cssgraph (static) | cssprobe-cli (runtime) | |
|---|---|---|
| Analyzes | source code (CSS/SCSS/Less + JSX/TSX + templates) | live browser (computed styles + DOM) |
| Answers | where a class is defined, cascade, impact, unused CSS | actual rendered layout, overflow, scroll, height chains |
| When | before/without a browser | after static analysis, to verify at runtime |
| Usage | cssgraph init + explore/rule/impact | open + inspect/layout/findings |
Recommended workflow for a style problem — go static first, then verify at runtime:
# 1. Static: find the definitions, cascade, and blast radius (cssgraph)
cssgraph explore .btn-primary cssgraph cascade .btn-primary
npm i -g cssprobe-cli cssprobe-cli open https://example.com cssprobe-cli inspect .btn-primary cssprobe-cli findings .btn-primary
Install: npm install -g cssprobe-cli (requires Node.js >= 22.5.0). See npm / GitHub.
| Language | Extension | Extraction |
|---|---|---|
| CSS | .css | PostCSS standard |
| SCSS | .scss | postcss-scss plugin |
| Less | .less | postcss-less plugin |
| Sass (indented) | .sass | Compile → PostCSS |
| PostCSS custom | .pcss | PostCSS standard |
| JSX / TSX | .jsx .tsx | className + CSS-in-JS |
| JavaScript / TypeScript | .js .ts .es6 | className + CSS Modules |
| ERB (Rails) | .erb | class="..." extraction |
| Haml (Rails) | .haml | .classname + {:class =>} extraction |
| HTML | .html | class="..." extraction |
| CSS Modules | .module.css .module.scss .module.less | Dynamic import resolution |
| Tailwind | tailwind.config.js + CSS @theme | v3 JS config + v4 CSS config |
| Project | Total files | First index | Nodes | Edges |
|---|---|---|---|---|
| Small | ~50 | ~15s | ~16K | ~50K |
| Production monorepo | ~11K | ~3-5m | ~780K | ~22M |
Zero-config by default. Optional .cssgraph.json at your project root:
{
"exclude": ["static/vendor/", "/legacy/"], "extensions": { ".pcss": "css" } }
Built-in default excludes (always applied): **/*.test.*,
ตัดมาแค่ช่วงต้น อ่านต่อใน repo