Token导航 LogoToken导航TokenDH.com
indxr (Bahdotsh) logo
开发工具未说明官方级别未说明来源级核验

indxr (Bahdotsh)

MCP Server

indxr是一个为AI代理设计的快速代码库索引器和知识维基工具,提供代码结构索引和自动更新的知识维基功能,适用于代码库维护和团队知识管理。

工具数

35

提示词数

0

GitHub Stars

64

资源数

0
代码索引代码分析RustClaude开发工具ClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bahdotsh

提供方

bahdotsh

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

indxr

用于AI代理的快速代码库索引器和知识维基。

![CI](https://github.com/bahdotsh/indxr/actions/workflows/ci.yml) ![Crates.io](https://crates.io/crates/indxr) ![License](LICENSE)

indxr为AI代理提供了一个持久的、自我更新的wiki,该wiki由快速的结构索引支持,可以查看您的代码库。架构决策、模块责任、故障模式——通常存在于人们脑海中的东西——被写下来并保持最新状态。

______________________________________________________________________

特性

  • 代码库知识维基 --具有架构页面、模块概述、故障模式记录、矛盾跟踪和知识复合的持久wiki。代理查询它,从中学习,并写回它
  • 9个wiki MCP工具wiki_generate, wiki_search, wiki_read, wiki_contribute, wiki_update, wiki_compound, wiki_suggest_contribution, wiki_record_failure, wiki_status
  • 自我更新 --wiki通过以下方式自动与代码更改保持同步 indxr serve --watch --wiki-auto-update
  • 26工具MCP服务器 (3个复合默认值+23个粒度过孔 --all-tools)--符号查找、文件摘要、调用者跟踪、签名搜索、复杂性热点、类型流跟踪、工作区支持
  • 27种语言 --树型AST解析8种语言,正则表达式提取19种以上
  • 令牌感知 --渐进式截断以适应上下文窗口
  • Git结构差异 --声明级别差异(+ 补充, - 远离的, ~ 更改)针对任何git ref或GitHub PR
  • 依赖图 --文件和符号依赖关系可视化为DOT、Mermaid或JSON
  • 文件监视 --编辑时通过以下方式不断重新索引 indxr watchindxr serve --watch
  • Monrepo/工作空间支持 --Cargo、npm、Go工作空间; --member 针对特定成员
  • 一个命令代理设置indxr init 配置克劳德代码、游标、Windsurf、Codex CLI
  • 增量缓存 --mtime+xxh3内容哈希
  • 复杂性热点 --每个函数的圈复杂度、嵌套深度、参数计数;代码库健康报告
  • 可组合过滤器 --路径、种类、符号名称、可见性、语言

安装

cargo install indxr --features wiki

这将在完整的wiki系统中安装indxr。对于其他运输:

cargo install indxr --features wiki,http   # + Streamable HTTP transport

或者从源代码构建:

git clone https://github.com/bahdotsh/indxr.git
cd indxr && cargo build --release --features wiki
您也可以在没有wiki功能的情况下安装(cargo install indxr)如果你只需要结构索引。

用法

# Wiki — the core workflow
indxr wiki generate                          # generate codebase knowledge wiki
indxr wiki update                            # update wiki after code changes
indxr wiki status                            # check wiki health
indxr wiki compound notes.txt                # compound knowledge from file

# MCP server — live queries + wiki tools for AI agents
indxr serve ./my-project --watch --wiki-auto-update  # recommended: full setup
indxr serve ./my-project                     # start MCP server (structural only)
indxr serve ./my-project --watch             # MCP server with auto-reindex

# Structural indexing
indxr                                        # index cwd → stdout
indxr ./my-project -o INDEX.md               # index project → file
indxr -f json -l rust,python -o index.json   # JSON, filter by language

# Setup
indxr init                                   # set up all agent configs
indxr members                                # list workspace members (monorepo)

代码库知识Wiki

结构索引告诉代理代码库中存在的内容。维基告诉他们为什么。架构决策、模块职责、故障模式——当有人离开团队时,这些东西通常会丢失。

indxr wiki generate                          # generate wiki from scratch
indxr wiki update                            # update after code changes
indxr wiki status                            # check wiki health
indxr wiki compound notes.txt                # compound knowledge from file
echo "synthesis" | indxr wiki compound -     # compound from stdin

Wiki页面存储在 .indxr/wiki/ 作为带有YAML frontmatter的Markdown。页面类型: architecture, module, entity, topic.页面支持 [[page-id]] 交叉引用、矛盾跟踪和故障模式记录。

代理商如何使用wiki

  1. 生成: wiki_generate → 代理从结构上下文中规划页面,编写每个通路 wiki_contribute
  2. 查询: wiki_search 在阅读源代码之前了解模块和设计决策
  3. 学习: wiki_compound 在跨页面分析后保留综合见解
  4. 记录失败: wiki_record_failure 所以未来的特工不会再犯错误
  5. 更新: wiki_update 识别代码更改后的过时页面,代理通过以下方式重写 wiki_contribute

Wiki MCP工具(9个工具)

工具说明
wiki_generate初始化新wiki并返回页面规划的结构上下文
wiki_search按关键字或概念搜索维基;返回包含摘录的匹配页面
wiki_read按ID阅读维基页面;返回包含元数据的完整内容
wiki_status检查wiki健康状况:页面计数、过期时间、源文件覆盖率
wiki_contribute将知识写回维基(创建或更新页面)
wiki_update分析代码更改并返回带有差异上下文的受影响页面
wiki_suggest_contribution建议为给定的合成更新哪个页面(无LLM调用)
wiki_compound自动将综合知识路由到最佳匹配页面
wiki_record_failure记录失败的修复尝试,供未来的代理学习
wiki_generate 始终列出;一旦wiki存在,剩下的8个工具就会出现。Wiki工具支持矛盾跟踪和故障模式记录。

自动更新wiki

MCP服务器自动使wiki与您的代码保持同步:

indxr serve --watch --wiki-auto-update

源文件更改时触发wiki页面更新。集 ANTHROPIC_API_KEY, OPENAI_API_KEY,或使用 --exec 用于自定义LLM后端。

Wiki文档 有关页面结构、LLM配置和磁盘布局的完整详细信息。

代理设置

indxr init                    # set up for all agents
indxr init --claude           # Claude Code only
indxr init --cursor           # Cursor only
indxr init --windsurf         # Windsurf only
indxr init --codex            # OpenAI Codex CLI only
indxr init --global           # install globally for all projects
indxr init --global --cursor  # global Cursor only
indxr init --no-rtk           # skip RTK hook setup
代理项目文件全局文件(--global)
克劳德代码.mcp.json, CLAUDE.md, .claude/settings.json~/.claude.json, ~/.claude/CLAUDE.md
光标.cursor/mcp.json, .cursor/rules/indxr.mdc~/.cursor/mcp.json
风帆冲浪.windsurf/mcp.json, .windsurf/rules/indxr.md~/.codeium/windsurf/mcp_config.json, ~/.codeium/windsurf/memories/global_rules.md
Codex CLI.codex/config.toml, AGENTS.md~/.codex/config.toml, ~/.codex/AGENTS.md
全部.gitignore 进入, INDEX.md

代理并不总是选择MCP工具而不是自己读取文件。 indxr init 设置PreToolUse拦截钩子 Read/Bash 用于教授探索工作流程的调用和指令文件。

MCP服务器

JSON-RPC 2.0通过标准输入/标准输出(或可流式HTTP) --features http).默认列出3个复合工具; --all-tools 全部暴露26。当Wiki存在时,Wiki工具(9)可用。

