Token导航 LogoToken导航TokenDH.com
Rpg Encoder logo
开发工具未说明官方级别未说明来源级核验

Rpg Encoder

MCP Server

rpg-encoder是一款通过构建代码语义图来增强AI代理对代码库理解能力的工具,适用于代码分析、重构规划和依赖管理。

工具数

27

提示词数

0

GitHub Stars

25

资源数

0
代码分析依赖管理RustClaudeClaudeCursorWindsurf

安装说明

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

作者 / 组织

userFRM

提供方

userFRM

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

rpg-encoder

Give your AI agent a brain for your codebase.

______________________________________________________________________

快速开始

claude mcp add rpg -- npx -y -p rpg-encoder rpg-mcp-server

一个命令。可与Claude Code、Cursor、opencode、Windsurf或任何兼容MCP的代理配合使用。没有Rust工具链,没有克隆,没有构建-- npx 为您的平台下载预构建的二进制文件。

然后打开任何回购并告诉您的代理人:

*“为这个仓库构建和提升RPG”*

你的代理处理一切:索引实体(几秒钟),读取每个函数并添加意图级功能(几分钟),将它们组织成语义层次结构,并提交 .rpg/graph.json 为了你的团队。

对于具有~100+个实体的repos, lifting_status 将告诉您的代理将提升循环委托给子代理或更便宜的模型——特征提取是模式匹配,而不是新颖的推理。如果您的运行时没有子代理机制,请运行 rpg-encoder lift --provider anthropic|openai 从具有API密钥的终端-CLI直接驱动外部LLM,而不涉及代理。CLI完成后,调用 reload_rpg 在您的会话中加载更新的图形。CLI提升了没有功能的实体;重新提升过时的实体(代码更改后存在但过时的功能)是由会话中的MCP流而不是CLI处理的。

一旦举起,尝试:

  • *“什么处理身份验证?”* --即使没有命名为“auth”,也能查找代码
  • *“显示依赖于数据库连接的所有内容”*
  • *“计划更改以将速率限制添加到API终结点”*

______________________________________________________________________

使用RPG之前 grep, cat, find

服务器说明告诉您的代理,对于任何 关于代码结构或行为的问题。这种反射很重要-- grep, cat, ad-hoc文件已经读取了烧灼令牌并错过了语义关系RPG 知道。

如果你不这样做。..请改用此项
grep -r / rg (有意)search_node(query="...")
grep -r / rg (按姓名)search_node(query="...", mode="snippets")
cat /读取函数fetch_node(entity_id="file:name")
用于呼叫者/被呼叫者的链式grepexplore_rpg(entity_id="...", direction="...")
递归grep用于“什么取决于X”impact_radius(entity_id="...")
wc -l / find / treerpg_info
读取多个文件以获取上下文semantic_snapshot
手动搜索→ 获取→ 探索链条context_pack(query="...")
“如何安全地重构X”plan_change(goal="...")

退回到 grep, cat,或者仅当查询涉及文本时才读取文件 (字符串搜索、注释、TODO、日志消息)——与结构无关。

______________________________________________________________________

运作原理

  1. 解析 --树保姆从15种语言中提取实体(函数、类、方法)和依赖边(导入、调用、继承)。
  2. 电梯 -LLM(您的代理,或像Haiku这样的廉价API)读取每个实体并编写语言对象功能: *“验证JWT令牌”*, *“将配置序列化到磁盘”*.
  3. 组织 --特征聚类为3级语义层次结构(Area→ 类别→ 子类别) *代码的作用是什么*,而不是文件树。
  4. 理解semantic_snapshot 将整个图压缩为~25K个标记。你的法学硕士读过一次 *知道回购*.

语义快照

LLM调用 semantic_snapshot 一次并收到:

  • 层级 --每个功能区都有聚合特征
  • 实体 --按区域分组的每个函数、类、方法及其语义特征
  • 依赖关系骨架 --带限定名的压缩调用图
  • 热点地区 --前10个连接最紧密的实体(架构骨干)

约25K代币覆盖约1000个实体。这是1M上下文窗口的2-3%——LLM在每个会话开始时已经知道你的仓库。

自维护图

每当您的工作树发生更改时——无论是已提交、暂存还是未暂存——MCP服务器都会在响应下一个查询之前自动重新同步。变更集哈希 (path, size, mtime) 意味着重复保存同一文件会触发一次同步,而空闲查询则不会触发任何同步。还原也会被检测到:如果以前脏的文件返回到其HEAD状态,则图形将被还原。

两种提升方式

模式命令成本谁支付
代理提升*“构建并提升RPG”*订阅令牌您的Claude代码/游标订阅
自主升降auto_lift(provider="anthropic", api_key_env="ANTHROPIC_API_KEY")每100个实体约0.02美元外部API密钥(Haiku、GPT-4o-mini、OpenRouter、Gemini)

auto_lift 直接调用廉价的外部LLM——您的编码订阅永远不会涉及提升工作 api_key_env 从环境变量中解析键,使其永远不会出现在工具调用记录中。

______________________________________________________________________

建筑

七个Rust机箱,一个MCP服务器二进制文件,一个CLI二进制文件:

