mcp-server-code-extractor


Namemcp-server-code-extractor JSON
Version 0.4.2 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol (MCP) server that provides precise code extraction tools using tree-sitter parsing
upload_time2025-07-14 05:45:07
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords mcp model-context-protocol code-extraction tree-sitter ai-tools
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MCP Server Code Extractor

A Model Context Protocol (MCP) server that provides precise code extraction tools using tree-sitter parsing. Extract functions, classes, and code snippets from 30+ programming languages without manual parsing.

## Why MCP Server Code Extractor?

When working with AI coding assistants like Claude, you often need to:
- Extract specific functions or classes from large codebases
- Get an overview of what's in a file without reading the entire thing
- Retrieve precise code snippets with accurate line numbers
- Avoid manual parsing and grep/sed/awk gymnastics

MCP Server Code Extractor solves these problems by providing structured, tree-sitter-powered code extraction tools directly within your AI assistant.

## Features

- **🎯 Precise Extraction**: Uses tree-sitter parsing for accurate code boundary detection
- **🔍 Semantic Search**: Search for function calls and code patterns across files and directories
- **🌍 30+ Languages**: Supports Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, and many more
- **📍 Line Numbers**: Every extraction includes precise line number information
- **🗂️ Directory Search**: Search entire codebases with file pattern filtering and exclusions
- **📊 Depth Control**: Extract at different levels (top-level only, classes+methods, everything)
- **🌐 URL Support**: Fetch and extract code from GitHub, GitLab, and direct file URLs
- **🔄 Git Integration**: Extract code from any git revision, branch, or tag
- **⚡ Fast & Lightweight**: Efficient caching and minimal dependencies
- **🤖 AI-Optimized**: Designed specifically for use with AI coding assistants

## Installation

### Quick Start with uvx (Recommended)

```bash
# Install and run directly with uvx
uvx mcp-server-code-extractor
```

### Alternative Installation Methods

#### Using UV
```bash
# Install UV if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Run as package with UV
uv run mcp-server-code-extractor
```

#### Using pip
```bash
pip install mcp-server-code-extractor
mcp-server-code-extractor
```

#### Development Installation
```bash
# Clone this repository
git clone https://github.com/ctoth/mcp_server_code_extractor
cd mcp_server_code_extractor

# Install development dependencies
uv add --dev pytest black flake8 mypy

# Run as Python module
uv run python -m code_extractor
```

### Configure with Claude Desktop

Add to your Claude Desktop configuration:

#### Using uvx (Recommended)
```json
{
  "mcpServers": {
    "mcp-server-code-extractor": {
      "command": "uvx",
      "args": ["mcp-server-code-extractor"]
    }
  }
}
```

#### Using UV
```json
{
  "mcpServers": {
    "mcp-server-code-extractor": {
      "command": "uv",
      "args": ["run", "mcp-server-code-extractor"]
    }
  }
}
```

#### Using pip installation
```json
{
  "mcpServers": {
    "mcp-server-code-extractor": {
      "command": "mcp-server-code-extractor"
    }
  }
}
```

### Testing with MCP Inspector

```bash
# Test the server with MCP Inspector
npx @modelcontextprotocol/inspector uvx mcp-server-code-extractor

# Or with other installation methods
npx @modelcontextprotocol/inspector uv run mcp-server-code-extractor
npx @modelcontextprotocol/inspector mcp-server-code-extractor
```

## Available Tools

### 1. `get_symbols` - Discover Code Structure
List all functions, classes, and other symbols in a file with depth control.

```
Parameters:
- path_or_url: Path to source file or URL
- git_revision: Optional git revision (branch, tag, commit)
- depth: Symbol extraction depth (0=everything, 1=top-level only, 2=classes+methods)

Returns:
- name: Symbol name
- type: function/class/method/etc
- start_line/end_line: Line numbers
- preview: First line of the symbol
- parent: Parent class name (for methods)
```