默认工具(3种组合)

工具说明
find按概念、名称、调用者或签名模式查找文件/符号。模式: relevant (默认), symbol, callers, signature
summarize无需阅读源代码即可理解文件/符号。自动检测:glob->批处理,无“/”->符号名称,文件路径->文件摘要。范围: all (默认), public
read按符号名称或行范围读取源代码(与 read_source)

粒度工具(23--需要 --all-tools)

工具说明
search_relevant跨路径、名称、签名和文档的多信号相关性搜索
lookup_symbol按名称查找声明(不区分大小写的子字符串)
explain_symbol签名、文档注释、关系、元数据——无正文
get_file_summary无需阅读即可完成文件概述
batch_file_summaries在一次通话中汇总多个文件
get_file_context文件摘要+反向依赖+相关文件
get_public_api带有文件或目录签名的公共声明
get_callers查找在所有文件中引用符号的人
list_declarations使用可选筛选器在文件中列出声明
search_signatures按签名模式搜索功能
read_source按符号名称或行范围读取源
get_tree目录/文件树
get_stats文件数、行数、语言细分
get_imports导入文件的语句
get_related_tests通过命名约定查找测试函数
get_hotspots按综合得分排名的最复杂函数
get_health具有聚合复杂性度量的代码库运行状况摘要
get_type_flow跟踪哪些函数在代码库中生成/使用给定类型
get_dependency_graph文件和符号依赖图(DOT、Mermaid、JSON)
get_diff_summary自git ref或GitHub PR以来的结构变化
get_token_estimate读取前估计令牌
list_workspace_members列出monorepo工作区成员(Cargo、npm、Go)
regenerate_index重新索引并更新index.md
即使未列出,粒度工具也始终可调用-- --all-tools 仅控制它们是否出现在 tools/list.

