使用说明

项目简介

'代码上下文 MCP 服务器' 是一个实现了 Model Context Protocol (MCP) 的后端服务,旨在为 AI 助手提供代码项目的上下文信息。它能够分析代码仓库,提取目录结构和代码符号(如函数、变量、类等),从而帮助 AI 助手更好地理解代码库,提升代码相关的智能辅助功能。

主要功能点

  • 目录树生成:快速扫描指定目录,生成清晰的目录结构,方便 AI 助手理解项目的文件组织。
  • 代码符号分析:支持 JavaScript、TypeScript 和 Python 代码文件的分析,提取函数、变量、类、导入导出等代码符号,为 AI 助手提供更深层次的代码理解。
  • 可配置分析深度:允许用户设置最大分析目录深度,控制分析范围,适用于大型项目,避免分析过多不必要的代码。
  • 灵活的文件模式匹配:支持自定义文件模式匹配,允许用户指定需要分析的文件类型或文件名,提高分析的针对性和效率。
  • MCP 协议兼容:遵循 MCP 协议标准,可以与任何兼容 MCP 协议的 AI 客户端无缝集成。

安装步骤

本 MCP 服务器可以通过 npm 包管理器进行安装和运行。

方法一:使用 npx 快速启动 (无需全局安装)

打开终端,根据你的操作系统执行以下命令即可快速启动服务器:

Windows:

{
  "mcpServers": {
    "code-context-provider-mcp": {
      "command": "cmd.exe",
      "args": [
        "/c",
        "npx",
        "-y",
        "code-context-provider-mcp@latest"
      ]
    }
  }
}

MacOS/Linux:

{
  "mcpServers": {
    "code-context-provider-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "code-context-provider-mcp@latest"
      ]
    }
  }
}

方法二:全局安装后运行

  1. 全局安装: 在终端执行以下命令进行全局安装:

    npm install -g code-context-provider-mcp
  2. 运行服务器: 安装完成后,在终端执行以下命令启动服务器:

    code-context-provider-mcp

服务器配置

为了让 MCP 客户端能够连接到 '代码上下文 MCP 服务器',需要在客户端的配置文件中添加服务器的配置信息。以下是配置示例,请根据你的实际使用场景进行调整。

配置参数说明:

  • '"server name"': 服务器名称,可以自定义,用于在客户端中标识该服务器。例如 '"code-context-provider-mcp"'。
  • '"command"': 启动服务器的命令。
    • 对于 'npx' 启动方式,Windows 系统使用 '"cmd.exe"',MacOS/Linux 系统使用 '"npx"'。
    • 对于全局安装方式,'command' 为 '"code-context-provider-mcp"'。
  • '"args"': 启动命令的参数。
    • 对于 'npx' 启动方式,参数为 '["-y", "code-context-provider-mcp@latest"]', '-y' 表示自动确认安装,'code-context-provider-mcp@latest' 指定要运行的 npm 包。

配置示例 (JSON 格式):

以下 JSON 配置示例展示了如何在 MCP 客户端中配置 '代码上下文 MCP 服务器'。请将以下 JSON 代码添加到你的 MCP 客户端的服务器配置部分。

使用 npx 启动 (推荐):

Windows:

{
  "mcpServers": {
    "code-context-provider-mcp": {
      "command": "cmd.exe",
      "args": [
        "/c",
        "npx",
        "-y",
        "code-context-provider-mcp@latest"
      ]
    }
  }
}

MacOS/Linux:

{
  "mcpServers": {
    "code-context-provider-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "code-context-provider-mcp@latest"
      ]
    }
  }
}

全局安装后启动:

{
  "mcpServers": {
    "code-context-provider-mcp": {
      "command": "code-context-provider-mcp",
      "args": []
    }
  }
}

基本使用方法

'代码上下文 MCP 服务器' 提供了一个名为 'get_code_context' 的工具,用于获取代码项目的上下文信息。

调用 'get_code_context' 工具:

MCP 客户端可以通过 JSON-RPC 请求调用 'get_code_context' 工具,并传递以下参数:

  • 'absolutePath' (string, 必填): 要分析的目录的绝对路径。Windows 用户建议使用正斜杠 '/' 分隔路径,避免转义问题 (例如: 'C:/Users/username/Documents/project/src')
  • 'analyzeJs' (boolean, 可选, 默认: 'false'): 是否分析 JavaScript、TypeScript 和 Python 文件,提取代码符号。如果设置为 'true',响应中会包含函数、变量、类等的数量统计。
  • 'includeSymbols' (boolean, 可选, 默认: 'false'): 是否在响应中包含详细的代码符号信息。如果设置为 'true',响应中会包含每个文件的代码符号列表。
  • 'symbolType' (enum, 可选, 默认: ''all''): 当 'includeSymbols' 为 'true' 时,指定要包含的代码符号类型。可选值包括 ''functions'', ''variables'', ''classes'', ''imports'', ''exports'', ''all''。
  • 'filePatterns' (array of strings, 可选): 用于指定要分析的文件模式列表。例如 '[".js", ".py"]' 表示只分析 JavaScript 和 Python 文件。
  • 'maxDepth' (number, 可选, 默认: '5'): 代码分析的最大目录深度。目录树结构始终会完整生成,但代码符号分析只会进行到指定深度。

示例工具调用 (假设使用 MCP 客户端):

{
  "jsonrpc": "2.0",
  "method": "tool/invoke",
  "params": {
    "tool_name": "get_code_context",
    "arguments": {
      "absolutePath": "/path/to/your/project",
      "analyzeJs": true,
      "includeSymbols": false,
      "maxDepth": 3
    }
  },
  "id": "1"
}

工具响应:

服务器会返回 JSON-RPC 响应,其中 'result.content' 字段包含分析结果的文本内容,包括目录结构和代码分析摘要(如果启用了代码分析)。

注意:

  • 代码符号分析目前仅支持 JavaScript、TypeScript 和 Python 文件。
  • 可以通过 'maxDepth' 参数控制分析深度,对于大型项目,建议适当减小 'maxDepth' 值以提高效率。

信息

分类

开发者工具