1. Conduid
  2. Developer Tools
  3. Abcoder
MCP server · Developer Tools

Abcoder

deep, reliable and confidential coding-context

82Excellent

Scored 10 hours ago · breakdown

About Abcoder

Abcoder is an MCP server published by cloudwego in the Developer Tools category: deep, reliable and confidential coding-context.

The repository has 390 stars and 59 forks, with the last commit a month ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/cloudwego/abcoder

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 Abcoder

Powered by Claude · Grounded in docs

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

Security checks

Static checks derived from the repository 10 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.3.1v0.3.1 · 23 Jan 2026What's Changed fix(spec): missing horoscope in tmpls Full Changelog: https://github.com/cloudwego/abcoder/compare/v0.3.0...v0.3.1
v0.3.0v0.3.0 · 22 Jan 2026What's Changed feat: support spec coding with claude code Full Changelog: https://github.com/cloudwego/abcoder/compare/v0.2.3...v0.3.0
v0.2.3v0.2.3 · 17 Nov 2025What's Changed fix(golang): incorrect id for dot-imported symbols Full Changelog: https://github.com/cloudwego/abcoder/compare/v0.2.2...v0.2.3
v0.2.2v0.2.2 · 13 Oct 2025What's Changed feat: dynamically set AST version and tool version fix(ts): fix several bugs in ts fix(golang): lose the 'method call' by 'global var' Full Changelog: https://github.com/cloudwego/abcoder/compare/v0.2.1...v0.2.2
v0.2.1v0.2.1 · 26 Sep 2025What's Changed fix:(python/java) env setup by @Hoblovski in https://github.com/cloudwego/abcoder/pull/94 fix:(rust) automatically install rust-analyzer by @AsterDY in https://github.com/cloudwego/abcoder/pull/97 Full Changelog:…

README

ABCoder: AI-Based Coder(AKA: A Brand-new Coder)

ABCoder

Overview

ABCoder, an AI-oriented Code-processing Framework, is designed to enhance and extend the coding context for Large-Language-Model (LLM), finally boosting the development of AI-assisted-programming applications.

Features

  • Universal Abstract-Syntax-Tree (UniAST), a language-independent, AI-friendly specification of code information, providing a boundless, flexible and structural coding context for both AI and humans.

  • General Parser, parses arbitrary-language codes to UniAST.

  • General Writer transforms UniAST back to code.

  • Code-Retrieval-Augmented-Generation (Code-RAG), provides a set of MCP tools to help the LLM understand code repositories precisely and locally. And it can support both in-workspace and out-of-workspace third-party libraries simultaneously -- I guess you are thinking about DeepWiki and context7, but ABCoder is more reliable and confidential -- no need to wait for their services to be done, and no worry about your codes will be uploaded!

Based on these features, developers can easily implement or enhance their AI-assisted programming applications, such as reviewing, optimizing, translating, etc.

Universal Abstract-Syntax-Tree Specification

see UniAST Specification

Quick Start

Claude Code Integration

ABCoder provides deep integration with Claude Code through the AST-Driven Coding workflow, enabling hallucination-free code analysis and precise execution. Check Claude Code Specification for more details.

Setup

Use the init-spec command to automatically configure Claude Code integration for your project:

# Install ABCoder
go install github.com/cloudwego/abcoder@latest

# Run init-spec in your project directory (optional: specify target path)
cd /path/to/your/project
abcoder init-spec

The init-spec command will:

  1. Copy .claude directory to your project root
  2. Configure MCP servers in ~/.claude.json:
    • abcoder: for code analysis using AST
    • sequential-thinking: for complex problem decomposition
  3. Replace all {{CLAUDE_HOME_PATH}} placeholders with actual project paths

Start Coding with Claude Code

Once setup, you can start coding with Claude Code:

  1. Start Claude Code in your project directory
  2. Use slash common /abcoder:schedule <problem_desc> to address your feature/requirement/issue, and ABCoder will help you analyze the codebase and design a technical solution.
  3. Once all questions are set, use slash common /abcoder:task <task_name> to create a coding task(specification)
  4. Recheck the task using /abcoder:recheck <task_name> before real implementation
  5. Begin coding! Claude Code will process the task step by step according to the specification, leveraging the power of AST-driven analysis.

AST-Driven Coding Workflow

.claude/hooks provide a 4-layer analysis chain from repository to node details:

list_repos → get_repo_structure → get_package_structure → get_file_structure → get_ast_node
     │              │                      │                       │                    │
     └── repo_name  └── mod/pkg list       └── file list           └── node list        └── dependencies/references

