Code to Tree
FreeNot checkedConverts source code into Abstract Syntax Tree representations using tree-sitter parsers for multiple programming languages including C, C++, Rust, Go, Ruby, Py
About
Converts source code into Abstract Syntax Tree representations using tree-sitter parsers for multiple programming languages including C, C++, Rust, Go, Ruby, Python, and Java, enabling precise code structure analysis and semantic understanding.
README
- 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
Installing Code to Tree
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/micl2e2/code-to-treeFAQ
Is Code to Tree MCP free?
Yes, Code to Tree MCP is free — one-click install via Unyly at no cost.
Does Code to Tree need an API key?
No, Code to Tree runs without API keys or environment variables.
Is Code to Tree hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Code to Tree in Claude Desktop, Claude Code or Cursor?
Open Code to Tree on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Code to Tree with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
