Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Ast2llm Go

БесплатноНе проверен

Powerful MCP-server that parses Go source code into AST and converts it into a clean, LLM-friendly format.

GitHubEmbed

Описание

Powerful MCP-server that parses Go source code into AST and converts it into a clean, LLM-friendly format.

README

Go License Coverage Status Build Status

Local AST-powered context enhancement tool for LLM

Automatically injects relevant code structure into your prompts using precise Go AST analysis.

Demo

Our MCP server provides the parse-go tool that:

  1. Analyzes your Go project structure
  2. Identifies external type declarations
  3. Packages context for LLM prompts
  4. Delivers 3-5x faster context resolution than grap-based approaches

For example, the demo above shows the model calling the tool to get the missing information about the fields of the MyDTO structure. In response, the model received all the necessary information from the response:

Used Imported Structs (from this project, if available):
  Struct: testme/dto.MyDTO
    Fields:
      - Foo string
      - Bar int

Requirements

  • Go 1.22 or higher (if building from source)
  • Supported MCP client (Cursor, Claude, VS Code, etc.)

Installation

Binaries

To install ast2llm-go on your system, run the following command in your terminal:

curl -LsSf https://raw.githubusercontent.com/ast2llm/ast2llm-go/main/install.sh | sh

This script will automatically detect your OS and architecture, download the appropriate binary, and attempt to add it to your PATH. You can also specify an installation directory:

curl -LsSf https://raw.githubusercontent.com/ast2llm/ast2llm-go/main/install.sh | sh -s -- --install-dir /usr/local/bin

Self-Update

To update ast2llm-go to the latest version, simply re-run the installation command:

curl -LsSf https://raw.githubusercontent.com/ast2llm/ast2llm-go/main/install.sh | sh

Uninstallation

To remove ast2llm-go from your system, run the uninstallation script:

curl -LsSf https://raw.githubusercontent.com/ast2llm/ast2llm-go/main/uninstall.sh | sh

This script will remove the binary, clean up PATH modifications, and delete related configuration files. You may need to restart your shell after uninstallation.

Setup in Clients

After installation ast2llm-go, you need to restart the IDE.

Cursor

Add to your ~/.cursor/mcp.json:

{
  "mcpServers": {
    "go-ast": {
      "command": "ast2llm-go",
      "args": []
    }
  }  
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "go-ast": {
      "command": "ast2llm-go"
    }
  }
}

Visual Studio Code

Add to your VS Code MCP config:

{
  "servers": {
    "go-ast": {
      "type": "stdio",
      "command": "ast2llm-go"
    }
  }
}

Note About Current State

This MCP server is under active development and may have stability issues or incomplete functionality. We're working hard to improve it, but you might encounter:

  • Occasional parsing errors
  • Limited type support in current version
  • Performance bottlenecks with large codebases

Found an issue?
Open a GitHub Issue to help us improve! We appreciate all bug reports and feature requests.

Roadmap

Language Support

  • Support for struct types
  • Support for interface types
  • Support for function types
  • Support for global variables

Multi-file Context

  • Analyze multiple open files simultaneously
  • Cross-file dependency resolution
  • Context-aware import optimization

AST Representation

  • Improved type hierarchy visualization
  • Research optimal AST representation for LLMs. Provide different output formats tailored to various scenarios like in repomix:
    • XML: For compatibility with traditional solutions akin to Repomix.
    • JSON: A modern format suitable for integration with contemporary tools and environments.
    • Markdown: An easily readable format ideal for quick viewing and documenting changes.

Performance

  • Incremental parsing
  • AST caching
  • Parallel analysis

Contributing

We welcome contributions! Here's how you can help:

  1. Report Bugs

    • Open an issue with a clear description
    • Include steps to reproduce
    • Add relevant logs/screenshots
  2. Suggest Features

    • Open an issue with the feature request
    • Explain the use case and benefits
    • Include any relevant examples
  3. Submit Pull Requests

    • Fork the repository
    • Create a feature branch
    • Add tests for new functionality
    • Ensure all tests pass
    • Submit a PR with a clear description

from github.com/ast2llm/ast2llm-go

Установка Ast2llm Go

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/ast2llm/ast2llm-go

FAQ

Ast2llm Go MCP бесплатный?

Да, Ast2llm Go MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Ast2llm Go?

Нет, Ast2llm Go работает без API-ключей и переменных окружения.

Ast2llm Go — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Ast2llm Go в Claude Desktop, Claude Code или Cursor?

Открой Ast2llm Go на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Ast2llm Go with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development