Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Persistent code indexing for AI assistants. 50x less context than grep. 11 languages.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"aidex": {
"command": "npx",
"args": [
"-y",
"aidex-mcp"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add aidex -- npx -y aidex-mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"aidex": {
"command": "npx",
"args": [
"-y",
"aidex-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"aidex": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"aidex-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 CSCSoftware 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.8.0)은 9개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, debuff
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
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.
Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
The persistent brain for AI coding agents.
AiDex is an MCP server that gives AI coding assistants a memory, semantic search, and live telemetry — local-first, model-agnostic. Works with any MCP-compatible AI assistant: Claude Code, Claude Desktop, Cursor, Windsurf, Gemini CLI, VS Code Copilot, and more.
🧠 Memory — Tasks, notes, and session-notes survive every chat. Auto-logged history, scheduled tasks, cross-session continuity. Your AI knows tomorrow what mattered today.
🔍 Search — Three modes: exact (identifier), semantic (concept), hybrid (RRF fusion of both). Embeds code, docs, and workspace items into one ranking. Cross-project — every repo in one query. Optional LLM layer translates non-English queries and reranks results.
🌐 Telemetry — LogHub receives live logs from any app via HTTP (no SDK). The AI watches what your code actually does, not just what it says. Live-streamed in the Viewer.
And yes — it's still 50× more token-efficient than grep.
| Without AiDex | With AiDex | |
|---|---|---|
Find PlayerHealth | Grep → 200 hits in 40 files → reads 5 files → 2,000+ tokens | 1 query → 3 exact locations → ~50 tokens |
| Get file structure | Reads entire 500-line file → 1,500 tokens | Signatures → classes + methods → ~80 tokens |
| What changed today? | git diff + grep + context → 3,000+ tokens | Time-filtered query → ~50 tokens |
| Category | Tools | What it does |
|---|---|---|
| Semantic Search 🆕 | search, settings | Hybrid / semantic / exact retrieval over code, docs & workspace. Settings tab to configure embeddings + LLM layer |
| Index & Identifier Search | init, query, update, remove, status | Index your project, search identifiers by name (exact/contains/starts_with), time-based filtering |
| Signatures | signature, signatures | Get classes + methods of any file without reading it — single file or glob pattern |
| Project Overview | summary, tree, describe, files | Entry points, language breakdown, file tree with stats, file listing by type |
| Cross-Project | link, unlink, links, scan | Link dependencies, discover indexed projects |
| Global Search | global_init, global_query, global_signatures, global_status, global_refresh | Search identifiers across ALL your projects — "Have I ever written X?" |
| Guidelines | global_guideline | Persistent AI instructions & coding conventions — shared across all projects |
| Sessions | session, note | Track sessions, detect external changes, leave notes for next session (with searchable history) |
| Task Backlog | task, tasks | Built-in task management with priorities, tags, auto-logged history, and scheduled/recurring tasks |
| Log Hub | log | Universal log receiver — any program sends logs via HTTP, queryable by the AI, live in Viewer |
| Screenshots | screenshot, windows | Cross-platform screen capture with LLM optimization — scale + color reduction saves up to 95% tokens |
| Viewer | viewer | Interactive browser UI with file tree, signatures, tasks, logs, search, and live reload |
14 languages — C#, TypeScript, JavaScript, Rust, Python, C, C++, Java, Go, PHP, Ruby, HCL/Terraform, Kotlin, Swift — plus Astro frontmatter
Quick Examples — see it in action
# Find where "PlayerHealth" is defined — 1 call, ~50 tokens
aidex_query({ term: "PlayerHealth" }) → Engine.cs:45, Player.cs:23, UI.cs:156
aidex_signature({ file: "src/Engine.cs" }) → class GameEngine { Update(), Render(), LoadScene(), ... }
aidex_query({ term: "render", modified_since: "2h" })
aidex_global_query({ term: "TransparentWindow", mode: "contains" }) → Found in: LibWebAppGpu (3 hits), DebugViewer (1 hit)
aidex_note({ path: ".", note: "Test the parser fix after restart" })
aidex_task({ path: ".", action: "create", title: "Fix edge case in parser", priority: 1, tags: "bug" })
v2.0 added semantic search via locally-run embeddings — your AI can find a function even when it doesn't know the exact identifier.
| Mode | What it does | When to use |
|---|---|---|
exact | Identifier match (same as aidex_query) | You know the name. PlayerHealth → 3 hits |
semantic | Vector KNN over embedded code+docs+workspace | You know the *concept*. "how do we cache the model" → finds getQueryEmbedder |
hybrid (default) | RRF fusion of both | Mixed queries. Robust by default |
One ranking, all kinds. A query like *"how to write logs from external programs"* surfaces the README's ## Log Hub section first, then the log method in commands/log.ts, then any related task.
// Enable embeddings on a project (one-time, ~30s for AiDex itself, cached afterwards)
aidex_init({ path: ".", embeddings: true })
// Search aidex_search({ query: "how do we batch requests to the LLM", path: "." }) aidex_search({ query: "retry with backoff", scope: "all" }) // across every embedded project
Or use the Settings tab in the Viewer (aidex_settings({ path: ".", open: true })) — toggles for embeddings, LLM provider, model, and the privacy switch.
When an Anthropic / OpenAI / OpenRouter / Ollama / HuggingFace API key is configured, AiDex can:
Privacy switch llm_send_code defaults to off — only your literal query and metadata (paths, names, anchors) are sent. Code bodies stay local. Per-project, easy to verify in Settings.
Local-first: works fully offline with pure embeddings. The LLM layer is opt-in, never required.
Every time your AI assistant searches for code, it:
A single "Where is X defined?" question can eat 2,000+ tokens. Do that 10 times and you've burned half your context on navigation alone.
Index once, query forever:
# Before: grep flooding your context
AI: grep "PlayerHealth" → 200 hits in 40 files AI: read File1.cs, File2.cs, File3.cs... → 2000+ tokens consumed, 5+ tool calls
AI: aidex_query({ term: "PlayerHealth" }) → Engine.cs:45, Player.cs:23, UI.cs:156 → ~50 tokens, 1 tool call
Result: 50-80% less context used for code navigation.
| Grep/Ripgrep | AiDex | |
|---|---|---|
| Context usage | 2000+ tokens per search | ~50 tokens |
| Results | All text matches | Only identifiers |
| Precision | log matches catalog, logarithm | log finds only log |
| Persistence | Starts fresh every time | Index survives sessions |
| Structure | Flat text search | Knows methods, classes, types |
The real cost of grep: Every grep result includes surrounding context. Search for User in a large project and you'll get hundreds of hits - comments, strings, partial matches. Your AI reads through all of them, burning context tokens on noise.
AiDex indexes identifiers: It uses Tree-sitter to actually parse your code. When you search for User, you get the class definition, the method parameters, the variable declarations - not every comment that mentions "user".
aidex_init({ path: "/path/to/project" })
aidex_query({ term: "Calculate", mode: "starts_with" })
→ All functions starting with "Calculate" + exact line numbers
aidex_query({ term: "Player", modified_since: "2h" }) → Only matches changed in the last 2 hours
aidex_signature({ file: "src/Engine.cs" })
→ All classes, methods, and their signatures
The index lives in .aidex/index.db (SQLite) - fast, portable, no external dependencies.
| Language | Extensions |
|---|---|
| C# | .cs |
| TypeScript | .ts, .tsx |
| JavaScript | .js, .jsx, .mjs, .cjs |
| Rust | .rs |
| Python | .py, .pyw |
| C | .c, .h |
| C++ | .cpp, .cc, .cxx, .hpp, .hxx |
| Java | .java |
| Go | .go |
| PHP | .php |
| Ruby | .rb, .rake |
| HCL/Terraform | .tf, .tfvars, .hcl |
| Kotlin | .kt, .kts |
| Swift | .swift |
| Astro | .astro (TypeScript frontmatter) |
node --version)brew install node or nvm install 20 && nvm use 20앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요