Ast Mcp Server

Ast Mcp Server

🚀 AST MCP 服务器

AST MCP 服务器借助抽象语法树(AST)和抽象语义图(ASG),为代码提供结构和语义分析功能。它能解析代码、生成语义图、分析复杂度,支持多语言,还与 Claude 桌面版等 MCP 客户端兼容,可高效处理大型文件。

✨ 主要特性

  • 代码解析:将代码解析为抽象语法树(AST),并从代码生成抽象语义图(ASG)。
  • 代码分析:分析代码结构和复杂度,支持语法验证。
  • 多语言支持:支持多种编程语言,如 Python、JavaScript。
  • 兼容性良好:与 Claude 桌面版和其他 MCP 客户端兼容。
  • 高效处理:采用增量解析,能更快处理大型文件。
  • 语义分析增强:具备增强的作用域处理和更完整的语义分析。
  • 版本变化识别:通过 AST 差分识别代码版本之间的变化。
  • 高级功能丰富:支持增量更新、作用域分析增强、跨语言调用图生成和依赖关系分析。

📦 安装指南

  1. 克隆此仓库:
git clone https://github.com/yourusername/ast-mcp-server.git
cd ast-mcp-server
  1. 使用 uv 设置环境:
# 如果尚未安装 uv,请先安装
# pip install uv

# 创建并激活虚拟环境
uv venv
source .venv/bin/activate  # 在 Windows 上:.venv\Scripts\activate

# 安装依赖项
uv pip install -r requirements.txt
  1. 构建解析器:
uv run build_parsers.py

💻 使用示例

与 Claude 桌面版配合使用

  1. 配置 Claude 桌面版以使用该服务器。最简单的方法是使用提供的 claude_desktop_config.json 文件:
{
"mcpServers": {
"AstAnalyzer": {
"command": "uv",
"args": [
"--directory", "/absolute/path/to/ast-mcp-server",
"run", "server.py"
]
}
}
}
  1. 确保将 /absolute/path/to/ast-mcp-server 替换为您系统的实际绝对路径。
  2. 将此配置添加到您的 Claude 桌面版配置中:
    • 在 macOS 上:~/Library/Application Support/claude-desktop/claude_desktop_config.json
    • 在 Linux 上:~/.config/claude-desktop/claude_desktop_config.json
    • 在 Windows 上:%APPDATA%\claude-desktop\claude_desktop_config.json%
  3. 重新启动 Claude 桌面版以加载新的 MCP 服务器。
  4. 在 Claude 桌面版中,现在可以使用基于 AST 的代码分析工具了。

AST MCP 服务器运行正常。以下是经过验证的功能摘要:

  • 基本 AST 解析:✓
  • 增量解析支持:✓
  • 复杂度分析功能:✓

📚 详细文档

安装步骤说明

如需安装 AST MCP 服务器,请按照以下步骤操作:

  1. 克隆仓库到本地开发环境。
  2. 使用 Python 虚拟环境管理工具 uv 创建并激活虚拟环境。
  3. 在虚拟环境中安装项目依赖项,包括 tree-sitter 语言支持库和其他必要包。
  4. 运行构建脚本以初始化所有支持的编程语言解析器。

与 Claude 桌面版集成

配置完成后,Claude 桌面版将能够通过 MCP 协议访问服务器提供的分析工具。用户可以在聊天窗口中分享代码片段,Claude 将利用这些工具进行深入分析并提供见解。

开发和测试

  • 工具注册:服务器在启动时会自动注册所有可用的工具和资源到 MCP 协议。
  • 本地执行:所有工具执行都在用户的本地设备上完成,结果返回给 Claude 进行解释和展示。

可用工具

基本功能

  1. 代码解析为 AST
  2. 生成对应的 ASG
  3. 复杂度分析
  4. 语法验证

高级功能

  1. 增量更新支持
  2. 作用域分析增强
  3. 跨语言调用图生成
  4. 依赖关系分析

添加更多语言支持

要添加新的编程语言支持,请执行以下步骤:

  1. 在仓库中添加新语言的 tree-sitter 语法定义文件。
  2. 运行构建脚本 build_parsers.py 初始化解析器。
  3. 更新工具注册逻辑以包含新语言的支持。

工作原理

AST MCP 服务器通过 Model Context Protocol (MCP) 与 Claude 桌面版连接。启动时:

  1. 服务初始化:Claude 桌面版使用 uv run 启动服务器,并指定工作目录。
  2. 加载解析器模块:服务器加载 tree-sitter 语言模块,以便支持多种编程语言的解析。
  3. 注册工具和资源:所有工具和资源被注册到 MCP 协议中。
  4. 分析执行:Claude 可以通过 MCP 协议调用这些工具对用户分享的代码进行分析。

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-02 02:09

相似服务问题

相关AI产品