Token导航 LogoToken导航

MCP Server · 开发工具

AST MCP Server

AST/ASG Code Analysis MCP Server

stdio官方级别未说明来源级核验工具 14
代码分析开发工具PythonClaudeClaude Desktop

快速开始

作者 / 组织
angrysky56
提供方
angrysky56
运行时
Python

工具数量

14

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

35

仓库热度

收录来源

4 个

MCP.so

选型结论

AST MCP Server 属于开发工具类 MCP Server,公开资料标注 14 个工具,通过stdio 本地进程接入,适配 Claude、Claude Desktop,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

仅本地运行

安装与配置

安装命令

uv run build-parsers

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 14 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

AST MCP服务器

一种MCP(模型上下文协议)服务器,通过抽象语法树(AST)和抽象语义图(ASG)提供代码结构和语义分析功能。

特性

  • 将代码解析为抽象语法树(AST)
  • 从代码生成抽象语义图(ASG)
  • 分析代码结构和复杂性
  • 支持多种编程语言(Python、JavaScript、TypeScript、Go、Rust、C/C++、Java)
  • 与Claude Desktop和其他MCP客户端兼容
  • 增量解析,更快地处理大文件
  • 增强的范围处理和更完整的语义分析
  • AST差异识别代码版本之间的变化
  • 资源缓存以提高性能

安装

先决条件

  • Python 3.9或更高版本
  • 紫外线 包管理器(推荐)或pip

使用紫外线(推荐)

  1. 克隆此存储库:
git clone https://github.com/angrysky56/ast-mcp-server.git
cd ast-mcp-server
  1. 安装项目和依赖项:
# Install the project in development mode with all dependencies
uv sync

# Or install with specific optional dependencies
uv sync --extra dev  # Development tools
uv sync --extra testing  # Testing dependencies
uv sync --extra docs  # Documentation tools
  1. 构建树状图解析器:
uv run build-parsers

使用pip(替代)

# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

# Build parsers
python build_parsers.py

使用Claude Desktop

  1. 通过编辑配置文件配置Claude Desktop以使用服务器:

配置文件的位置:

  • macOS: ~/Library/Application Support/claude-desktop/claude_desktop_config.json
  • Linux: ~/.config/claude-desktop/claude_desktop_config.json
  • 窗户: %APPDATA%\claude-desktop\claude_desktop_config.json
  1. 添加AST MCP服务器配置:
{
  "mcpServers": {
    "AstAnalyzer": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/ai_workspace/ast-mcp-server/ast_mcp_server",
        "run",
        "server.py"
      ]
    }
  }
}

重要提示: 替换 /absolute/path/to/ast-mcp-server 使用系统上的实际绝对路径。

  1. 重新启动Claude Desktop以加载新的MCP服务器。
  1. 在Claude Desktop中,您现在可以通过引用代码文件或粘贴代码片段来使用基于AST的代码分析工具。

发展

开发环境设置

# Install with development dependencies
uv sync --extra dev

# Install pre-commit hooks (optional)
uv run pre-commit install

以开发模式运行

要使用MCP检查器在开发模式下运行服务器,请执行以下操作:

# Using uv
uv run --extra dev -- -m mcp dev server.py

# Or using the development script
./dev_server.sh

测试

# Run all tests
uv run --extra testing pytest

# Run tests with coverage
uv run --extra testing pytest --cov=ast_mcp_server --cov-report=html

# Run specific tests
uv run --extra testing pytest tests/test_specific.py

代码质量

# Format code
uv run black .
uv run isort .

# Lint code
uv run flake8 .

# Type checking
uv run mypy ast_mcp_server/

可用工具

服务器提供以下代码分析工具:

基本工具

  • parse_to_ast:将代码解析为抽象语法树
  • generate_asg:从代码生成抽象语义图
  • analyze_code:分析代码结构和复杂性
  • supported_languages:获取支持的编程语言列表

缓存工具

  • parse_and_cache:将代码解析为AST并缓存以进行资源访问
  • generate_and_cache_asg:生成ASG并将其缓存以供资源访问
  • analyze_and_cache:分析代码并缓存结果以供资源访问

