1. Conduid
  2. Developer Tools
  3. Ast2llm Go
MCP server · Developer Tools

Ast2llm Go

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

Unclaimed NOASSERTION last commit a year ago ast2llmmcp-serverdevtoolsgoast
54Fair

Scored yesterday · breakdown

About Ast2llm Go

Ast2llm Go is an MCP server published by ast2llm in the Developer Tools category: powerful MCP-server that parses Go source code into AST and converts it into a clean, LLM-friendly format. It has been installed 0 times through Conduid.

The repository has 6 stars and 1 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx ast2llm-go

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Ast2llm Go

Powered by Claude · Grounded in docs

I know everything about Ast2llm Go. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v20250622-a0c4Release v20250622-a0c4 · 22 Jun 2025Changes since last release (v20250622-c17a): 9eea144 Merge pull request #8 from ast2llm/fix-after-transfering (Vlad) 560fb77 feat(readme): update Coveralls badge to use default branch (Vlad) What's Changed feat(readme): update Coveralls…
v20250622-c17aRelease v20250622-c17a · 22 Jun 2025Changes since last release (v20250621-096f): 2539bf8 Merge pull request #7 from ast2llm/adapt-to-transfering (Vlad) 50dc938 feat(docs,install): update repo references from vprud to ast2llm org (Vlad) What's Changed feat(docs,install):…
v20250621-096fRelease v20250621-096f · 21 Jun 2025Changes since last release (v20250621-49a0): c218129 Merge pull request #6 from vprud/add-coveralls-badge (Vlad) 74a7855 ci(coveralls): add Coveralls integration to CI workflow (Vlad) What's Changed ci(coveralls): add Coveralls integration…
v20250621-49a0Release v20250621-49a0 · 21 Jun 2025Changes since last release (v20250615-a81f): 086cb7d Merge pull request #5 from vprud/add-support-of-go-lang-items (Vlad) 4d73c45 docs: update feature list and roadmap in README (Vlad) 2cab345 refactor(composer): modularize formatters and…
v20250615-a81fRelease v20250615-a81f · 15 Jun 2025Changes since last release (v20250615-49dc): 9f3ed12 Merge pull request #4 from vprud/add-scripts-in-readme (Vlad) 2e830c2 docs: update installation, uninstallation, and CI badge in README (Vlad) ea6e366 fix(composer, parser): Correctly…

README

AST2LLM for Go

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

README mirrored from the source repository yesterday. The original is authoritative.

Questions

About Ast2llm Go

How do I install Ast2llm Go?

Run npx ast2llm-go, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Ast2llm Go safe to use with an AI agent?

Its trust score is 54 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Ast2llm Go still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.