AG

ast-grep/ast-grep-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

486 stars 29 forks Качество 88 Тренд 40MIT

Экспериментальный сервер Model Context Protocol (MCP), который предоставляет ассистентам ИИ мощные возможности структурного поиска кода с использованием ast-grep.

Обзор

Экспериментальный сервер Model Context Protocol (MCP), который предоставляет ассистентам ИИ мощные возможности структурного поиска кода с использованием ast-grep. Этот MCP-сервер позволяет ассистентам ИИ (таким как Cursor, Claude Desktop и др.) искать и анализировать кодовые базы с помощью сопоставления шаблонов Abstract Syntax Tree (AST) вместо простого текстового поиска. Используя возможности структурного поиска ast-grep, ИИ может: - Поиск шаблонов кода на основе синтаксической структуры, а не только сопоставления текста - Поиск конкретных программных конструкций (функций, классов, импортов и т.д.) - Написание и тестирование сложных поисковых правил с использованием конфигурации YAML - Отладка и визуализация AST-структур для лучшей разработки шаблонов 3. : Такие как Cursor, Claude Desktop или другие MCP-клиенты Сервер можно запускать напрямую с GitHub с помощью uvx: Это полезно для быстрого тестирования сервера без клонирования репозитория. Добавьте в настройки MCP (обычно в .cursor-mcp/settings.json): Добавьте к вашей конфигурации Claude Desktop MCP:

Обзор (машинный перевод)

Экспериментальный сервер Model Context Protocol (MCP), который предоставляет ассистентам ИИ мощные возможности структурного поиска кода с использованием ast-grep.

Обзор

Этот MCP-сервер позволяет ассистентам ИИ (таким как Cursor, Claude Desktop и др.) искать и анализировать кодовые базы с помощью сопоставления шаблонов Abstract Syntax Tree (AST) вместо простого текстового поиска. Используя возможности структурного поиска ast-grep, ИИ может:

  • Находить шаблоны кода на основе синтаксической структуры, а не только сопоставления текста
  • Поиск конкретных программных конструкций (функции, классы, импорты и др.)
  • Написание и тестирование сложных правил поиска с использованием конфигурации YAML
  • Отладка и визуализация структур AST для лучшей разработки паттернов

Предварительные требования

  1. Установка ast-grep: следуйте руководству по установке ast-grep

  2. Установить uv: менеджер пакетов Python

  3. MCP-совместимый клиент: Например, Cursor, Claude Desktop или другие MCP-клиенты

Установка

  1. Клонируйте этот репозиторий:

  2. Установка зависимостей:

  3. Проверьте установку ast-grep:

Бегать с uvx

Вы можете запустить сервер напрямую с GitHub с помощью uvx:

Это полезно для быстрого тестирования сервера без клонирования репозитория.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

ast-grep MCP Server

An experimental Model Context Protocol (MCP) server that provides AI assistants with powerful structural code search capabilities using ast-grep.

Overview

This MCP server enables AI assistants (like Cursor, Claude Desktop, etc.) to search and analyze codebases using Abstract Syntax Tree (AST) pattern matching rather than simple text-based search. By leveraging ast-grep’s structural search capabilities, AI can:

  • Find code patterns based on syntax structure, not just text matching
  • Search for specific programming constructs (functions, classes, imports, etc.)
  • Write and test complex search rules using YAML configuration
  • Debug and visualize AST structures for better pattern development

Prerequisites

  1. Install ast-grep: Follow ast-grep installation guide

    # macOS
    brew install ast-grep
    nix-shell -p ast-grep
    cargo install ast-grep --locked
    
  2. Install uv: Python package manager

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. MCP-compatible client: Such as Cursor, Claude Desktop, or other MCP clients

Installation

  1. Clone this repository:

    git clone https://github.com/ast-grep/ast-grep-mcp.git
    cd ast-grep-mcp
    
  2. Install dependencies:

    uv sync
    
  3. Verify ast-grep installation:

    ast-grep --version
    

Running with uvx

You can run the server directly from GitHub using uvx:

uvx --from git+https://github.com/ast-grep/ast-grep-mcp ast-grep-server

This is useful for quickly trying out the server without cloning the repository.

Configuration

For Cursor

Add to your MCP settings (usually in .cursor-mcp/settings.json):

{
  "mcpServers": {
    "ast-grep": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/ast-grep-mcp", "run", "main.py"],
      "env": {}
    }
  }
}

For Claude Desktop

Add to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "ast-grep": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/ast-grep-mcp", "run", "main.py"],
      "env": {}
    }
  }
}

Custom ast-grep Configuration

The MCP server supports using a custom sgconfig.yaml file to configure ast-grep behavior. See the ast-grep configuration documentation for details on the config file format.

You can provide the config file in two ways (in order of precedence):

  1. Command-line argument: --config /path/to/sgconfig.yaml
  2. Environment variable: AST_GREP_CONFIG=/path/to/sgconfig.yaml

Custom ast-grep Command

If ast-grep is not in PATH, or must be launched through another command, set AST_GREP_PATH. The value can be an executable path or a command prefix:

{
Открыть полный README на GitHub

Установка

uvx --from git+https://github.com/ast-grep/ast-grep-mcp ast-grep-server
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "ast-grep": { "command": "uv", "args": ["--directory", "/absolute/path/to/ast-grep-mcp", "run", "main.py"], "env": {} } } }