### 2. `search_code` - Semantic Code Search
Search for code patterns using tree-sitter parsing. Supports both single-file and directory-wide searches.

```
Parameters:
- search_type: Type of search ("function-calls")
- target: What to search for (e.g., "requests.get", "logger.error", "validateData")
- scope: File path, directory path, or URL to search in
- language: Programming language (auto-detected if not specified)
- git_revision: Optional git revision (commit, branch, tag) - not supported for URLs
- max_results: Maximum number of results to return (default: 100)
- include_context: Include surrounding code lines for context (default: true)
- file_patterns: File patterns for directory search (e.g., ["*.py", "*.js"])
- exclude_patterns: File patterns to exclude (e.g., ["*.pyc", "node_modules/*"])
- max_files: Maximum number of files to search in directory mode (default: 1000)
- follow_symlinks: Whether to follow symbolic links in directory search (default: false)

Returns:
- file_path: Path to file containing the match
- start_line/end_line: Line numbers of the match
- match_text: The matching code
- context_before/context_after: Surrounding code lines
- language: Detected programming language
- metadata: Additional search information
```

### 3. `get_function` - Extract Complete Functions
Extract a complete function with all its code.

```
Parameters:
- path_or_url: Path to source file or URL
- function_name: Name of the function to extract
- git_revision: Optional git revision (branch, tag, commit)

Returns:
- code: Complete function code
- start_line/end_line: Precise boundaries
- language: Detected language
```

### 4. `get_class` - Extract Complete Classes
Extract an entire class definition including all methods.

```
Parameters:
- path_or_url: Path to source file or URL
- class_name: Name of the class to extract
- git_revision: Optional git revision (branch, tag, commit)

Returns:
- code: Complete class code
- start_line/end_line: Precise boundaries
- language: Detected language
```

### 5. `get_lines` - Extract Specific Line Ranges
Get exact line ranges when you know the line numbers.

```
Parameters:
- path_or_url: Path to source file or URL
- start_line: Starting line (1-based)
- end_line: Ending line (inclusive)
- git_revision: Optional git revision (branch, tag, commit)

Returns:
- code: Extracted lines
- line numbers and metadata
```

### 6. `get_signature` - Get Function Signatures
Quickly get just the function signature without the body.

```
Parameters:
- path_or_url: Path to source file or URL
- function_name: Name of the function
- git_revision: Optional git revision (branch, tag, commit)

Returns:
- signature: Function signature only
- start_line: Where the function starts
```

## Usage Examples

### Example 1: Exploring Local Files

```python
# First, see what's in the file
symbols = get_symbols("src/main.py")
# Returns: List of all functions and classes with line numbers

# Extract a specific function
result = get_function("src/main.py", "process_data")
# Returns: Complete function code with line numbers

# Get just a function signature
sig = get_signature("src/main.py", "process_data")
# Returns: "def process_data(input_file: str, output_dir: Path) -> Dict[str, Any]:"
```

### Example 2: Working with URLs and Git Revisions

```python
# Explore a GitHub file (current version)
symbols = get_symbols("https://raw.githubusercontent.com/user/repo/main/src/api.py")

# Extract function from GitLab
result = get_function("https://gitlab.com/user/project/-/raw/main/utils.py", "helper_func")

# Work with git revisions (local files only)
symbols_old = get_symbols("src/api.py", git_revision="HEAD~1")
function_from_branch = get_function("src/utils.py", "helper_func", git_revision="feature-branch")
class_from_tag = get_class("src/models.py", "User", git_revision="v1.0.0")

# Get lines from any URL
lines = get_lines("https://example.com/code/script.py", 10, 25)
```

### Example 3: Progressive Code Discovery

