Tokennuke

io.github.BigJai由 GitHub 账号 BigJai 发布v1.3.0更新于 Oct 24, 2026

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

概览

AI 生成的概览

为本地或远程代码仓库建立索引,让助手能搜索符号、读取精确的函数源码并追踪调用关系。

可以做什么
TokenNuke 使用 tree-sitter 解析十种语言的源码,为每个仓库建立 SQLite 索引。它的 15 个工具涵盖:索引本地目录或 GitHub/GitLab 仓库、列出仓库、查看文件树与文件大纲、关键词加向量的混合符号搜索、原始文本搜索、按字节偏移获取符号、批量获取符号、查询被调用者与调用者、对比上次索引后的符号变化,以及依赖关系图。
适用场景
适合助手需要在不读取整个文件的情况下浏览大型代码库的场景,例如查找某个函数的源码、在修改签名前定位调用方、查看自上次索引以来的改动,或在重构时梳理依赖关系。
运行要求
作为本地进程运行,从 PyPI 安装(pip install tokennuke)后通过 stdio 启动,也可选择以 streamable HTTP 方式在指定端口运行。它会在本地目录下写入按仓库划分的 SQLite 数据库。索引远程仓库需要联网下载压缩包;私有仓库需要认证令牌。
安装前请注意
索引远程仓库会下载其内容,私有仓库需要认证令牌,应将该凭据视为敏感信息。索引数据库写入本地目录,可能包含源码和文件内容。该服务器可以强制重新索引并使缓存失效,会改变本地索引状态。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Tokennuke,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

TokenNuke

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.

Formerly codemunch-pro. Same code, better name.

Install

bash
pip install tokennuke

Quick Start

Claude Desktop / Cline

Add to your MCP client config:

json
{  "mcpServers": {    "tokennuke": {      "command": "tokennuke"    }  }}

HTTP Server

bash
tokennuke --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

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 15 tools via stdio or HTTP

Architecture

~/.tokennuke/├── 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,提交 b86a4c5

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

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

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分