- Explore MCP Servers
- code-to-tree
Code To Tree
What is Code To Tree
code-to-tree is a single-binary MCP server that converts source code into an Abstract Syntax Tree (AST) regardless of the programming language used. It aims to provide a versatile and standalone solution for transforming code into a structured format.
Use cases
Use cases for code-to-tree include integrating with language models for code understanding, creating tools for static code analysis, developing educational platforms that visualize code structure, and enhancing IDE features for better code navigation and refactoring.
How to use
To use code-to-tree, download the executable for your operating system (either code-to-tree.exe for Windows or code-to-tree for macOS) from the GitHub release page. After downloading, configure your MCP clients to utilize the server as outlined in the configuration section.
Key features
Key features of code-to-tree include its ability to accurately parse multiple programming languages (C, C++, Rust, Ruby, Go, Java, Python) into ASTs, its standalone nature requiring minimal dependencies, and its use of the versatile tree-sitter syntax parser.
Where to use
code-to-tree can be used in various fields including software development, code analysis, educational tools for programming, and any application that requires the transformation of source code into a structured format for further processing.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Code To Tree
code-to-tree is a single-binary MCP server that converts source code into an Abstract Syntax Tree (AST) regardless of the programming language used. It aims to provide a versatile and standalone solution for transforming code into a structured format.
Use cases
Use cases for code-to-tree include integrating with language models for code understanding, creating tools for static code analysis, developing educational platforms that visualize code structure, and enhancing IDE features for better code navigation and refactoring.
How to use
To use code-to-tree, download the executable for your operating system (either code-to-tree.exe for Windows or code-to-tree for macOS) from the GitHub release page. After downloading, configure your MCP clients to utilize the server as outlined in the configuration section.
Key features
Key features of code-to-tree include its ability to accurately parse multiple programming languages (C, C++, Rust, Ruby, Go, Java, Python) into ASTs, its standalone nature requiring minimal dependencies, and its use of the versatile tree-sitter syntax parser.
Where to use
code-to-tree can be used in various fields including software development, code analysis, educational tools for programming, and any application that requires the transformation of source code into a structured format for further processing.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Table of Contents
- MCP Server: code-to-tree
- Using code-to-tree
- Configure MCP Clients
- Building (Windows)
- Building (macOS)
MCP Server: code-to-tree
The code-to-tree server’s goals are:
- Give LLMs the capability of accurately converting source code into
AST(Abstract Syntax Tree), regardless of language. - One standalone binary should be everything the MCP client needs.
These goals imply:
- The underlying syntax parser should be versatile enough. Here we
choose tree-sitter, and languages are: C, C++, Rust, Ruby, Go, Java, Python. - The server should be able to carry all capabilities within
itself, imposing minimum software dependencies on the end user’s
machine. Here we choose mcpc.
Screenshots:


The above screenshots are obtained by asking the question specified
in q.md.
(IMPORTANT NOTE: LLMs have no responsibility of generating the identical
result for the same question, you will likely get a completely different
style or content. The screenshots or questions provided here are just for the reference)
Using code-to-tree
Before everthing, you need to have the code-to-tree executable on your
machine (code-to-tree.exe for Windows, code-to-tree for macOS),
you can download at GitHub release page or build it yourself. Once
downloaded, you configure your MCP clients to install it, check the section
“Configure MCP Clients” for more details.
Configure MCP Clients
Here we use Claude as the example.
Windows
In your Claude configuration
(C:\Users\YOUR_NAME\AppData\Roaming\Claude\claude_desktop_config.json),
specify the location of code-to-tree.exe:
{
"mcpServers": {
"code-to-tree": { "command": "C:\\path\\to\\code-to-tree.exe" }
}
}
macOS
In your Claude configuration,
(~/Library/Application Support/Claude/claude_desktop_config.json)
specify the location of code-to-tree
{
"mcpServers": {
"code-to-tree": { "command": "/path/to/code-to-tree" }
}
}
Building (Windows)
1. Prepare environment
- download & install MSYS2.
- open application “MSYS2 MINGW64”
- run
pacman -S make gcc git
2. Prepare tree-sitter libraries
Here we need to compile and install tree-sitter and all related grammars.
Clone them:
git clone https://github.com/tree-sitter/tree-sitter
git clone https://github.com/tree-sitter/tree-sitter-c
git clone https://github.com/tree-sitter/tree-sitter-cpp
git clone https://github.com/tree-sitter/tree-sitter-rust
git clone https://github.com/tree-sitter/tree-sitter-ruby
git clone https://github.com/tree-sitter/tree-sitter-go
git clone https://github.com/tree-sitter/tree-sitter-java
Compile and install them:
cd tree-sitter && OS=1 make install
cd tree-sitter-c && OS=1 make install
cd tree-sitter-cpp && OS=1 make install
cd tree-sitter-rust && OS=1 make install
cd tree-sitter-ruby && OS=1 make install
cd tree-sitter-go && OS=1 make install
cd tree-sitter-java && OS=1 make install
3. Build code-to-tree
Install mcpc:
git clone https://github.com/micl2e2/mcpc
cd mcpc && make install
Compile code-to-tree:
cd mcpc/example/code-to-tree
CFLAGS="-I/usr/local/include -L/usr/local/lib" make
# Check the binary
file code-to-tree.exe
# Remember the binary's location
pwd
# Assume the output is: /c/path/to/code-to-tree.exe
Building (macOS)
1. Prepare environment
- Xcode Command Line Tools
2. Prepare tree-sitter libraries
Here we need to compile and install tree-sitter and all related grammars.
Clone them:
git clone https://github.com/tree-sitter/tree-sitter
git clone https://github.com/tree-sitter/tree-sitter-c
git clone https://github.com/tree-sitter/tree-sitter-cpp
git clone https://github.com/tree-sitter/tree-sitter-rust
git clone https://github.com/tree-sitter/tree-sitter-ruby
git clone https://github.com/tree-sitter/tree-sitter-go
git clone https://github.com/tree-sitter/tree-sitter-java
Compile and install them:
cd tree-sitter && make install
cd tree-sitter-c && make install
cd tree-sitter-cpp && make install
cd tree-sitter-rust && make install
cd tree-sitter-ruby && make install
cd tree-sitter-go && make install
cd tree-sitter-java && make install
3. Build code-to-tree
Install mcpc:
git clone https://github.com/micl2e2/mcpc
cd mcpc && make install
Compile code-to-tree:
cd mcpc/example/code-to-tree
make
# Check the binary
file ./code-to-tree
# Remember the binary's location
pwd
# Assume the output is: /path/to/code-to-tree
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










