代码上下文提供程序MCP
MCP服务器,为AI助手提供代码上下文和分析。使用具有零本机依赖性的WebAssembly树型解析器提取目录结构和代码符号。
______________________________________________________________________
特性
- 生成目录树结构
- 分析JavaScript/TypeScript和Python文件
- 提取代码符号(函数、变量、类、导入、导出)
- 与MCP协议兼容,可与AI助手无缝集成
快速使用(MCP设置)
通过Smithery安装
通过以下方式自动安装Claude Desktop的代码上下文提供程序 铁匠铺:
npx -y @smithery/cli install @AB498/code-context-provider-mcp --client claude视窗
{
"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(布尔值,可选):是否分析JavaScript/TypeScript和Python文件(默认值:false)includeSymbols(boolean,可选):是否在响应中包含代码符号(默认值:false)symbolType(枚举,可选):如果includeSymbols为true,则要包含的符号类型(选项:“函数”、“变量”、“类”、“导入”、“导出”、“全部”,默认值:“全部”)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文件(使用扩展名格式)
文件模式匹配支持:
- 带通配符的简单glob模式(\*)
- 直接文件扩展名(带或不带圆点)
- 精确的文件名
处理大型项目
对于大型项目,您可以使用 maxDepth 参数来限制工具遍历目录的深度:
maxDepth: 2-仅分析根目录和一级子目录maxDepth: 3-分析根目录和两级子目录maxDepth: 0-仅分析根目录中的文件
这在以下情况下特别有用:
- 与大型monorepos合作
- 分析具有许多依赖关系的项目
- 只关注主要源代码,不关注第三方库
支持的语言
支持以下代码符号分析:
- JavaScript(.js)
- JSX(.JSX)
- TypeScript(.ts)
- 多伦多证券交易所(.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许可证
麻省理工学院
