Token导航 LogoToken导航TokenDH.com
Code Structure MCP logo
开发工具stdio官方级别未说明来源级核验

Code Structure MCP

MCP Server

一个快速的模型上下文协议(MCP)服务器,用于分析源代码文件并将它们的结构提取为Markdown格式,优化了大型语言模型(LLM)的输入。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
代码分析PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DarkEden-coding

提供方

DarkEden-coding

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

TreeSitter MCP服务器

一种快速的模型上下文协议(MCP)服务器,用于分析源代码文件,并以针对LLM消费优化的markdown格式提取其结构。

特性

  • 多语言支持:Python、JavaScript、TypeScript、Java、C#、Go和Rust
  • 快速解析:使用树形图进行高效的AST解析
  • 综合结构:提取类、函数、嵌套元素
  • 行号:跟踪每个元素的开始和结束线
  • 嵌套级别:显示嵌套元素的深度
  • 参数和返回类型:提取函数签名
  • 可选文档字符串:可配置的文档字符串提取
  • 多文件分析:在一个请求中分析单个或多个文件
  • 错误处理:尽可能多地分析并指示错误位置
  • LLM优化输出:Markdown格式,便于LLM使用

安装

使用紫外线(推荐)

uv sync

使用pip

pip install -r requirements.txt

用法

运行MCP服务器

uv run python src/server.py

或者直接:

python src/server.py

MCP配置

将以下内容添加到MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "CodeStructureAnalyzer": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/TreeSitterMcp",
        "run",
        "python",
        "src/server.py"
      ]
    }
  }
}

MCP工具: query

分析一个或多个源代码文件的结构。

参数:

  • file_path (必需):要分析的源代码文件的路径。可以是:

- 将单个文件路径作为字符串(例如。, "src/models.py") - 一系列文件路径(例如。, ["src/models.py", "src/config.py"])

  • include_docstrings (可选,默认值:false):是否在输出中包含文档字符串

单文件分析

请求示例:

{
  "name": "query",
  "arguments": {
    "file_path": "src/models.py",
    "include_docstrings": true
  }
}

多文件分析

请求示例:

{
  "name": "query",
  "arguments": {
    "file_path": ["src/models.py", "src/config.py", "src/server.py"],
    "include_docstrings": false
  }
}

输出格式

输出针对令牌效率进行了优化,并遵循以下模式: Format: ### Name (Start-End, Nesting, [Parent]) | - Type | - [Parameters] | - [Return Type] | - [Docstring]

输出示例:

Format: ### `Name` (Start-End, Nesting, [Parent]) | - Type | - [Parameters] | - [Return Type] | - [Docstring]

# `src/models.py`

### `MyClass` (10-50, N:0)
- Class
- A sample class for demonstration.

  ### `__init__` (15-25, N:1, P: `MyClass`)
  - Function
  - (self, param1: str, param2: int)
  - -> None
  - Initialize the class.

多文件输出示例

Format: ### `Name` (Start-End, Nesting, [Parent]) | - Type | - [Parameters] | - [Return Type] | - [Docstring]

# `src/models.py`

### `MyClass` (10-50, N:0)
- Class
...

---
# `src/config.py`

### `get_language_from_extension` (10-20, N:0)
- Function
...

支持的语言

语言文件扩展名
Python.py
JavaScript.js、.mjs、.cjs
TypeScript.ts,.tsx
Java.Java
C#.cs
去吧
锈蚀.rs

建筑

服务器分为以下模块:

  • src/mcp_impl/server.py:带有工具定义的MCP服务器实现
  • src/parsers/tree_sitter.py:树型解析器集成
  • src/extractors/structure.py:代码结构提取逻辑
  • src/formatters/markdown.py:输出的Markdown格式
  • src/config.py:语言配置和映射
  • src/models.py:代码元素的数据模型

错误处理

即使存在语法错误,服务器也会尝试解析尽可能多的文件。错误在专用部分报告:

## Parse Errors

⚠️ **Error at Line 42**: Syntax error
return self.process(item

发展

运行测试

uv run pytest

代码格式化

uv run black src/

类型检查

uv run mypy src/

许可证

MIT许可证

贡献

欢迎投稿!请随时提交拉取请求。

目录标签

目录标签

代码分析PythonClaude本地部署多语言支持AST解析LLM优化

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP