File Rank MCP Server 使用说明

项目简介

File Rank MCP Server 是一个基于 Model Context Protocol (MCP) 的后端服务,用于分析和理解代码仓库。它通过分析代码文件之间的依赖关系和重要性,为开发者和LLM提供代码库的结构化信息。该服务器能够监控文件系统的变化,实时更新文件树,并提供查询文件信息、文件依赖关系以及项目文件树的功能,从而帮助LLM更好地理解和操作代码。

主要功能点

  • 文件重要性排序: 根据文件在代码库中的依赖关系和位置,评估文件的重要性,并给出0-10的评分(10为最重要)。
  • 依赖关系追踪: 自动检测并追踪代码文件之间的依赖关系,支持多种编程语言(Python, C/C++, Rust, Lua, JavaScript/TypeScript)。
  • 实时文件系统监控: 监控项目目录的文件变化,自动更新文件树和文件信息。
  • 文件信息查询: 提供查询单个文件或目录的详细信息,包括文件路径、名称、是否为目录、依赖关系和重要性评分。
  • 项目文件树检索: 提供检索整个项目文件树的功能,包含所有文件和目录的结构化信息。
  • 标准MCP接口: 通过标准的 JSON-RPC over Stdio 接口与 MCP 客户端通信。

安装步骤

  1. 克隆仓库
    git clone https://github.com/admica/file_rank_mcp.git
    cd file_rank_mcp
  2. 执行构建脚本
    chmod +x build.sh
    ./build.sh
    这个脚本会自动安装依赖、编译代码并生成 'mcp.json' 配置文件。
  3. 移动配置文件 将生成的 'mcp.json' 文件移动到你的项目 '.cursor/' 目录下 (如果你使用 Cursor AI)。

服务器配置

MCP 客户端需要配置以下信息来启动和连接 File Rank MCP Server。以下是 'mcp.json' 配置示例:

{
  "servers": [
    {
      "name": "file-rank-mcp",  // 服务器名称,可以自定义
      "command": "node",        // 启动服务器的命令,这里使用 Node.js 运行 JavaScript
      "args": ["dist/mcp-server.js"] // 启动命令的参数,指向编译后的服务器入口文件
    }
  ]
}

配置参数说明:

  • 'name': 服务器的唯一标识名称,客户端通过此名称引用服务器。
  • 'command': 启动服务器进程的可执行命令。
  • 'args': 传递给启动命令的参数列表。

基本使用方法

  1. 启动服务器: MCP 客户端 (例如 Cursor AI) 会根据 'mcp.json' 的配置自动启动 'File Rank MCP Server'。你也可以手动在项目根目录下运行以下命令启动服务器:

    node dist/mcp-server.js

    服务器启动后,会监听标准输入 (stdio) 上的 JSON-RPC 请求。

  2. 资源查询: 客户端可以通过 MCP 协议请求 'file-rank' 资源,获取文件或目录的信息。

    • 查询整个项目文件树:资源 URI 为 'file-rank-mcp://current-project'
    • 查询指定路径的文件或目录信息:资源 URI 为 'file-rank-mcp://path/to/file_or_directory' (例如 'file-rank-mcp://src/mcp-server.ts')
  3. 工具调用: 客户端可以调用服务器提供的工具来执行特定操作。

    • 获取项目文件树: 调用工具 'get_file_tree' (无需参数)
    • 获取文件/目录信息: 调用工具 'get_file_info',参数 'path' 指定文件或目录的相对路径 (例如 '{ "path": "src/file-utils.ts" }')
    • 列出文件依赖: 调用工具 'list_dependencies',参数 'path' 指定文件相对路径 (例如 '{ "path": "src/mcp-server.ts" }')

注意: 服务器通过标准 JSON-RPC over Stdio 与客户端通信,无需额外配置网络端口。

信息

分类

开发者工具