板条箱角色
rpg-core图类型(RPGraph、实体、层次节点)、存储、LCA算法
rpg-parser树保姆实体+依赖关系提取(15种语言)
rpg-encoder编码管道、起重设施、增量进化
rpg-nav搜索、获取、探索、快照、TOON序列化
rpg-lift自主LLM提升(Anthropic、OpenAI、OpenRouter、Gemini)
rpg-cliCLI二进制文件(rpg-encoder)
rpg-mcpMCP服务器二进制文件(rpg-mcp-server)27工具

______________________________________________________________________

MCP工具(27)

Build & Maintain (4 tools)

工具说明
build_rpg索引代码库(运行一次,即时)
update_rpggit更改的增量更新
reload_rpg外部更改后从磁盘重新加载图形
rpg_info图表统计、层次结构概述、按区域提升覆盖率

Navigate & Search (5 tools)

工具说明
semantic_snapshot在一次调用中实现整个回购语义理解(1000个实体约25K个令牌)
search_node按意图或关键字搜索实体(混合嵌入+词汇评分)
fetch_node获取实体元数据、源代码、依赖关系和层次结构上下文
explore_rpg遍历依赖关系图(上游、下游或两者)
context_pack单次调用搜索+获取+探索代币预算

Plan & Analyze (7 tools)

工具说明
impact_radiusBFS可达性分析——“什么取决于X?”
plan_change变更计划——查找相关实体、修改顺序、爆破半径
find_pathsK—两个实体之间的最短依赖路径
slice_between提取实体之间的最小连接子图
analyze_health代码健康:耦合、不稳定、上帝对象、克隆检测
detect_cycles查找循环依赖关系和架构周期
reconstruct_plan依赖安全重建执行计划

Semantic Lifting (11 tools)

工具说明
auto_lift通过廉价的LLM API(Haiku,GPT-4o-mini,OpenRouter,Gemini)实现一体式自动提升
lifting_status仪表板——覆盖范围、每个区域的进度、下一步
get_entities_for_lifting获取实体源代码供代理分析
submit_lift_results将代理的语义特征提交回图中
finalize_lifting聚合文件级功能,重建层次结构元数据
get_files_for_synthesis获取文件级实体特征以进行整体综合
submit_file_syntheses提交整体文件级摘要
build_semantic_hierarchy获取域发现+层次结构分配提示
submit_hierarchy将层次结构分配应用于图形
get_routing_candidates获取需要语义路由的实体(漂移或新提升)
submit_routing_decisions提交路由决策(层次结构路径或“保留”)

______________________________________________________________________

支持的语言

Tree sitter提供15种语言:

语言实体提取依赖关系解析
Python函数、类、方法导入、调用、继承
Rust函数、结构、特征、impl方法使用、调用、特征impls
TypeScript函数、类、方法、接口导入、调用、继承
JavaScript函数、类、方法导入、调用、继承
Go函数、结构、方法、接口导入、调用
Java类、方法、接口导入、调用、继承
C/C++函数、类、方法、结构包含、调用、继承
C#类、方法、接口使用、调用、继承
PHP函数、类、方法使用、调用、继承
Ruby类、方法、模块需要、调用、继承
Kotlin函数、类、方法导入、调用、继承
Swift函数、类、结构、协议导入、调用、继承
Scala函数、类、对象、特征导入、调用、继承
Bash函数源代码,调用

______________________________________________________________________

安装

MCP服务器(推荐)

# Claude Code
claude mcp add rpg -- npx -y -p rpg-encoder rpg-mcp-server

# Cursor — add to ~/.cursor/mcp.json
{
  "mcpServers": {
    "rpg": {
      "command": "npx",
      "args": ["-y", "-p", "rpg-encoder", "rpg-mcp-server"]
    }
  }
}

服务器会自动检测当前工作目录中的项目根目录,不需要路径参数。

CLI

npm install -g rpg-encoder

# Build a graph
rpg-encoder build

# Query
rpg-encoder search "parse entities from source code"
rpg-encoder fetch "src/parser.rs:extract_entities"
rpg-encoder explore "src/parser.rs:extract_entities" --direction both --depth 2
rpg-encoder info

# Autonomous lifting via API
rpg-encoder lift --provider anthropic --dry-run  # estimate cost
rpg-encoder lift --provider anthropic           # lift with Haiku (~$0.02/100 entities)

# Incremental update
rpg-encoder update

# Pre-commit hook (auto-updates graph on commit)
rpg-encoder hook install

Build from source

git clone https://github.com/userFRM/rpg-encoder.git
cd rpg-encoder && cargo build --release

然后将MCP配置指向 target/release/rpg-mcp-server.

______________________________________________________________________

文档

______________________________________________________________________

灵感与参考

rpg编码器基于rpg编码器研究论文的理论框架构建,其原始扩展灵感来自代码智能领域的工具:

  • RPG编码器纸 (Luo等,2026,微软研究院)——语义提升模型、三级层次结构构建、增量进化算法、形式图模型 G = (V_H ∪ V_L, E_dep ∪ E_feature).
  • GitNexus --预先计算的关系智能、爆炸半径分析、克劳德代码挂钩。表明代码图工具必须是不可见的,才是必不可少的。
  • 塞雷娜 --通过LSP实现符号级精度。证明了实时代码感知比批处理分析更重要。
  • 香椿 --面向令牌的对象表示法,用于LLM优化输出。

这是一个独立的实现。所有代码都是MIT许可下的原创作品。不隶属于微软或不受微软认可。

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

代码分析依赖管理RustClaude本地部署语义理解AI辅助编程重构工具

支持客户端

ClaudeCursorWindsurf

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

27

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP