Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
dbt model and column lineage, downstream impact and test proposals; no warehouse or dbt compile
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผู้ทำยังไม่ได้ใส่วิธีติดตั้งใน registry ให้ดู README ของผู้ทำด้านล่าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub sipemu ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.18.0) เข้า registry เมื่อวาน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Rust ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi
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.
List courses; add users to courses, remove course access or delete users in MemberVault.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Every dbt PR gets one comment: what changed, which downstream columns and dashboards it breaks, and what to rebuild. Live demo →
See what a dbt change breaks — downstream models, columns, dashboards and contracts — before it ships. dbt-lineage parses your project directly (no warehouse, no Python, no dbt compile) and puts lineage and impact wherever you work.
| Where | What you get | Get it |
|---|---|---|
| Pull requests (GitHub) | One sticky comment per PR: lineage diff, column impact, affected dashboards, breaking changes, rebuild selector; inline lint annotations | uses: sipemu/dbt-lineage-viewer@v0 · live demo |
| GitLab · Bitbucket · Azure DevOps | The same report as an MR/PR comment, plus Code Quality / Code Insights / build warnings | docs/CI.md |
| VS Code, Cursor, VSCodium | *Show impact of my changes* panel, hover and go-to-definition on ref()/source(), lint diagnostics; binary bundled | VS Code Marketplace · Open VSX |
| Terminal | Lineage, impact, diff, plan, lint, coverage, interactive TUI | pip install dbt-lineage-cli · brew install sipemu/tap/dbt-lineage · cargo binstall dbt-lineage |
| Browser | Static lineage site with column lineage for GitHub/GitLab Pages | dbt-lineage site · demo site |
| BI tools | Dashboards from Metabase, Tableau, Looker, Power BI, Superset and anofox-visualization as dbt exposures | dbt-lineage exposures |
| AI agents | MCP server with lineage, impact and column-lineage tools | dbt-lineage mcp |
| Neovim, Helix | Language server (dbt-lineage lsp) | docs/EDITORS.md |
ref() and source() via a Jinja-aware lexer, no dbt compile neededmanifest.json for column metadata, materializations, and full graph fidelityref()/source() anywhere in Jinja ({% set x = ref('a') %}, dbt_utils.star(from=ref('a')), versioned refs), follows macros that reference models (project and installed packages, including adapter.dispatch), and expands loops over literal lists. Check it on your project with verify; see Accuracyrayon-parallelized parsing and a content-hash cache at .dbt-lineage/cache.bin; warm runs are near-instant on large monorepos. Bypass with --no-cache. See docs/CACHE.mddbt run -s "$(…)"run_results.json with the DAG: slowest models, critical pathsmanifest.json and lists every dependency that differs; exits non-zero when parsing missed onemanifest.json and current SQL files using dbt's recorded SHA-256 (mtime fallback); exits non-zero for CI gatingsqlparser (0.6.0+) handles aliases, JOINs, aggregations, and CTEs with proper transformation classification (Direct, Aliased, Derived)docs/MCP.md for setup and cookbook.summary, search_models, lineage, impact, get_model_details, read_model_sql, column_upstream, column_downstream, lineage_bundle, propose_testreview-impact, propose-tests, explain-column, find-bottleneck, document-model, onboard-project--show-columns inlines column names in node labels; --group-by directory emits Mermaid subgraphs--collapse / --collapse=focal drops intermediate nodes and labels transitive paths with (via N) edges--error-format json writes {level, what, why, hint} to stderr for deterministic agent / CI consumersref() / source(), lineage code lens per model, lint diagnostics. VS Code extension on the Marketplace and Open VSX (code --install-extension sipemu.dbt-lineage-viewer); Neovim and Helix setup in docs/EDITORS.mdratatui) with Unicode box-drawing nodes, orthogonal edge routing, and full mouse supportdbt run / dbt test on selected models with scope control (+upstream, downstream+, +all+) via keyboard menu or right-click context menu-s tag:finance,path:marts filters by tag, path, or model name (comma-separated)--include-tests, --include-seeds, --include-snapshots, --include-exposuresdbt-lineage reads dependencies from your SQL without running dbt, so it can miss dependencies that only exist once Jinja is rendered. dbt-lineage verify measures that on your own project against a manifest.json from dbt parse.
Results on public dbt projects (manifests from dbt parse, dbt Core 1.12 with the DuckDB adapter; packages measured through their integration_tests project). scripts/accuracy/run.py produces this table, and CI runs it on every parser change and weekly, failing on any missed dependency:
| Project | Models compared | Dependencies found | Extra, not in manifest |
|---|---|---|---|
jaffle-shop 5beb145 | 13 | 17 / 17 | 0 |
tuva 465927a | 555 | 1,560 / 1,560 | 5 |
cal-itp data-infra 3801da6 | 625 | 1,192 / 1,192 | 0 |
Fivetran dbt_hubspot 5f00935 | 176 | 280 / 280 | 18 |
Fivetran dbt_jira 1a9f8b4 | 61 | 108 / 108 | 0 |
Fivetran dbt_shopify a033782 | 240 | 414 / 414 | 25 |
Fivetran dbt_quickbooks 0b9da0d | 114 | 210 / 210 | 35 |
Fivetran dbt_netsuite e3c026e | 106 | 183 / 183 | 7 |
Fivetran dbt_zendesk c5f2cfa | 88 | 162 / 162 | 6 |
Fivetran dbt_stripe 7f5d6ae | 65 | 117 / 117 | 2 |
Fivetran dbt_salesforce 8f9e9c0 | 24 | 42 / 42 | 1 |
Every extra dependency sits in a Jinja branch switched off by the project's current vars ({% if var('hubspot_property_enabled') %}). dbt records only the branches it renders; dbt-lineage keeps them so impact analysis doesn't miss a dependency that a var can switch on.
What parsing can't follow: refs whose names are computed at render time from variables or macro return values. verify lists those, and any command reads --manifest for exact lineage when you need it.
Column impact ("removing stg_orders.customer_id breaks orders.customer_id") is measured the same way against a reference: sqlglot column lineage over the SQL dbt compiled after dbt seed and dbt run on DuckDB (scripts/accuracy-columns/). CI re-runs it alongside the model check and fails when a number drops below its baseline.
| Project | From SQL alone | Precision | With compiled SQL + catalog | Precision |
|---|---|---|---|---|
| jaffle-shop | 87 / 87 | 100% | 87 / 87 | 100% |
| tuva | 10,359 / 12,143 | 99% | 12,141 / 12,143 | 100% |
| Fivetran dbt_hubspot | 2,146 / 2,337 | 97% | 2,337 / 2,337 | 100% |
| Fivetran dbt_jira | 713 / 971 | 98% | 971 / 971 | 99% |
| Fivetran dbt_shopify | 5,109 / 5,436 | 98% | 5,436 / 5,436 | 100% |
| Fivetran dbt_quickbooks | 2,055 / 2,993 | 99% | 2,993 / 2,993 | 100% |
| Fivetran dbt_netsuite | 1,118 / 1,831 | 98% | 1,800 / 1,831 | 99% |
| Fivetran dbt_zendesk | 1,553 / 1,665 | 99% | 1,653 / 1,665 | 100% |
| Fivetran dbt_stripe | 1,576 / 1,816 | 96% | 1,809 / 1,816 | 100% |
| Fivetran dbt_salesforce | 661 / 719 | 76% | 719 / 719 | 100% |
From SQL alone, columns of models written in SQL are traced completely, through CTEs, subqueries, joins, unions and select *. Where Jinja writes the SELECT (loops, macros producing column lists or whole queries, as in Fivetran's packages), dbt-lineage renders the model the way dbt compile would, without dbt or a warehouse: the project's and installed packages' macros (dbt_packages/, with adapter.dispatch), vars, and the columns it already knows for each upstream relation (YAML, seed headers, upstream models) answering adapter.get_columns_in_relation. What stays out of reach offline: macros that read data (run_query, pivot
ตัดมาแค่ช่วงต้น อ่านต่อใน repo