Описание
deep, reliable and confidential coding-context
README

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
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:
- Copy
.claudedirectory to your project root - Configure MCP servers in
~/.claude.json:abcoder: for code analysis using ASTsequential-thinking: for complex problem decomposition
- Replace all
{{CLAUDE_HOME_PATH}}placeholders with actual project paths
Start Coding with Claude Code
Once setup, you can start coding with Claude Code:
- Start Claude Code in your project directory
- 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. - Once all questions are set, use slash common
/abcoder:task <task_name>to create a coding task(specification) - Recheck the task using
/abcoder:recheck <task_name>before real implementation - 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 |
Design implementation | Analyze codebase by using ABCoder, design technical solution |
| /abcoder:task |
Create coding task | Generate standardized CODE_TASK document |
| /abcoder:recheck |
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__abcodertools) - Sequential-thinking MCP server (provides
mcp__sequential_thinkingtools, automatically configured by init-spec)
For detailed configuration, see claude-code-spec.md
Watch the demo video here
Use ABCoder as a MCP server
Install ABCoder:
go install github.com/cloudwego/abcoder@latestUse ABCoder to parse a repository to UniAST (JSON)
abcoder parse {language} {repo-path} -o xxx.jsonABCoder 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.jsonIntegrate ABCoder's MCP tools into your AI agent.
{ "mcpServers": { "abcoder": { "command": "abcoder", "args": [ "mcp", "{the-AST-directory}" ] } } }Enjoy it!
Try to click and watch the video below:
Tips:
You can add more repo ASTs into the AST directory without restarting abcoder MCP server.
Try to use the recommended prompt and combine planning/memory tools like sequential-thinking in your AI agent.
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
- How to become a member: COMMUNITY MEMBERSHIP
- Issues: Issues
- Lark: Scan the QR code below with Register Feishu to join our CloudWeGo/abcoder user group.

Contributors
Thank you for your contribution to ABCoder!
License
This project is licensed under the Apache-2.0 License.
Установка Abcoder
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/cloudwego/abcoderFAQ
Abcoder MCP бесплатный?
Да, Abcoder MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Abcoder?
Нет, Abcoder работает без API-ключей и переменных окружения.
Abcoder — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Abcoder в Claude Desktop, Claude Code или Cursor?
Открой Abcoder на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Abcoder with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai

