C

Code Context Provider (代码上下文提供者)

@AB498/code-context-provider-mcp
0 Stars 96 次浏览 AB498 更新于 2026-08-23

通过使用没有本地依赖的 WebAssembly Tree-sitter 解析器提取目录结构和代码符号,为 AI 助手提供代码上下文和分析。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

服务介绍

代码上下文提供者 MCP

MCP 服务器为 AI 助手提供代码上下文和分析。使用 WebAssembly Tree-sitter 解析器提取目录结构和代码符号,无任何本地依赖。


特性

  • 生成目录树结构
  • 分析 JavaScript/TypeScript 和 Python 文件
  • 提取代码符号(函数、变量、类、导入、导出)
  • 与 MCP 协议兼容,可无缝集成到 AI 助手中

快速使用 (MCP 设置)

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"
      ]
    }
  }
}

或者使用 npm 全局安装:

npm install -g code-context-provider-mcp

然后通过运行以下命令来使用它:

code-context-provider-mcp # if you're not using @latest, you may want to clear the cache for latest version using `Remove-Item -Path "$env:LOCALAPPDATA\npm-cache\_npx" -Recurse -Force` for windows and `rm -rf ~/.npm/_npx` for linux/macos

可用工具

get_code_context

分析一个目录并返回其结构以及代码符号(可选)。

参数:

  • absolutePath (字符串, 必需): 要分析的目录的绝对路径
  • analyzeJs (布尔值, 可选): 是否分析 JavaScript/TypeScript 和 Python 文件 (默认: false)
  • includeSymbols (布尔值, 可选): 是否在响应中包含代码符号 (默认: false)
  • symbolType (枚举, 可选): 如果 includeSymbols 为 true,则指定要包含的符号类型 (选项: 'functions', 'variables', 'classes', 'imports', 'exports', 'all', 默认: 'all')
  • filePatterns (字符串数组, 可选): 要分析的文件模式 (例如 ['.js', '.py', 'config.*'])
  • maxDepth (数字, 可选): 最大目录深度 (默认: 5 层)

注意:匿名函数会自动从结果中过滤掉。

工具调用示例输出文本

Directory structure for: C:\Users\Admin\Desktop\mcp\context-provider-mcp

Code Analysis Summary:
- Files analyzed: 3
- Total functions: 29
- Total variables: 162
- Total classes: 0

Note: Symbol analysis is supported for JavaScript/TypeScript (.js, .jsx, .ts, .tsx) and Python (.py) files only.

Code analysis limited to a maximum depth of 5 directory levels (default).

├── index.js (39 KB)
│   └── [Analyzed: 22 functions, 150 variables, 0 classes]
│       Functions:
│       - initializeTreeSitter [39:0]
│       - getLanguageFromExtension [107:0]
│       - getPosition [138:24]

文件模式示例

您可以使用 filePatterns 参数来指定要分析哪些文件。这对于具有多种语言或特定感兴趣文件的复杂项目非常有用。

示例:

  • ["*.js", "*.py"] - 分析所有 JavaScript 和 Python 文件
  • ["config.*"] - 无论扩展名如何,分析所有配置文件
  • ["package.json", "*.config.js"] - 分析 package.json 和任何 JavaScript 配置文件
  • [".ts", ".tsx", ".py"] - 分析 TypeScript 和 Python 文件 (使用扩展名格式)

文件模式匹配支持:

  • 简单的通配符模式 (*)
  • 直接文件扩展名(带或不带点)
  • 完整的文件名

处理大型项目

对于非常大的项目,您可以使用 maxDepth 参数来限制工具遍历目录的深度:

  • maxDepth: 2 - 仅分析根目录及其一级子目录
  • maxDepth: 3 - 分析根目录及其两级子目录
  • maxDepth: 0 - 仅分析根目录中的文件

这在以下情况下特别有用:

  • 处理大型单仓库(monorepos)
  • 分析具有许多依赖项的项目
  • 仅关注主源代码,而不关注第三方库

支持的语言

代码符号分析支持以下语言:

  • JavaScript (.js)
  • JSX (.jsx)
  • TypeScript (.ts)
  • TSX (.tsx)
  • Python (.py)

使用 filePatterns 参数可以让你在目录结构中包含其他文件类型,尽管符号分析可能有限。

开发

设置开发环境

# Clone the repository
git clone https://github.com/your-username/code-context-provider-mcp.git
cd code-context-provider-mcp

# Install dependencies
npm install

# Set up WASM parsers
npm run setup

安装后

安装后,包的 prepare 脚本会自动运行以下载 WASM 解析器。如果由于某些原因下载失败,用户可以手动运行设置:

npx code-context-provider-mcp-setup

许可证

MIT

更多信息或帮助

相关 MCP 服务