mcpField
M
MCP Repo Mapper

MCP Repo Mapper

本地服务
github.com/LovRanRan开发工具023 周前更新

关于 MCP Repo Mapper

MCP Repo Mapper 扫描本地代码库,为代码库入门 Agent 提供确定性的结构视图,不运行代码,也不调用大模型。它结合语言与框架识别,以及入口点和 Python 依赖分析。

主要功能

  1. 01映射文件结构与语言分布
  2. 02分析 Python 依赖图和循环依赖
  3. 03识别框架与入口点候选
  4. 04提供缓存的仓库结构资源

适用场景

  1. 01在 Agent 入门时梳理代码库
  2. 02查找 Python 依赖循环
  3. 03识别可能的应用入口点

MCP 相关

这是一个 FastMCP 服务,通过 MCP 工具提供代码库扫描及相关分析,并向 MCP 客户端提供缓存的 JSON 结构资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"lovranran-mcp-repo-mapper": {
"command": "uvx",
"args": [
"mcp-repo-mapper"
]
}
}
}
启动命令uvx mcp-repo-mapper

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-repo-mapper0.1.0

工具

6

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

mcp-repo-mapper

mcp-repo-mapper 是一个用于确定性映射代码仓库结构的 FastMCP 服务。它会扫描本地代码库,并提供文件结构、语言数量、Python 导入依赖、循环依赖检测、框架检测、入口点候选项,以及缓存的代码仓库结构资源。

该服务不会调用大模型,也不会执行用户代码。它旨在为 wayfinder 等代码库入门 Agent 提供有依据的结构信息。

代码库入门技术栈

mcp-repo-mapper 是 Project 6 wayfinder(一个代码库入门 Agent)的三服务 MCP 工具栈中的结构层。

  • mcp-repo-mapper 用于映射代码仓库结构、语言、入口点、框架证据和 Python 依赖关系。
  • mcp-ast-explorer 提供基于符号的 Python 定义、签名、引用、调用链和类层次结构查询。
  • mcp-test-runner 运行本地 pytest/Jest 检查并汇总覆盖率,以便 Agent 根据执行结果验证结论。

在 wayfinder 中,此服务会在开始语义解释或测试验证之前,为架构映射步骤提供信息。

功能

  • scan_repo(path) 返回包含文件、语言分布、入口点、Python 依赖图和检测到的框架的类型化代码仓库扫描结果。
  • find_circular_deps(path) 返回静态依赖图中的循环依赖。
  • language_breakdown(path) 按文件数量和字节数返回语言统计。
  • detect_framework(path) 使用基于注册表的标记检测 FastAPI、Flask、Django、Express 和 Spring。
  • find_entry_points(path) 返回经过排序的入口点候选项,例如 Python 主程序、FastAPI 应用、软件包启动脚本、Dockerfile 和 Node 索引文件。
  • repo-structure://{url_hash} 返回工具调用填充缓存后保存的 JSON 扫描结果。

安装

uv sync --extra dev

在本地运行服务:

uv run mcp-repo-mapper

开发

uv run ruff check .
uv run mypy
uv run pytest

资源流程

资源读取使用由工具调用填充的缓存:

  1. 调用 scan_repo(path) 或其他基于扫描的工具。
  2. 使用相同路径计算代码仓库哈希值。
  3. 读取 repo-structure://{url_hash}。

公开资源使用 repo-structure://...,因为 URL 方案不能包含下划线。

范围与限制

  • 目前仅支持基于静态 ast 解析的 Python 依赖图。
  • 导入图解析只记录扫描代码仓库中存在的模块。
  • 框架检测采用启发式标记匹配,并非完整的构建系统分析。
  • 资源缓存位于内存中,且仅限当前进程使用。
  • 服务仅扫描本地文件系统路径。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。