```python
# 1. Start with overview - just see the main structure
overview = get_symbols("models/user.py", depth=1)
# Shows: class User, class Admin, def create_user, etc.

# 2. Explore a specific class and its methods
class_methods = get_symbols("models/user.py", depth=2)
# Shows: class User with its methods like __init__, validate, save

# 3. Extract the full class when you need implementation details
user_class = get_class("models/user.py", "User")
# Returns: Complete User class with all methods

# 4. Or get just a specific method signature for quick reference
init_sig = get_signature("models/user.py", "__init__")
# Returns: "def __init__(self, username: str, email: str, **kwargs):"

# 5. Extract specific lines when you know exactly what you need
lines = get_lines("models/user.py", 10, 25)
# Returns: Lines 10-25 of the file
```

### Example 4: Semantic Code Search

```python
# Search for specific function calls in a single file
results = search_code(
    search_type="function-calls",
    target="requests.get",
    scope="src/api.py"
)
# Returns: All requests.get() calls with line numbers and context

# Search across an entire directory
results = search_code(
    search_type="function-calls", 
    target="logger.error",
    scope="src/",
    file_patterns=["*.py"],
    exclude_patterns=["test_*", "__pycache__/*"]
)
# Returns: All logger.error() calls across Python files, excluding tests

# Cross-language search in frontend code
results = search_code(
    search_type="function-calls",
    target="fetchData", 
    scope="frontend/",
    file_patterns=["*.js", "*.ts", "*.jsx"],
    max_results=50
)
# Returns: All fetchData() calls in JavaScript/TypeScript files
```

### Example 5: Multi-Language Support

```javascript
// Works with JavaScript/TypeScript
symbols = get_symbols("app.ts")
func = get_function("app.ts", "handleRequest")
```

```go
// Works with Go
symbols = get_symbols("main.go")
method = get_function("main.go", "ServeHTTP")
```

## Supported Languages

- Python, JavaScript, TypeScript, JSX/TSX
- Go, Rust, C, C++, C#, Java
- Ruby, PHP, Swift, Kotlin, Scala
- Bash, PowerShell, SQL
- Haskell, OCaml, Elixir, Clojure
- And many more...

## Best Practices

### Progressive Discovery Workflow
1. **Start with `search_code`** to find relevant functions and patterns across the codebase
2. **Use `get_symbols`** with `depth=1` to see file structure of interesting files
3. **Use depth control** - `depth=2` for classes+methods, `depth=0` for everything
4. **Extract specific items** with `get_function/get_class` for implementation details
5. **Use `get_signature`** for quick API exploration without full code
6. **Use `get_lines`** when you know exact line numbers

### Semantic Search Tips
- Use **directory search** to find patterns across your entire codebase
- Apply **file patterns** to focus on specific languages or file types
- Use **exclusion patterns** to skip test files, build artifacts, and dependencies
- Set appropriate **max_results** and **max_files** limits for large codebases
- Enable **context** to understand the surrounding code

### Git Integration Tips
- Use git revisions to compare implementations across versions
- Extract from feature branches to review changes
- Use tags to get stable API versions

### URL Usage
- GitHub/GitLab URLs work great for exploring open source code
- Combine with local git revisions for comprehensive analysis
- Note: git revisions only work with local files, not URLs

## Advantages Over Traditional Tools

**Traditional file reading:**
- Reads entire files (inefficient for large files)
- Requires manual parsing to find functions/classes
- Manual line counting for extraction
- Complex syntax edge cases

**MCP Server Code Extractor:**
- ✅ Extracts exactly what you need
- ✅ Provides structured data with metadata
- ✅ Handles complex syntax automatically
- ✅ Works across 30+ languages consistently
- ✅ Depth control for efficient exploration
- ✅ Git integration for version comparison

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

MIT License - see LICENSE file for details.

## Acknowledgments

