Code Context Provider MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
MCP server that provides code context and analysis for AI assistants. Extracts directory structure and code symbols using WebAssembly Tree-sitter parsers with Zero Native Dependencies.
---
Features
- Generate directory tree structure
- Analyze JavaScript/TypeScript and Python files
- Extract code symbols (functions, variables, classes, imports, exports)
- Compatible with the MCP protocol for seamless integration with AI assistants
Quick Usage (MCP Setup)
Installing via Smithery
To install Code Context Provider for Claude Desktop automatically via Smithery:
Windows
MacOS/Linux
OR install globally with npm:
Then use it by running:
Available Tools
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 analyze
- analyzeJs (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.
Example Output Text On Tool Call
File Pattern Examples
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:
- Simple glob patterns with wildcards (*)
- Direct file extensions (with or without the dot)
- Exact file names
Handling Large Projects
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 subdirectories
- maxDepth: 3 - Analyze the root, and two levels of subdirectories
- maxDepth: 0 - Only analyze files in the root directory
This is particularly useful when:
- Working with large monorepos