Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Hosted code graph over MCP: exact callers, dependencies, and cross-repo blast radius for AI agents.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.symvanta.com/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http code-graph https://mcp.symvanta.com/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"code-graph": {
"url": "https://mcp.symvanta.com/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"code-graph": {
"type": "http",
"url": "https://mcp.symvanta.com/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.symvanta.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน symvanta.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Georgia 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.
An MCP server for Georgian public data, read from the organizations that publish it.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
One-step setup for working in a Symvanta-indexed codebase. Installing this plugin:
https://mcp.symvanta.com/mcp, configurable for on-prem / self-hosted, OAuth on first connection), so you do not edit .mcp.json by hand;symvanta skill with the full tool decision matrix and conventions;Each command routes to the right Symvanta MCP tool so you do not have to remember tool names:
/symvanta:ask [question]: answer a behavior question (how does X work, why does Y happen) via ask_codebase, with file citations./symvanta:blast [symbol]: blast-radius safety check before editing a symbol./symvanta:trace [symbol]: map a function's call chain, callers, and dependencies./symvanta:route [METHOD /path]: find the handler for an HTTP route./symvanta:status: connection and index health snapshot (project, repositories, freshness, edge counts)./symvanta:architecture: high-level module map (Louvain functional modules, PageRank hubs, cross-module coupling, and the repo-wide load-bearing functions) via map view:"architecture"./symvanta:scope [symbol or change]: pre-flight scope/impact estimate before you size a change (estimate_scope)./symvanta:branch [name | clear]: pin this session's reads to a tracked feature branch, or clear the pin (ref)./symvanta:working-tree: overlay your uncommitted edits so the graph reflects changes you have not pushed (ref op:"index_working_tree")./symvanta:tests [symbol]: find the tests that cover a symbol (list_tests_for)./symvanta:recent [path]: recently changed files and recent commits (history)./symvanta:setup [local]: write the Symvanta routing block into the project's CLAUDE.md (or CLAUDE.local.md with local). Re-running replaces the marked block in place. Subagents read CLAUDE.md, so the routing reaches them too.In Claude Code:
/plugin marketplace add https://symvanta.com/plugin/marketplace.json
/plugin install symvanta@symvanta
Sign in with OAuth when prompted on first connection. Your workspace's Getting Started page in the Symvanta dashboard shows the exact marketplace URL for your account.
The plugin points at Symvanta Cloud (https://mcp.symvanta.com/mcp) by default, so Cloud users configure nothing. To point at a different Symvanta server, set the Symvanta MCP server URL (mcpUrl) plugin option: accept or change it when you enable the plugin, or later via the /plugin interface (Symvanta -> configure). Leave it blank to fall back to the Cloud default.
Use the full endpoint URL including the `/mcp` path, with no trailing slash, for example https://mcp.your-company.com/mcp. A bare host or a trailing slash will fail to connect.
Authentication. Every Symvanta MCP server (Cloud, staging, or on-prem) advertises its own OAuth endpoints, so Claude Code signs you in with OAuth on first connection whatever URL mcpUrl points at, nothing to configure in the plugin. On-prem supports the same OAuth flow: its gateway completes sign-in against your Symvanta cloud / license and the server verifies the issued token. Static API-key / bearer-token auth also exists for headless automation, but that is configured on the server or in your own MCP settings, not in this plugin.
/plugin update symvanta@symvanta
Then restart Claude Code. Claude Code reads the plugin (including hooks/hooks.json) when it loads, not continuously, so a running session keeps the previously loaded version until you restart. Until then a /plugin update is downloaded but not active.
The plugin executes small, readable Node hook scripts locally:
session-start.js: prints standing context once at the start of a session. Reads the checkout's git remote (owner/name) so it can tell the agent to call init with repository set to it, which binds the session to the project that holds this checkout instead of the workspace default. Sends nothing anywhere.lib.js). Each can only add context, never block: every error, timeout, or missing token is a clean pass-through, and the intercepted tool always runs untouched. Every hook first checks that the checkout it fires in is attached to a Symvanta project (one init call per checkout per ten minutes, memoized); a checkout attached nowhere, or a git checkout with no remote, keeps the hooks silent, so you never see another codebase's symbols while working in an unindexed one.grep-augment.js: on Grep/Glob, looks up matching indexed symbol definitions (scoped to the repo you are searching, up to two identifiers from the pattern in parallel, 60s cache) and adds them alongside the raw search results.edit-augment.js: on Edit/Write of a code file, injects the edited symbol's blast radius (upstream symbol count, files, layers, cross-repo edges, risk tier) before the change lands; a Write over an existing file lists the definitions the overwrite replaces. New files and non-code files stay silent.read-augment.js: on the first Read of a code file per session, injects the file's symbol skeleton (names, kinds, line bounds) plus any architecture decision records anchored to it. Repeat reads exit instantly.grep-rescue.js: after a Grep that found nothing, suggests graph candidates (auto text/semantic search) so a dead end becomes a lead; a grep with results exits right after the stdin parse, no reads, no network.prompt-augment.js: identifier-shaped tokens in your message (backticked spans, snake_case, camelCase) resolve to indexed definitions at turn start. Plain prose never qualifies, so conversational prompts stay silent.To call the graph they need your Symvanta MCP token. They reuse the one Claude Code already stored when you connected, so there is no setup. The read is deliberately narrow and each script is short enough to audit in minutes:
mcpOAuth[ ].accessToken from ~/.claude/.credentials.json (on macOS, Claude Code stores this in the login Keychain instead, under service Claude Code-credentials, so the hooks read that when the file is absent). Never your Anthropic token (claudeAiOauth) or any non-Symvanta server's token.~/.symvanta/, never uploaded anywhere: grep-cache/ (the 60s result cache, one small file per key), repo-cache.json (path-to-repo memo), workspace-cache.json (per-checkout attachment memo, 10 minutes), keychain-cache.json (macOS only: a 5-minute memo of the Keychain read, so a busy session doesn't shell out to security on every tool call), read-seen/ (per-session first-read markers), and grep-augment.log (one JSONL line per run: hook, terms, repo, match count, latency, cache hit). The log exists so /symvanta:status can show what the hooks are doing; delete any of these files anytime.Switches (restart Claude Code after changing):
# Supply your own token instead (dashboard -> Settings -> MCP connection ->
export SYMVANTA_MCP_TOKEN=" "
export SYMVANTA_AUGMENT=off # the legacy SYMVANTA_GREP_AUGMENT=off also works
export SYMVANTA_EDIT_AUGMENT=off # Edit/Write blast radius export SYMVANTA_READ_AUGMENT=off # first-read skeleton + ADRs export SYMVANTA_GREP_RESCUE=off # empty-grep suggestions export SYMVANTA_PROMPT_AUGMENT=off # prompt term lookup
You can also delete any hook's block from hooks/hooks.json to remove it entirely.
Bash and every tool without a hook above run untouched. All code navigation happens through the Symvanta MCP server over HTTPS, gated by OAuth. No telemetry, no background processes.
Every gate fails safe to the same pass-through, and both pass-through and success land on "Grep runs normally": the hook can only add context, never block or delay the search to failure. SYMVANTA_GREP_AUGMENT=off short-circuits before anything is read or sent.
flowchart TD
A["Agent runs Grep or Glob"] --> B{{"Claude Code fires the PreToolUse hook"}} B --> D{"SYMVANTA_GREP_AUGMENT = off?"} D -->|yes| RUN["Grep/Glob runs normally; results unchanged"] D -->|no, default| TX["Extract up to 2 identifiers from the pattern; derive the repo from the search path"] TX --> CACHE{"Fresh 60s cache hit?"} CACHE -->|yes| F["Format matching definitions as additionalContext"] CACHE -->|no| TOK["Token: SYMVANTA_MCP_TOKEN, else the stored Symvanta token from ~/.claude/.credentials.json (macOS: login Keychain)"] TOK --> C["quick_lookup per term, in parallel, repo-scoped, hard cap 1.5s; falls back to locate mode:symbol"]
subgraph cloud["Symvanta cloud (only the search TERMs leave your machine)"] C --> M["mcp.symvanta.com"] M --> DB[("Code graph in Postgres")] DB --> M end
C --> OK{"Token valid and matches, in time?"} OK -->|no, error, or timeout| LOG["Append one line to ~/.symvanta/grep-augment.log"] OK -->|yes| CW["Cache for 60s"] --> F F --> EM["Emit JSON to Claude Code"] --> LOG LOG --> RUN RUN --> O["Agent sees its grep results PLUS the Symvanta definitions, then reaches for find_node / relate / ask_codebase"]
/plugin uninstall symvanta@symvanta
/plugin marketplace remove symvanta
.claude-plugin/plugin.json manifest + MCP server registration
hooks/hooks.json SessionStart + augment family wiring (PreToolUse, PostToolUse, UserPromptSubmit) hooks/session-start.js standing-context injector hooks/lib.js shared augment core (auth, transport, cache, log) hooks/grep-augment.js Grep/Glob definition augmenter hooks/edit-augment.js Edit/Write blast-radius augmenter hooks/read-augment.js first-read file skeleton + ADR augmenter hooks/grep-rescue.js empty-grep graph suggestions (PostToolUse) hooks/prompt-augment.js prompt identifier lookup (UserPromptSubmit) hooks/augment-stats.js local activity summary for /symvanta:status commands/ slash commands (ask, blast, trace, route, status, architecture, scope, branch, working-tree, tests, recent) skills/symvanta/SKILL.md tool decision matrix and conventions scripts/ sync-skill.mjs (SKILL from source) + check-tool-prefixes.mjs (CI guard)
MIT