- Built on [tree-sitter](https://tree-sitter.github.io/) for robust parsing
- Uses [tree-sitter-languages](https://github.com/grantjenks/py-tree-sitter-languages) for language support
- Implements the [Model Context Protocol](https://modelcontextprotocol.io/) specification

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-server-code-extractor",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Christopher Toth <q.alpha@gmail.com>",
    "keywords": "mcp, model-context-protocol, code-extraction, tree-sitter, ai-tools",
    "author": null,
    "author_email": "Christopher Toth <q.alpha@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/bc/a6/c1e933d162cb6f7bf96195cba0c1b698e54070944e5e89fa338d5edbd1ff/mcp_server_code_extractor-0.4.2.tar.gz",
    "platform": null,
    "description": "# MCP Server Code Extractor\n\nA Model Context Protocol (MCP) server that provides precise code extraction tools using tree-sitter parsing. Extract functions, classes, and code snippets from 30+ programming languages without manual parsing.\n\n## Why MCP Server Code Extractor?\n\nWhen working with AI coding assistants like Claude, you often need to:\n- Extract specific functions or classes from large codebases\n- Get an overview of what's in a file without reading the entire thing\n- Retrieve precise code snippets with accurate line numbers\n- Avoid manual parsing and grep/sed/awk gymnastics\n\nMCP Server Code Extractor solves these problems by providing structured, tree-sitter-powered code extraction tools directly within your AI assistant.\n\n## Features\n\n- **\ud83c\udfaf Precise Extraction**: Uses tree-sitter parsing for accurate code boundary detection\n- **\ud83d\udd0d Semantic Search**: Search for function calls and code patterns across files and directories\n- **\ud83c\udf0d 30+ Languages**: Supports Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, and many more\n- **\ud83d\udccd Line Numbers**: Every extraction includes precise line number information\n- **\ud83d\uddc2\ufe0f Directory Search**: Search entire codebases with file pattern filtering and exclusions\n- **\ud83d\udcca Depth Control**: Extract at different levels (top-level only, classes+methods, everything)\n- **\ud83c\udf10 URL Support**: Fetch and extract code from GitHub, GitLab, and direct file URLs\n- **\ud83d\udd04 Git Integration**: Extract code from any git revision, branch, or tag\n- **\u26a1 Fast & Lightweight**: Efficient caching and minimal dependencies\n- **\ud83e\udd16 AI-Optimized**: Designed specifically for use with AI coding assistants\n\n## Installation\n\n### Quick Start with uvx (Recommended)\n\n```bash\n# Install and run directly with uvx\nuvx mcp-server-code-extractor\n```\n\n### Alternative Installation Methods\n\n#### Using UV\n```bash\n# Install UV if you haven't already\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Run as package with UV\nuv run mcp-server-code-extractor\n```\n\n#### Using pip\n```bash\npip install mcp-server-code-extractor\nmcp-server-code-extractor\n```\n\n#### Development Installation\n```bash\n# Clone this repository\ngit clone https://github.com/ctoth/mcp_server_code_extractor\ncd mcp_server_code_extractor\n\n# Install development dependencies\nuv add --dev pytest black flake8 mypy\n\n# Run as Python module\nuv run python -m code_extractor\n```\n\n### Configure with Claude Desktop\n\nAdd to your Claude Desktop configuration:\n\n#### Using uvx (Recommended)\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-code-extractor\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-code-extractor\"]\n    }\n  }\n}\n```\n\n#### Using UV\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-code-extractor\": {\n      \"command\": \"uv\",\n      \"args\": [\"run\", \"mcp-server-code-extractor\"]\n    }\n  }\n}\n```\n\n#### Using pip installation\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-code-extractor\": {\n      \"command\": \"mcp-server-code-extractor\"\n    }\n  }\n}\n```\n\n### Testing with MCP Inspector\n\n```bash\n# Test the server with MCP Inspector\nnpx @modelcontextprotocol/inspector uvx mcp-server-code-extractor\n\n# Or with other installation methods\nnpx @modelcontextprotocol/inspector uv run mcp-server-code-extractor\nnpx @modelcontextprotocol/inspector mcp-server-code-extractor\n```\n\n## Available Tools\n\n### 1. `get_symbols` - Discover Code Structure\nList all functions, classes, and other symbols in a file with depth control.\n\n```\nParameters:\n- path_or_url: Path to source file or URL\n- git_revision: Optional git revision (branch, tag, commit)\n- depth: Symbol extraction depth (0=everything, 1=top-level only, 2=classes+methods)\n\nReturns:\n- name: Symbol name\n- type: function/class/method/etc\n- start_line/end_line: Line numbers\n- preview: First line of the symbol\n- parent: Parent class name (for methods)\n```\n\n### 2. `search_code` - Semantic Code Search\nSearch for code patterns using tree-sitter parsing. Supports both single-file and directory-wide searches.\n\n```\nParameters:\n- search_type: Type of search (\"function-calls\")\n- target: What to search for (e.g., \"requests.get\", \"logger.error\", \"validateData\")\n- scope: File path, directory path, or URL to search in\n- language: Programming language (auto-detected if not specified)\n- git_revision: Optional git revision (commit, branch, tag) - not supported for URLs\n- max_results: Maximum number of results to return (default: 100)\n- include_context: Include surrounding code lines for context (default: true)\n- file_patterns: File patterns for directory search (e.g., [\"*.py\", \"*.js\"])\n- exclude_patterns: File patterns to exclude (e.g., [\"*.pyc\", \"node_modules/*\"])\n- max_files: Maximum number of files to search in directory mode (default: 1000)\n- follow_symlinks: Whether to follow symbolic links in directory search (default: false)\n\nReturns:\n- file_path: Path to file containing the match\n- start_line/end_line: Line numbers of the match\n- match_text: The matching code\n- context_before/context_after: Surrounding code lines\n- language: Detected programming language\n- metadata: Additional search information\n```\n\n### 3. `get_function` - Extract Complete Functions\nExtract a complete function with all its code.\n\n```\nParameters:\n- path_or_url: Path to source file or URL\n- function_name: Name of the function to extract\n- git_revision: Optional git revision (branch, tag, commit)\n\nReturns:\n- code: Complete function code\n- start_line/end_line: Precise boundaries\n- language: Detected language\n```\n\n### 4. `get_class` - Extract Complete Classes\nExtract an entire class definition including all methods.\n\n```\nParameters:\n- path_or_url: Path to source file or URL\n- class_name: Name of the class to extract\n- git_revision: Optional git revision (branch, tag, commit)\n\nReturns:\n- code: Complete class code\n- start_line/end_line: Precise boundaries\n- language: Detected language\n```\n\n### 5. `get_lines` - Extract Specific Line Ranges\nGet exact line ranges when you know the line numbers.\n\n```\nParameters:\n- path_or_url: Path to source file or URL\n- start_line: Starting line (1-based)\n- end_line: Ending line (inclusive)\n- git_revision: Optional git revision (branch, tag, commit)\n\nReturns:\n- code: Extracted lines\n- line numbers and metadata\n```\n\n### 6. `get_signature` - Get Function Signatures\nQuickly get just the function signature without the body.\n\n```\nParameters:\n- path_or_url: Path to source file or URL\n- function_name: Name of the function\n- git_revision: Optional git revision (branch, tag, commit)\n\nReturns:\n- signature: Function signature only\n- start_line: Where the function starts\n```\n\n## Usage Examples\n\n### Example 1: Exploring Local Files\n\n```python\n# First, see what's in the file\nsymbols = get_symbols(\"src/main.py\")\n# Returns: List of all functions and classes with line numbers\n\n# Extract a specific function\nresult = get_function(\"src/main.py\", \"process_data\")\n# Returns: Complete function code with line numbers\n\n# Get just a function signature\nsig = get_signature(\"src/main.py\", \"process_data\")\n# Returns: \"def process_data(input_file: str, output_dir: Path) -> Dict[str, Any]:\"\n```\n\n### Example 2: Working with URLs and Git Revisions\n\n```python\n# Explore a GitHub file (current version)\nsymbols = get_symbols(\"https://raw.githubusercontent.com/user/repo/main/src/api.py\")\n\n# Extract function from GitLab\nresult = get_function(\"https://gitlab.com/user/project/-/raw/main/utils.py\", \"helper_func\")\n\n# Work with git revisions (local files only)\nsymbols_old = get_symbols(\"src/api.py\", git_revision=\"HEAD~1\")\nfunction_from_branch = get_function(\"src/utils.py\", \"helper_func\", git_revision=\"feature-branch\")\nclass_from_tag = get_class(\"src/models.py\", \"User\", git_revision=\"v1.0.0\")\n\n# Get lines from any URL\nlines = get_lines(\"https://example.com/code/script.py\", 10, 25)\n```\n\n### Example 3: Progressive Code Discovery\n\n```python\n# 1. Start with overview - just see the main structure\noverview = get_symbols(\"models/user.py\", depth=1)\n# Shows: class User, class Admin, def create_user, etc.\n\n# 2. Explore a specific class and its methods\nclass_methods = get_symbols(\"models/user.py\", depth=2)\n# Shows: class User with its methods like __init__, validate, save\n\n# 3. Extract the full class when you need implementation details\nuser_class = get_class(\"models/user.py\", \"User\")\n# Returns: Complete User class with all methods\n\n# 4. Or get just a specific method signature for quick reference\ninit_sig = get_signature(\"models/user.py\", \"__init__\")\n# Returns: \"def __init__(self, username: str, email: str, **kwargs):\"\n\n# 5. Extract specific lines when you know exactly what you need\nlines = get_lines(\"models/user.py\", 10, 25)\n# Returns: Lines 10-25 of the file\n```\n\n### Example 4: Semantic Code Search\n\n```python\n# Search for specific function calls in a single file\nresults = search_code(\n    search_type=\"function-calls\",\n    target=\"requests.get\",\n    scope=\"src/api.py\"\n)\n# Returns: All requests.get() calls with line numbers and context\n\n# Search across an entire directory\nresults = search_code(\n    search_type=\"function-calls\", \n    target=\"logger.error\",\n    scope=\"src/\",\n    file_patterns=[\"*.py\"],\n    exclude_patterns=[\"test_*\", \"__pycache__/*\"]\n)\n# Returns: All logger.error() calls across Python files, excluding tests\n\n# Cross-language search in frontend code\nresults = search_code(\n    search_type=\"function-calls\",\n    target=\"fetchData\", \n    scope=\"frontend/\",\n    file_patterns=[\"*.js\", \"*.ts\", \"*.jsx\"],\n    max_results=50\n)\n# Returns: All fetchData() calls in JavaScript/TypeScript files\n```\n\n### Example 5: Multi-Language Support\n\n```javascript\n// Works with JavaScript/TypeScript\nsymbols = get_symbols(\"app.ts\")\nfunc = get_function(\"app.ts\", \"handleRequest\")\n```\n\n```go\n// Works with Go\nsymbols = get_symbols(\"main.go\")\nmethod = get_function(\"main.go\", \"ServeHTTP\")\n```\n\n## Supported Languages\n\n- Python, JavaScript, TypeScript, JSX/TSX\n- Go, Rust, C, C++, C#, Java\n- Ruby, PHP, Swift, Kotlin, Scala\n- Bash, PowerShell, SQL\n- Haskell, OCaml, Elixir, Clojure\n- And many more...\n\n## Best Practices\n\n### Progressive Discovery Workflow\n1. **Start with `search_code`** to find relevant functions and patterns across the codebase\n2. **Use `get_symbols`** with `depth=1` to see file structure of interesting files\n3. **Use depth control** - `depth=2` for classes+methods, `depth=0` for everything\n4. **Extract specific items** with `get_function/get_class` for implementation details\n5. **Use `get_signature`** for quick API exploration without full code\n6. **Use `get_lines`** when you know exact line numbers\n\n### Semantic Search Tips\n- Use **directory search** to find patterns across your entire codebase\n- Apply **file patterns** to focus on specific languages or file types\n- Use **exclusion patterns** to skip test files, build artifacts, and dependencies\n- Set appropriate **max_results** and **max_files** limits for large codebases\n- Enable **context** to understand the surrounding code\n\n### Git Integration Tips\n- Use git revisions to compare implementations across versions\n- Extract from feature branches to review changes\n- Use tags to get stable API versions\n\n### URL Usage\n- GitHub/GitLab URLs work great for exploring open source code\n- Combine with local git revisions for comprehensive analysis\n- Note: git revisions only work with local files, not URLs\n\n## Advantages Over Traditional Tools\n\n**Traditional file reading:**\n- Reads entire files (inefficient for large files)\n- Requires manual parsing to find functions/classes\n- Manual line counting for extraction\n- Complex syntax edge cases\n\n**MCP Server Code Extractor:**\n- \u2705 Extracts exactly what you need\n- \u2705 Provides structured data with metadata\n- \u2705 Handles complex syntax automatically\n- \u2705 Works across 30+ languages consistently\n- \u2705 Depth control for efficient exploration\n- \u2705 Git integration for version comparison\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Acknowledgments\n\n- Built on [tree-sitter](https://tree-sitter.github.io/) for robust parsing\n- Uses [tree-sitter-languages](https://github.com/grantjenks/py-tree-sitter-languages) for language support\n- Implements the [Model Context Protocol](https://modelcontextprotocol.io/) specification\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Model Context Protocol (MCP) server that provides precise code extraction tools using tree-sitter parsing",
    "version": "0.4.2",
    "project_urls": {
        "Documentation": "https://github.com/ctoth/mcp-code-extractor#readme",
        "Homepage": "https://github.com/ctoth/mcp_server_code_extractor",
        "Issues": "https://github.com/ctoth/mcp_server_code_extractor/issues",
        "Repository": "https://github.com/ctoth/mcp_server_code_extractor"
    },
    "split_keywords": [
        "mcp",
        " model-context-protocol",
        " code-extraction",
        " tree-sitter",
        " ai-tools"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1c7903f5a1adf7ae6643febdbfb8554ab661306b99ac487190ad8ee73f24a937",
                "md5": "09367f069ea6e0cfb32cbbc60ceb867f",
                "sha256": "1a632f45b0d58b8da8f5f33afd780c3fb2b83e957f69cd061781b53ed48aa34c"
            },
            "downloads": -1,
            "filename": "mcp_server_code_extractor-0.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "09367f069ea6e0cfb32cbbc60ceb867f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 28183,
            "upload_time": "2025-07-14T05:45:06",
            "upload_time_iso_8601": "2025-07-14T05:45:06.037882Z",
            "url": "https://files.pythonhosted.org/packages/1c/79/03f5a1adf7ae6643febdbfb8554ab661306b99ac487190ad8ee73f24a937/mcp_server_code_extractor-0.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bca6c1e933d162cb6f7bf96195cba0c1b698e54070944e5e89fa338d5edbd1ff",
                "md5": "11d65e1e5908707453a05d4308e7252b",
                "sha256": "0b9f3b791e10cda2bce11ebae2814ddf6177e136369681a90063f1d9535c4ffb"
            },
            "downloads": -1,
            "filename": "mcp_server_code_extractor-0.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "11d65e1e5908707453a05d4308e7252b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 48087,
            "upload_time": "2025-07-14T05:45:07",
            "upload_time_iso_8601": "2025-07-14T05:45:07.304131Z",
            "url": "https://files.pythonhosted.org/packages/bc/a6/c1e933d162cb6f7bf96195cba0c1b698e54070944e5e89fa338d5edbd1ff/mcp_server_code_extractor-0.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-14 05:45:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ctoth",
    "github_project": "mcp-code-extractor#readme",
    "github_not_found": true,
    "lcname": "mcp-server-code-extractor"
}
        
Elapsed time: 2.14695s