mcpField
C
Code Context Provider MCP

Code Context Provider MCP

本地服务
github.com/AB498开发工具2057 周前更新

关于 Code Context Provider MCP

Code Context Provider MCP 是一个 MCP 服务,为 AI 助手提供代码上下文与分析。它基于 WebAssembly 版 Tree-sitter 解析器提取目录结构和代码符号,并声明不依赖原生库。

主要功能

  1. 01生成目录树结构
  2. 02分析 JavaScript、TypeScript 与 Python 文件
  3. 03提取函数、变量、类、导入与导出符号
  4. 04支持通过 filePatterns 过滤文件
  5. 05支持 maxDepth 限制遍历深度

适用场景

  1. 01为 AI 助手提供大型项目的目录结构概览
  2. 02在分析前筛选特定类型或名称的配置文件
  3. 03在大型 monorepo 中只分析主要源码

MCP 相关

该项目是 MCP 服务,通过 get_code_context 工具向 MCP 客户端返回目录结构和可选的代码符号信息。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"code-context-provider": {
"command": "npx",
"args": [
"-y",
"code-context-provider-mcp"
]
}
}
}
启动命令npx -y code-context-provider-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcode-context-provider-mcp

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
absolutePathstring是要分析的目录的绝对路径。对于 Windows,建议使用正斜杠以避免转义(例如 C:/Users/username/Documents/project/src)
analyzeJsboolean否是否分析 JavaScript/TypeScript 和 Python 文件。返回代码库中的函数、变量、类、导入和导出项的数量。
includeSymbolsboolean否是否在响应中包含代码符号。若启用,则返回每个文件的代码符号。
symbolTypeenum否如果 includeSymbols 为 true,则要包含的符号类型。否则,仅返回目录树。functions | variables | classes | imports | exports | all
maxDepthnumber否代码分析的最大目录深度(默认:5 层)。仍会为所有层级构建目录树。如果只需要快速了解项目概况,请降低深度。

详细介绍

Code Context Provider MCP

为 AI 助手提供代码上下文和分析的 MCP 服务。使用 WebAssembly Tree-sitter 解析器提取目录结构和代码符号,且无需原生依赖。
README 配图 Discord License: MIT PyPi

功能

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

快速使用(MCP 设置)

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 Code Context Provider:

npx -y @smithery/cli install @AB498/code-context-provider-mcp --client claude
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(string,必填):要分析的目录的绝对路径
  • analyzeJs(boolean,可选):是否分析 JavaScript/TypeScript 和 Python 文件(默认值:false)
  • includeSymbols(boolean,可选):是否在响应中包含代码符号(默认值:false)
  • symbolType(enum,可选):当 includeSymbols 为 true 时要包含的符号类型(选项:'functions'、'variables'、'classes'、'imports'、'exports'、'all',默认值:'all')
  • filePatterns(字符串数组,可选):要分析的文件模式(例如 ['.js'、'.py'、'config.*'])
  • maxDepth(number,可选):要分析的最大目录深度(默认值: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 文件(使用扩展名格式)

文件模式匹配支持:

  • 带通配符(*)的简单 glob 模式
  • 直接指定文件扩展名(带点或不带点)
  • 精确文件名

处理大型项目

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

  • maxDepth: 2 - 仅分析根目录和下一层子目录
  • maxDepth: 3 - 分析根目录和下两层子目录
  • maxDepth: 0 - 仅分析根目录中的文件

以下场景中特别有用:

  • 处理大型 monorepo
  • 分析包含许多依赖项的项目
  • 只关注主要源代码,不分析第三方库

支持的语言

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

  • 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

了解更多信息或寻求帮助

评论

支持 Markdown

第一次接触 MCP?

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

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