Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Give Claude complete understanding of your software project.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้
พิมพ์คำสั่งนี้ใน Terminal
เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub devznsh ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี MCPB ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, dotnet-mcp
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.
MCP server for .NET symbols, XAML, source generators, and restricted workspace edit
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Give Claude complete understanding of your software project.
Point it at a repository on your machine. It reads every file, extracts symbols with tree-sitter, resolves imports into a call graph, ingests git history, and exposes the whole thing to Claude as precise retrieval tools.
Then you can ask the questions you actually have — *"where is rate limiting handled?"*, *"what breaks if I change this?"* — and get real file paths and line numbers instead of plausible-sounding guesses.
Everything runs locally. This extension makes no network requests of any kind.
You: where does indexing decide a file has changed?
3 matches for "where does indexing decide a file has changed"
method IndexingService.index — src/core/services/index-repository.ts:171-186 why: text match; 15 inbound references; 6 matches in this file
const hash = contentHash(buffer); const previous = known.get(scanned.relPath); ... if (mode === 'incremental' && previous === hash) { unchanged.push(scanned.relPath); continue; }
That why: line is the point. Results are ranked by how structurally central they are — inbound references, export status, architectural role — not by how many times a word appears. A file that *mentions* caching loses to the one that *implements* it.
| You ask | What happens |
|---|---|
| *"Where is payment handled?"* | Expands the concept into the mechanisms code actually uses — stripe, charge, invoice, checkout — then ranks by structural importance |
*"What calls validateToken?"* | Every call site, with heuristic matches labelled as such so you know what to double-check before a rename |
*"What happens when a request hits /login?"* | Traces the call path from route handler to core logic, rendered as a sequence diagram |
| *"Get me oriented in this repo"* | Stack, entry points, layer structure, hotspots, existing docs — every claim cited |
| *"Is anything dead here?"* | Unreferenced non-exported symbols, with an explicit warning about what static analysis cannot see |
| *"Draft an onboarding guide"* | Assembles one from the index; a separate tool writes it, and only with your explicit approval |
Eighteen tools in total — see [docs/TOOLS.md](docs/TOOLS.md).
Full symbol extraction — TypeScript · TSX · JavaScript · JSX · Python · Go · Java · Kotlin · C# · Rust · C · C++ · YAML · JSON
Text-searchable only — SQL · Markdown · Dockerfile · Terraform *(grammars not yet vendored; files are indexed and searchable, but no symbols are extracted)*
Anything else is still catalogued and searchable as text.
From a release — download throughline.mcpb, then in Claude Desktop go to Settings → Extensions → Advanced settings → Install Extension. You'll be asked which directories the connector may read.
From source — see [docs/INSTALL.md](docs/INSTALL.md):
npm install
npm run grammars # vendor tree-sitter WASM grammars npm run build npm run smoke -- . # watch it index itself
Requires Claude Desktop on macOS or Windows. Node ships with Claude Desktop, so there's nothing else to install.
getUserById. Show me every caller and flag the risky ones."*src/billing."*A two-pass pipeline. Pass 1 parses every file with tree-sitter in parallel, with no shared state. Pass 2 has the global view and resolves names into a symbol table, import graph and call graph.
Search fuses a BM25 lexical ranker with a symbol-name ranker using reciprocal rank fusion, then re-ranks by graph centrality. RRF uses rank *position* only, so rankers with incomparable score scales compose without calibration — and the graph re-rank is what makes a conceptual query find the implementation rather than the twelve files that merely mention it.
The design rationale, including eleven decisions and what each traded away, is in [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
Effective date: 2026-01-01 · Last updated: 2026-01-01
Throughline is a local desktop extension. It runs entirely on your computer as a child process of Claude Desktop.
An index is written to .throughline/index.db inside each project directory you granted. It contains file paths, symbol names and signatures, documentation comments, import relationships, call edges, git metadata, and excerpts of your source code used for search.
The index never leaves your machine. Deleting the .throughline directory deletes it completely. Uninstalling the extension leaves it in place; remove the directory yourself if you want it gone.
The extension makes no network requests of any kind. No telemetry, no analytics, no crash reporting, no update check, no remote API. This is structural rather than a promise: it opens no sockets, and git operations read the local object database directly rather than contacting a remote.
The boundary is worth stating plainly. When Claude calls a tool, the tool's response — code snippets, file paths, symbol names from your project — is returned to Claude and therefore processed by Anthropic under Anthropic's Privacy Policy, exactly as if you had pasted that code into a conversation yourself. The connector controls what leaves your machine only insofar as it controls what it returns; it returns scoped, bounded excerpts rather than whole repositories, and redacts secrets first. If you don't want a directory's contents reaching Claude, don't grant that directory.
Before any content is stored or returned, it is scanned for credential patterns — API keys, tokens, private keys, connection strings, passwords in assignments — and matches are replaced with [REDACTED:kind]. Redaction happens at write time, so secrets are never persisted in the index either.
This is a safety net, not a guarantee. Pattern matching cannot catch every secret. Don't grant access to directories containing credentials you wouldn't want in a conversation, and use security.denyGlobs to exclude sensitive paths.
Read-only by default. The single tool that can write — write_documentation — requires both that you enable writes in settings and that you confirm the specific write after seeing a preview of the exact content. It writes only inside granted directories, only to a path you name.
No data is shared with anyone. There is no server, no account, no third party. Retention is entirely under your control: the index lives in your project directory and is deleted when you delete it. This is a developer tool not directed at children and collects no personal information from anyone.
Questions or concerns: open an issue.
The full policy, including the exact redaction patterns and the data model, is in [docs/PRIVACY.md](docs/PRIVACY.md).
git.stdout carries only JSON-RPC; all diagnostics go to stderr.Threat model: [docs/SECURITY.md](docs/SECURITY.md).
Optional. Drop a connector.config.json in your project root to tune excludes, limits and search behaviour — see connector.config.example.json and [docs/CONFIGURATION.md](docs/CONFIGURATION.md).
Worth knowing before you rely on it:
exact or heuristic; heuristic ones can be wrong.git blame -M does.[docs/CONTRIBUTING.md](docs/CONTRIBUTING.md). Adding a language is usually a grammar, a .scm query file and a registry row — the pipeline shouldn't need to change.
MIT — see LICENSE.
Built for the Model Context Protocol .