Code Context Provider
STDIOProvides code context and analysis using WebAssembly Tree-sitter parsers with zero native dependencies.
Provides code context and analysis using WebAssembly Tree-sitter parsers with zero native dependencies.
To install Code Context Provider for Claude Desktop automatically via Smithery:
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" ] } } }
{ "mcpServers": { "code-context-provider-mcp": { "command": "npx", "args": [ "-y", "code-context-provider-mcp@latest" ] } } }
OR install globally with npm
:
npm install -g code-context-provider-mcp
Then use it by running:
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
Analyzes a directory and returns its structure along with code symbols (optional).
Parameters:
absolutePath
(string, required): Absolute path to the directory to analyzeanalyzeJs
(boolean, optional): Whether to analyze JavaScript/TypeScript and Python files (default: false)includeSymbols
(boolean, optional): Whether to include code symbols in the response (default: false)symbolType
(enum, optional): Type of symbols to include if includeSymbols is true (options: 'functions', 'variables', 'classes', 'imports', 'exports', 'all', default: 'all')filePatterns
(array of strings, optional): File patterns to analyze (e.g. ['.js', '.py', 'config.*'])maxDepth
(number, optional): Maximum directory depth to analyze (default: 5 levels)Note: Anonymous functions are automatically filtered out of the results.
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]
You can use the filePatterns
parameter to specify which files to analyze. This is useful for complex projects with multiple languages or specific files of interest.
Examples:
["*.js", "*.py"]
- Analyze all JavaScript and Python files["config.*"]
- Analyze all configuration files regardless of extension["package.json", "*.config.js"]
- Analyze package.json and any JavaScript config files[".ts", ".tsx", ".py"]
- Analyze TypeScript and Python files (using extension format)The file pattern matching supports:
For very large projects, you can use the maxDepth
parameter to limit how deeply the tool will traverse directories:
maxDepth: 2
- Only analyze the root directory and one level of subdirectoriesmaxDepth: 3
- Analyze the root, and two levels of subdirectoriesmaxDepth: 0
- Only analyze files in the root directoryThis is particularly useful when:
Code symbol analysis is supported for:
Using the filePatterns
parameter allows you to include other file types in the directory structure, though symbolic analysis may be limited.
# 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
After installation, the package's prepare
script automatically runs to download the WASM parsers. If for some reason the download fails, users can manually run the setup:
npx code-context-provider-mcp-setup
MIT