Codemunch Pro

io.github.BigJai由 GitHub 帳號 BigJai 發布v1.2.0更新於 Oct 24, 2026

Code indexing MCP: 15 tools, 10 languages, hybrid search, call graphs, O(1) retrieval.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

本機程式碼索引 MCP 伺服器,讓助理索引程式碼庫並有效率地檢索函式、符號、呼叫圖與文字比對。

可以做什麼
索引本機目錄或公開的 GitHub/GitLab 儲存庫,列出已索引的儲存庫並強制重建索引,檢視檔案樹以及單一檔案或整個儲存庫的符號大綱。依位元組位移取得單一或多個符號的完整原始碼,並進行關鍵字加語意的混合符號搜尋或原始全文內容搜尋。追蹤呼叫圖,查看某個函式呼叫了誰、又被誰呼叫,並與上次索引比較符號變化。雙向梳理檔案相依關係。
適用情境
適合助理在程式碼庫上工作、需要精確到函式層級的脈絡而不必讀取整個檔案的情境,例如程式碼審查、重構、熟悉新專案與產生 API 文件。對支援語言的多檔案專案、且在意 token 預算時最有用。
執行需求
以本機程序執行,從 PyPI 安裝(pip install codemunch-pro),在 MCP 用戶端以 codemunch-pro 指令設定;也可透過 streamable HTTP 連接埠執行。索引資料保存在本機依儲存庫劃分的 SQLite 資料庫中。索引遠端儲存庫需要網路存取;私有儲存庫需要驗證權杖。
安裝前請注意
索引遠端儲存庫會下載其壓縮檔並在本機保存副本;私有儲存庫需要驗證權杖,屬於需妥善保管的憑證。索引會在使用者家目錄下寫入本機資料庫。清單中未宣告任何憑證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Codemunch Pro,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

CodeMunch Pro

Intelligent code indexing MCP server. 15 tools, 10 languages, tree-sitter AST extraction, hybrid search (FTS5 + vector), call graphs, remote repo indexing, incremental indexing.

Save 99% of tokens — get exact function source via byte-offset seek instead of reading entire files.

Install

bash
pip install codemunch-pro

Quick Start

Claude Desktop / Cline

Add to your MCP client config:

json
{  "mcpServers": {    "codemunch-pro": {      "command": "codemunch-pro"    }  }}

HTTP Server

bash
codemunch-pro --transport streamable-http --port 5002

15 MCP Tools

ToolDescription
index_folderIndex a local directory (incremental, SHA-256 based)
index_repoIndex a GitHub/GitLab repo (tarball download, no git needed)
list_reposList all indexed repositories with stats
invalidate_cacheForce re-index a repository
file_treeGet directory tree with file counts
file_outlineList symbols in a single file
repo_outlineList all symbols in repo (summary)
get_symbolGet full source of one symbol (O(1) byte seek)
get_symbolsBatch get multiple symbols
search_symbolsHybrid search (FTS5 + vector RRF)
search_textFull-text search in file contents
get_calleesWhat does this function call?
get_callersWho calls this function?
diff_symbolsWhat changed since last index? (PR review)
dependency_mapWhat does this file depend on? What depends on it?

10 Languages

Python, JavaScript, TypeScript, Go, Rust, Java, C, C++, C#, Ruby

All via tree-sitter-language-pack — zero compilation, pre-built binaries.

Key Features

O(1) Symbol Retrieval

Every symbol stores its byte offset and length. get_symbol seeks directly to the function source — no reading entire files. A 200-byte function from a 40KB file = 99.5% token savings.

Incremental Indexing

Files are hashed (SHA-256). Only changed files are re-parsed. Re-indexing a 10K file repo after changing one file takes milliseconds.

Hybrid Search (FTS5 + Vector)

Combines BM25 keyword matching with semantic vector similarity using Reciprocal Rank Fusion. Search "authentication middleware" and find auth_middleware, verify_token, and login_handler.

Call Graphs

Traces function calls through the AST. get_callees("main") shows what main calls. get_callers("authenticate") shows who calls authenticate. Supports depth traversal.

Remote Repo Indexing (v1.1)

Index any public GitHub or GitLab repo by URL — no git binary needed. Downloads the tarball via API, extracts, and indexes. Cached locally with SHA-based freshness checks. Supports private repos with auth tokens and sparse paths.

Full-Text Content Search

Search raw file contents — string literals, TODO comments, config values, error messages. Not just symbol names.

How It Works

  1. Parse — tree-sitter builds an AST for each source file
  2. Extract — Walk AST to find functions, classes, methods, types, interfaces
  3. Store — SQLite database per repo with FTS5 virtual tables
  4. Embed — FastEmbed (ONNX, CPU-only) generates 384-dim vectors for semantic search
  5. Graph — Call expressions extracted from function bodies, edges stored and resolved
  6. Serve — FastMCP exposes 13 tools via stdio or HTTP

Architecture

~/.codemunch-pro/├── myproject_a1b2c3d4e5f6.db    # Per-repo SQLite database├── otherproject_7890abcdef.db└── ...
Each DB contains:├── files          # Indexed files with SHA-256 hashes├── symbols        # Functions, classes, methods, types├── symbols_fts    # FTS5 full-text search index├── symbols_vec    # sqlite-vec 384-dim vector index├── call_edges     # Call graph (caller → callee)└── file_content_fts  # Raw file content search

Use Cases

  • AI Coding Agents: Give your agent surgical access to codebases without burning context
  • Code Review: Find all callers of a function before changing its signature
  • Onboarding: Search symbols semantically — "where is error handling?" finds relevant code
  • Refactoring: Map call graphs before moving functions between modules
  • Documentation: Extract all public APIs with signatures and docstrings

License

MIT

來源:README.md,提交 29b689a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分