Claude Code Slash Commands

.claude/commands provide three custom slash commands to streamline development:

Command Function Description
/abcoder:schedule <task_desc> Design implementation Analyze codebase by using ABCoder, design technical solution
/abcoder:task <name> Create coding task Generate standardized CODE_TASK document
/abcoder:recheck <task> Verify solution Critically check CODE_TASK feasibility, useful when a CODE_TASK contains external dependencies

Workflow

User Request
    │
    ▼
/abcoder:schedule ──────────→ Design Solution (ABCoder Analysis)
    │                          │
    ▼                          ▼
/abcoder:task ─────────→ CODE_TASK (with Technical Specs, including accurate `get_ast_node` call args)
    │                          │
    ▼                          ▼
/abcoder:recheck ────→ Verify Solution (ABCoder Validation. After `/abcoder:task` Claude Code will tell you what the external dependencies CODE_TASK contains, use `/abcoder:recheck` to analyze external ast_node and technical detail with ABCoder)
    │                          │
    ▼                          ▼
Start coding(sub-agent) ─────────→ Execute Implementation

Configuration Files

File Purpose
CLAUDE.md Core AST-Driven Coder role definition
settings.json Hooks and permissions configuration
hooks/ Automation scripts (parse/prompt/reminder)
commands/ Slash command definitions (abcoder:task/abcoder:schedule/abcoder:recheck)
tmpls/ABCODER_CODE_TASK.md Coding task template

Dependencies

  • Claude Code CLI
  • ABCoder MCP server (provides mcp__abcoder tools)
  • Sequential-thinking MCP server (provides mcp__sequential_thinking tools, automatically configured by init-spec)

For detailed configuration, see claude-code-spec.md

Watch the demo video here

Use ABCoder as a MCP server

  1. Install ABCoder:

    go install github.com/cloudwego/abcoder@latest
    
  2. Use ABCoder to parse a repository to UniAST (JSON)

    abcoder parse {language} {repo-path} -o xxx.json
    

    ABCoder will try to install any dependency automatically. In case of failure (or if you want to customize installation), refer to the docs.

    For example, to parse a Go repository:

    git clone https://github.com/cloudwego/localsession.git localsession
    abcoder parse go localsession -o /abcoder-asts/localsession.json
    
  3. Integrate ABCoder's MCP tools into your AI agent.

    {
        "mcpServers": {
            "abcoder": {
                "command": "abcoder",
                "args": [
                    "mcp",
                    "{the-AST-directory}"
                ]
            }
        }
    }
    
  4. Enjoy it!

    Try to click and watch the video below:

Tips:

Use ABCoder as an Agent (WIP)

You can also use ABCoder as a command-line Agent like:

export API_TYPE='{openai|ollama|ark|claude}' 
export API_KEY='{your-api-key}' 
export MODEL_NAME='{model-endpoint}' 
abcoder agent {the-AST-directory}

For example:

$ API_TYPE='ark' API_KEY='xxx' MODEL_NAME='zzz' abcoder agent ./testdata/asts

Hello! I'm ABCoder, your coding assistant. What can I do for you today?

$ What does the repo 'localsession' do?

The `localsession` repository appears to be a Go module (`github.com/cloudwego/localsession`) that provides functionality related to managing local sessions. Here's a breakdown of its structure and purpose:
...
If you'd like to explore specific functionalities or code details, let me know, and I can dive deeper into the relevant files or nodes. For example:
- What does `session.go` or `manager.go` implement?
- How is the backup functionality used?

$ exit
  • NOTICE: This feature is Work-In-Progress. It only supports code analysis at present.

Supported Languages

ABCoder currently supports the following languages:

Language Parser Writer
Go ✅ ✅
Rust ✅ Coming Soon
C ✅ Coming Soon
Python ✅ Coming Soon
JS/TS ✅ Coming Soon
Java ✅ Coming Soon

Getting Involved

We encourage developers to contribute and make this tool more powerful. If you are interested in contributing to ABCoder project, kindly check out our guide:

Note: This is a dynamic README and is subject to changes as the project evolves.

Contact Us

   

Contributors

Thank you for your contribution to ABCoder!

Contributors

License

This project is licensed under the Apache-2.0 License.

README fetched from the repository 10 hours ago. The original is authoritative.

Questions

About Abcoder

How do I install Abcoder?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Abcoder safe to use with an AI agent?

Its trust score is 82 out of 100 (excellent). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Abcoder still maintained?

Yes — the last commit was a month ago. The repository has 390 stars and 59 forks and 18 open issues.