AST2LLM for Go
A local AST-powered context enhancement tool for LLMs that analyzes Go project structure for faster context resolution.
AST2LLM for Go
Local AST-powered context enhancement tool for LLM
Automatically injects relevant code structure into your prompts using precise Go AST analysis.

Our MCP server provides the parse-go tool that:
- Analyzes your Go project structure
- Identifies external type declarations
- Packages context for LLM prompts
- 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:
-
Report Bugs
- Open an issue with a clear description
- Include steps to reproduce
- Add relevant logs/screenshots
-
Suggest Features
- Open an issue with the feature request
- Explain the use case and benefits
- Include any relevant examples
-
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
Máy chủ liên quan
Alpha Vantage MCP Server
nhà tài trợAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Solitaire for Agents
Identity infrastructure for AI agents. Evolving behavioral profiles, experiential memory, self-correcting retrieval. Local-first, model-agnostic.
Open MCP Server
A service framework supporting the Model Context Protocol (MCP) to integrate enterprise systems and AI platforms via RESTful, gRPC, and Dubbo protocols.
MCP Server Executable
An executable server for running MCP services, featuring tool chaining, multi-service management, and plugin support.
GoPeak
The most comprehensive MCP server for Godot Engine. 95+ tools for scene management, GDScript LSP, DAP debugging, screenshot capture, input injection, and CC0 asset library.
Phone
Control your Android phone using ADB commands. Requires ADB tools and an Android device with USB debugging enabled.
Coding Standards
An MCP server for enforcing coding standards and best practices.
Composer Package README MCP Server
Fetches comprehensive information about Composer packages from Packagist, including READMEs, metadata, and search functionality.
Text2Sim MCP Server
A multi-paradigm simulation engine for Discrete-Event and System Dynamics, enabling natural language-based simulations via MCP.
Jimeng
Integrates Jimeng AI for image generation.
ShellAgent
An MCP server for executing shell commands, requiring Node.js 18 or newer.