项目简介

'mcp-project-structure' 服务器是一个强大的工具,旨在帮助AI助手更好地理解您的JavaScript/TypeScript代码库。它能自动扫描并解析项目文件,提取详细的函数签名、tRPC路由过程,并映射整体项目结构,从而为AI提供丰富的上下文信息。这使得AI在代码理解、代码生成、问题诊断等方面能够更高效地工作。

主要功能点

  • 智能代码分析: 自动扫描和解析JavaScript/TypeScript文件,无需手动配置。
  • 函数签名提取: 精确提取函数、方法及其参数和返回类型的详细签名,帮助AI理解功能接口。
  • tRPC过程检测: 专门支持识别和文档化tRPC路由器中的查询(query)和变更(mutation)过程,理解API定义。
  • 项目结构映射: 根据文件路径组织代码分析结果,生成清晰的Markdown文档,提供项目概览。
  • 导出感知过滤: 可选择只关注项目中导出的函数和所有tRPC过程,聚焦关键功能。
  • 文件/文件夹黑名单: 通过命令行参数灵活排除特定文件或文件夹,避免不必要的分析,优化性能。
  • MCP无缝集成: 与任何兼容Model Context Protocol (MCP) 的客户端(如Cursor, Claude Desktop等)无缝协作,扩展AI助手的代码理解能力。

安装步骤

  1. Node.js 环境: 确保您的系统安装了Node.js (版本18.0.0或更高) 和TypeScript (版本5.0.0或更高,作为对等依赖)。您可以通过在终端运行 'node -v' 和 'tsc -v' 来检查版本。
  2. 无需手动安装: 本MCP服务器作为一个npm包发布,可以直接通过 'npx' 命令运行,无需提前进行全局或本地安装。

服务器配置

MCP服务器需要通过MCP客户端(如Cursor)进行配置。您需要在MCP客户端的配置文件(通常是 '~/.cursor/mcp.json')中添加以下配置信息,以便客户端能够启动并连接到此服务器。

{
  "mcpServers": {
    "mcp-project-structure": {
      "command": "npx",
      "args": ["-y", "mcp-project-structure", "--workspace", "."],
      "env": {}
    }
  }
}

配置参数说明:

  • '"mcp-project-structure"': 这是您为该MCP服务器定义的唯一名称,在您的MCP客户端中识别此服务器。
  • '"command"': 启动服务器所使用的命令。这里使用 '"npx"',它会自动下载并运行npm包。
  • '"args"': 传递给 'command' 命令的参数列表。
    • '"-y"': 'npx' 的参数,表示在安装时自动确认。
    • '"mcp-project-structure"': 要运行的npm包名称。
    • '"--workspace", "."': 必需参数。'--workspace' 后跟一个路径,指定服务器应扫描的项目根目录。'"."' 表示MCP客户端启动时所在的当前工作目录。
  • '"env"': 一个空的JSON对象,用于设置服务器进程的环境变量(此处无特殊需求)。

使用黑名单排除文件/文件夹 (可选): 您可以通过在 'args' 中添加 '--blacklist' 参数来排除特定的文件或文件夹,避免它们被服务器分析。

{
  "mcpServers": {
    "mcp-project-structure": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-project-structure",
        "--workspace",
        ".",
        "--blacklist",
        "tests,dist,*.test.ts,src/components/ui"
      ],
      "env": {}
    }
  }
}

'--blacklist' 参数接受一个逗号分隔的模式列表。例如:

  • 'tests': 排除名为 'tests' 的文件夹及其内容。
  • 'dist': 排除名为 'dist' 的文件夹及其内容。
  • '*.test.ts': 排除所有以 '.test.ts' 结尾的文件。
  • 'src/components/ui': 排除指定路径下的文件夹。 这些模式会自动与服务器内置的默认忽略列表(如 'node_modules', '.next' 等)合并。

基本使用方法

一旦MCP客户端成功配置并连接到 'mcp-project-structure' 服务器,AI助手就可以通过调用服务器内部注册的工具来获取项目结构信息。

例如,当您在MCP客户端中与AI助手进行代码相关的交流时(如询问“这个项目有哪些主要功能?”或“如何调用'userRouter'中的'getUser'方法?”),AI助手会识别出需要代码上下文。此时,它将自动调用 'mcp-project-structure' 服务器提供的 'get-project-structure' 工具。该工具将执行代码扫描和分析,并返回一个结构化的Markdown文档,其中包含您项目中所有函数签名、tRPC过程及其它相关信息。AI助手利用这些准确的上下文信息,可以更智能、更精确地回答您的问题,或根据您的需求进行代码生成和修改。

信息

分类

开发者工具