mcpField
R
Repository Analyzer MCP Server

Repository Analyzer MCP Server

本地服务
github.com/DocNR版本控制385 周前更新

关于 Repository Analyzer MCP Server

面向代码仓库分析的 MCP 服务,提供通用结构、依赖、代码搜索和 Git 历史检查,并针对 Nostr、NDK 与 NIPs 提供专用分析。

主要功能

  1. 01分析仓库结构、组件与依赖
  2. 02按模式搜索代码
  3. 03查看仓库或文件的 Git 历史
  4. 04读取文件并列出目录
  5. 05分析 NDK 与 Nostr 协议

适用场景

  1. 01梳理仓库架构与 API
  2. 02定位匹配特定模式的代码
  3. 03检查文件近期变更
  4. 04分析 NDK 实现或 NIPs

MCP 相关

通过 MCP 向客户端提供仓库分析工具,以及读取文件内容和列出目录的资源。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Repository Analyzer MCP 服务

一个 Model Context Protocol(MCP)服务,提供用于分析代码仓库的工具,尤其专注于与 Nostr 相关的项目。

功能

  • 分析代码结构、组件、依赖项和近期变更
  • 使用模式匹配搜索仓库代码
  • 查看整个仓库或特定文件的 git 历史记录
  • 访问文件内容和目录列表
  • 用于分析 NDK(Nostr Development Kit)仓库的专用工具
  • 分析 Nostr Protocol 实现和 NIPs(Nostr Implementation Possibilities)

安装

  1. 克隆此仓库

  2. 安装依赖项:

npm install
  1. 构建项目:
npm run build

用法

设置仓库路径

MCP 服务按以下方式处理文件路径:

默认访问行为
  1. 默认访问:如果未指定路径,服务默认访问当前工作目录(cwd)。

  2. 配置特定目录:要指定 Claude 可以访问的目录,请在 Claude 配置中设置 DEFAULT_REPO_PATH 环境变量。

  3. 按命令覆盖:用户可以通过命令中的 repoPath 参数覆盖默认路径,例如:

    analyze-code --focus=structure --repoPath=/another/directory
    
  4. 客户端权限:请记住,Claude for Desktop 在执行访问文件系统的工具之前会请求权限。

分析多个仓库

无需重启服务,只需在命令中直接指定仓库路径,即可分析多个仓库:

# Analyze structure of a specific repository
analyze-repo --focus=overview --repoType=generic --repoPath=/path/to/specific/repo

# Analyze code in a different repository
analyze-code --focus=structure --path=src/index.js --repoPath=/path/to/another/repo

# Search for patterns in yet another repository
search-code --query="addEventListener" --filePattern="*.js" --repoPath=/path/to/third/repo

所有分析工具(analyze-repo、analyze-code、search-code、git-history、analyze-ndk、analyze-ndk-files 和 analyze-nostr-protocol)都接受 repoPath 参数,用于覆盖默认路径。

连接到 Claude Desktop

要将此 MCP 服务连接到 Claude Desktop:

  1. 编辑 Claude Desktop 配置文件:
# On macOS
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
# On Windows
# Edit %AppData%\Claude\claude_desktop_config.json
  1. 添加服务配置:
{
  "mcpServers": {
    "repo-analyzer": {
      "command": "node",
      "args": [
        "/absolute/path/to/repo-analyzer-mcp/dist/index.js"
      ],
      "transport": "stdio",
      "env": {
        "NODE_ENV": "production",
        "DEFAULT_REPO_PATH": "/path/to/default/repository"
      }
    }
  }
}

将 /absolute/path/to/repo-analyzer-mcp 替换为此工具安装位置的实际完整路径,并将 /path/to/default/repository 替换为要默认分析的仓库路径。

  1. 保存文件并重启 Claude Desktop。
故障排除

如果 Claude Desktop 无法启动,或 MCP 服务未显示:

  1. 检查配置文件是否存在 JSON 语法错误
  2. 确保所有路径都是绝对(完整)路径且正确无误
  3. 确保每个对象的最后一项后没有逗号
  4. 检查 Claude Desktop 日志中的错误:~/Library/Logs/Claude/mcp*.log
  5. 如需进一步调试,可以在配置的 env 部分添加 "DEBUG": "mcp:*"
  6. 重启 Claude Desktop

可用工具

analyze-code

根据不同的关注点分析代码文件:

  • structure:检查文件结构,包括行数、函数、类等
  • components:识别 React 组件、hooks 的使用情况等
  • dependencies:列出导入项和依赖项
  • changes:显示近期 git 历史记录和文件变更

示例:

Analyze the code structure of src/index.ts
search-code

在仓库中搜索特定模式,可选择按文件模式筛选。

示例:

Search the code for "addEventListener" in .js files
git-history

获取仓库或特定文件的 git 提交历史记录。

示例:

Show me the git history for README.md, limit to 5 commits
analyze-ndk

分析 Nostr Development Kit(NDK)仓库,重点关注:

  • implementation:核心实现细节
  • migrations:版本变更和迁移指南
  • all:实现和迁移两者

显式指定仓库路径的示例:

Analyze NDK implementation at /path/to/ndk-repo
analyze-ndk-files

探索 NDK 文件结构,重点关注:

  • overview:仓库概览
  • components:组件架构
  • api:API 结构和设计
  • architecture:整体架构和模式
  • all:全面分析

显式指定仓库路径的示例:

Analyze NDK files with focus on components at /path/to/ndk-repo
analyze-nostr-protocol

分析 Nostr 协议仓库,重点关注:

  • events:NIP 中定义的事件类型和结构
  • implementations:不同语言的实现细节

指定仓库路径的示例:

Analyze Nostr Protocol events at /path/to/nips-repo with focus on social context
analyze-repo

提供通用的仓库分析,并支持多种关注点:

  • overview:仓库的高层信息
  • components:组件结构和组织方式
  • api:API 定义和结构
  • architecture:整体架构模式
  • implementation:实现细节
  • all:全面分析所有方面

示例:

Analyze the repo with focus on architecture

资源

该服务还提供以下访问方式:

  • file://{filePath}:读取仓库中的文件内容
  • dir://{dirPath}:列出仓库中的目录内容

示例:

Show me the content of the package.json file

专项分析的目录结构

若要让专项分析工具正常工作,仓库应遵循特定结构:

NDK 仓库结构

分析器会查找以下任一结构:

  • 根目录下有 package.json,且其名称为 @nostr-dev-kit/ndk 的仓库
  • 包含 ndk 目录,且该目录中有名称为 @nostr-dev-kit/ndk 的 package.json 的仓库
Nostr 协议仓库结构

分析器会查找以下任一结构:

  • 包含 nips 目录,且其中有 NIP 的 Markdown 文件的仓库
  • README 中提及“NIP”和“Nostr Implementation Possibilities”的仓库
  • package.json 的名称、描述或关键词中包含“nostr”的仓库

开发

在开发模式下运行:

npm run dev

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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