当Wiki存在时,Wiki工具(9)也可用。看 Wiki部分.

在工作空间模式下,工具获得 member param到范围查询。列表工具支持 compact 模式。看 MCP服务器文档 了解详情。

输出

默认格式为Markdown signatures 细节级别:

# Codebase Index: my-project

> Generated: 2025-03-23 | Files: 42 | Lines: 8,234
> Languages: Rust (28), Python (10), TypeScript (4)

## Directory Structure
src/
  main.rs
  parser/
    mod.rs
    rust.rs

## src/main.rs

**Language:** Rust | **Size:** 1.2 KB | **Lines:** 45

**Declarations:**
`pub fn main() -> Result`
`pub struct App`
细节级别内容
summary目录树+文件列表
signatures (默认)+声明、导入
full+文档注释、行号、正文数量、元数据、关系

过滤

indxr --filter-path src/parser              # subtree
indxr --kind function --public-only         # public functions only
indxr --symbol "parse"                      # symbol name search
indxr -l rust,python                        # language filter
indxr --filter-path src/model --kind struct --public-only  # combine

过滤器组成。 --kind 接受: function, struct, class, trait, enum, interface, module, method, constant, impl, type, namespace, macro.

Git结构差异

indxr --since main
indxr --since v1.0.0
indxr --since HEAD~5
indxr diff --pr 42                           # diff against a GitHub PR's base branch
## Modified Files

### src/parser/mod.rs
+ `pub fn new_parser() -> Parser`
- `fn old_helper()`
~ `fn process(x: i32)` → `fn process(x: i32, y: i32)`

标记: + 补充, - 远离的, ~ 签名已更改。

复杂性热点

indxr --hotspots                             # top 30 most complex functions
indxr --hotspots --filter-path src/parser    # scoped to a directory

显示圈复杂度、最大嵌套深度、参数计数、体线和每个函数的复合得分。树保姆只解析语言。

MCP工具: get_hotspots, get_health, get_type_flow.

依赖图

indxr --graph dot                            # file-level DOT graph
indxr --graph mermaid                        # file-level Mermaid diagram
indxr --graph json                           # JSON graph
indxr --graph dot --graph-level symbol       # symbol-level graph
indxr --graph mermaid --filter-path src/mcp  # scoped to a directory
indxr --graph dot --graph-depth 2            # limit to 2 hops
级别描述
file (默认)文件到文件的导入关系
symbol符号间关系(特征隐含、方法调用)

代币预算

indxr --max-tokens 4000

截断顺序:文档注释→ 私人声明→ 孩子→ 最不重要的文件。首先保留目录树和公共API曲面。

语言

8个树保姆(全AST)+19个正则表达式(结构提取):

解析器语言
树保姆Rust、Python、Types/TSX、JavaScript/JSX、Go、Java、C、C++
正则表达式Shell、TOML、YAML、JSON、SQL、Markdown、Protobuf、GraphQL、Ruby、Kotlin、Swift、C#、Objective-C、XML、HTML、CSS、Gradle、CMake、属性

检测是按文件扩展名进行的。详细信息: docs/languages.md

演出

通过人造丝进行并行解析。通过mtime+xxh3进行增量缓存。

文档

文档描述
维基代码库知识维基——生成、维护和代理工作流
代理集成与Claude、Codex、Cursor、Copilot等一起使用。
MCP服务器MCP工具、协议和客户端设置
CLI 参考完整的标志和选项参考
语言每种语言提取详细信息
输出格式格式和细节级别参考
Git难度自git ref或GitHub PR以来的结构差异
依赖图文件和符号依赖关系可视化
过滤路径、种类、符号、可见性过滤器
代币预算截断策略和评分
缓存缓存格式和无效

贡献

欢迎投稿——欢迎打开问题或提交PR。

许可证

麻省理工学院

目录标签

目录标签

代码索引代码分析RustClaude开发工具本地部署知识管理AI代理

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

35

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP