返回市场
代码上下文提供者mcp

代码上下文提供者mcp

作者:AB49820 星标更新:2025-09-23

项目介绍

Code Context Provider MCP

提供代码上下文和分析的MCP服务器。使用WebAssembly Tree-sitter解析器(零本地依赖)提取目录结构和代码符号。

<div align="center" style="text-align:center;font-family: monospace; display: flex; align-items: center; justify-content: center; width: 100%; gap: 10px"> <a href="https://nextjs-boilerplate-ashy-nine-64.vercel.app/demo-context-provider"><img src="https://komarev.com/ghpvc/?username=AB498&label=DEMO&style=for-the-badge&color=CC0000" /></a> <a href="https://discord.gg/ZeeqSBpjU2"><img src="https://img.shields.io/discord/1095854826786668545?style=for-the-badge&color=0000CC" alt="Discord"></a> <a href="https://img.shields.io/badge/License-MIT-yellow.svg"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge&color=00CC00" alt="License: MIT"></a> <a href="https://www.npmjs.com/package/code-context-provider-mcp"><img src="https://img.shields.io/npm/v/code-context-provider-mcp?style=for-the-badge" alt="PyPi"></a> </div>

特性

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

快速使用(MCP设置)

通过Smithery安装

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

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 # 如果不使用@latest,可能需要清除缓存以获取最新版本:对于Windows使用`Remove-Item -Path "$env:LOCALAPPDATA\npm-cache\_npx" -Recurse -Force`,对于Linux/MacOS使用`rm -rf ~/.npm/_npx`

可用工具

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级)

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

工具调用示例输出文本

目录结构为:C:\Users\Admin\Desktop\mcp\context-provider-mcp

代码分析摘要:
- 分析的文件数:3
- 总函数数:29
- 总变量数:162
- 总类数:0

注意:仅支持对JavaScript/TypeScript (.js, .jsx, .ts, .tsx) 和 Python (.py) 文件进行符号分析。

代码分析限制在最大5级目录深度(默认)。

├── index.js (39 KB)
│   └── [分析:22个函数,150个变量,0个类]
│       函数:
│       - 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 - 只分析根目录中的文件

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

  • 使用大型单体仓库
  • 分析有许多依赖项的项目
  • 专注于主要源代码而不是第三方库

支持的语言

代码符号分析支持:

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

使用filePatterns参数允许您包括其他文件类型在目录结构中,尽管符号分析可能会有限制。

开发

[开发] 设置开发环境

# 克隆仓库
git clone https://github.com/your-username/code-context-provider-mcp.git
cd code-context-provider-mcp

# 安装依赖
npm install

# 设置WASM解析器
npm run setup

[开发] 安装后

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

npx code-context-provider-mcp-setup

许可证

MIT

更多信息或帮助