增强工具

  • parse_to_ast_incremental:使用增量支持解析代码,以加快处理速度
  • generate_enhanced_asg:生成具有更好范围处理的增强ASG
  • diff_ast:查找两个版本代码之间的差异
  • find_node_at_position:在给定的行和列中定位特定节点
  • parse_and_cache_incremental:增量解析代码并缓存结果
  • generate_and_cache_enhanced_asg:生成增强的ASG并将其缓存
  • ast_diff_and_cache:生成AST差异并缓存它

添加语言支持

要添加对其他编程语言的支持,请执行以下操作:

  1. 安装相应的树状图语言包:
uv add tree-sitter-
  1. 更新 LANGUAGE_MODULES 字典在 build_parsers.py 和 ast_mcp_server/tools.py.
  1. 构建解析器:
uv run build-parsers

当前支持的语言

  • python (tree-sitter-python)
  • JavaScript (tree-sitter-javascript)
  • TypeScript (tree-sitter-typescript)
  • 去 (tree-sitter-go)
  • 锈 (tree-sitter-rust)
  • C (tree-sitter-c)
  • C (tree-sitter-cpp)
  • Java (tree-sitter-java)

运作原理

AST MCP服务器通过模型上下文协议(MCP)与Claude Desktop连接:

  1. 初始化:Claude Desktop使用以下命令启动服务器 uv run 具有适当的工作目录
  2. 语言加载:服务器加载树型语言模块,用于解析各种编程语言
  3. MCP注册:它使用MCP协议注册工具和资源
  4. 分析:Claude可以访问这些工具来分析您共享的代码或本地文件。工具设计得很稳健:它们可以智能地从本地读取 filename 如果提供的代码是占位符,则返回路径。
  5. 缓存:结果在本地缓存以提高性能

所有工具的执行都在您的机器上本地进行,结果将返回给Claude进行解释和帮助。

配置文件

  • pyproject.toml:项目元数据、依赖关系和工具配置
  • claude_desktop_config.json:克劳德桌面配置示例
  • dev_server.sh:开发服务器脚本
  • .gitignore:Git忽略规则

目录结构

ast-mcp-server/
├── ast_mcp_server/          # Main package
│   ├── __init__.py
│   ├── tools.py             # Core AST/ASG tools
│   ├── enhanced_tools.py    # Enhanced analysis features
│   ├── resources.py         # MCP resource handlers
│   └── parsers/             # Tree-sitter parser cache
├── examples/                # Usage examples
├── tests/                   # Test suite
├── server.py                # Main server entry point
├── build_parsers.py         # Parser setup script
├── pyproject.toml           # Project configuration
└── README.md               # This file

故障排除

解析器问题

如果遇到与解析器相关的错误:

# Rebuild parsers
uv run build-parsers

# Check for missing language packages
uv add tree-sitter-python tree-sitter-javascript

Claude桌面连接问题

  1. 验证Claude Desktop配置中的绝对路径
  2. 确保uv在您的系统PATH中
  3. 检查Claude Desktop日志中的错误消息
  4. 配置更改后重新启动Claude Desktop

性能问题

  • 对大文件使用增量解析工具
  • 启用缓存以进行重复分析
  • 考虑分析较小的代码段

贡献

  1. 克隆该仓库
  2. 创建要素分支: git checkout -b feature-name
  3. 通过适当的测试进行更改
  4. 运行测试套件: uv run pytest
  5. 提交拉取请求

开发指南

  • 遵循PEP 8风格指南(由black和flake8执行)
  • 向所有公共函数添加类型提示
  • 包括所有模块、类和函数的文档字符串
  • 为新功能编写测试
  • 根据需要更新文档

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

更新日志

v0.2.0版本

  • 添加了pyproject.toml配置
  • 改善紫外线兼容性
  • 增强型缓存系统
  • 添加了增量解析支持
  • 扩展语言支持
  • 更好的错误处理和日志记录

v0.1.0

  • 初始版本
  • 基本AST/ASG解析
  • Claude桌面集成
  • 支持Python和JavaScript

工具与能力

工具数量

14

资源数量

0

提示词数量

0

能力标签

research-and-dataastasgcodingclaudemcp-server代码分析Python

支持客户端

ClaudeClaude Desktop

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 14 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Claude Desktop,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
AST MCP Server

MCP.so · 本页

14stdio有4 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

AST MCP Server 怎么安装?

公开资料给出的安装命令是 uv run build-parsers,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

AST MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

AST MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

AST MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

AST MCP Server 支持哪些客户端?

公开资料标注支持 Claude、Claude Desktop;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP