mcpField
A
Ast Metrics

Ast Metrics

本地服务
github.com/Halleck45开发工具164今天更新

关于 Ast Metrics

AST Metrics 是面向开发者和编码 Agent 的静态代码分析工具,可在本地评估复杂度、架构耦合、风险和测试质量,并比较 Pull Request 中新增或恶化的问题。它可离线运行,并提供 MCP 服务供 Agent 按需查询代码结构指标。

主要功能

  1. 01分析复杂度、可维护性与代码量
  2. 02评估耦合、架构和社区结构
  3. 03检查提交历史与 bus factor
  4. 04按阈值执行架构与代码 lint
  5. 05生成多种报告格式

适用场景

  1. 01在 Pull Request 中仅检查新增或恶化的问题
  2. 02在 CI 中按规则阻止违规变更
  3. 03定位高风险文件与重构热点
  4. 04让编码 Agent 查询依赖和耦合影响

MCP 相关

以 MCP 服务形式提供代码复杂度、耦合、依赖和风险信息,供 AI 编码 Agent 按需查询。可通过 `ast-metrics mcp .` 启动。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AST Metrics

无需服务器。无需账户。一个二进制文件。
代码的编写速度已经超过了审查速度。AST Metrics 会度量你的代码库 (复杂度、架构、耦合、巴士因子、测试质量),并在每个拉取请求中 只标记出变差的部分。
确定性:相同的代码,相同的结论。可离线运行:没有任何数据离开你的机器。
快速:在笔记本电脑上,每秒可分析 20,000+ 行代码。

Go · PHP · Python · Rust · Java · C# · TypeScript


CI GitHub Release License: MIT README 配图 GitHub all releases Go Report Card codecov Go Reference Mentioned in Awesome Go AST-Metrics report

文档 | 贡献指南

AST Metrics 报告:一份通俗易懂的结论,包含复杂度、可维护性、测试隔离度和巴士因子的评分
AST Metrics 正在分析自身。在线查看这份报告,或者对任意公开仓库试用,无需安装任何东西。


快速开始

使用 Homebrew 安装(macOS、Linux):

brew install ast-metrics/tap/ast-metrics

或使用安装脚本(适用于任何平台,会在当前目录下载一个 ./ast-metrics 二进制文件):

curl -fsSL https://install.ast-metrics.dev | sh

然后分析你的项目:

ast-metrics analyze /path/to/your/code

你会直接在终端中看到一份摘要:可维护性、预估的缺陷概率、耦合,以及最值得优先重构的热点。想要完整报告时,加上 --report-html=<dir>;或者用 --tui 在全屏仪表盘中浏览结果。除非你主动要求,否则不会向磁盘写入任何内容。

Docker 镜像、npm、pip、Composer、.deb/.rpm 包以及手动下载:请参阅安装说明。

审查拉取请求,远离噪音

ast-metrics review

它会将你的分支与其基础分支进行比较,只报告新增或恶化的发现:新增的过于复杂的函数、耦合度回归、失去可维护性的类。遗留代码保持沉默。与 AI 代码审查工具不同,它是确定性的且免费:相同的代码,相同的判定,没有按席位定价。当你希望它阻止合并时,添加 --fail-on=high。

➡️ 审查你的更改

你将获得

PR 审查ast-metrics review 只标记相对于基础分支恶化的部分
架构分析耦合、不稳定性、社区检测:及早发现设计漂移
代码指标圈复杂度、可维护性指数、代码行数
活动指标提交历史和巴士因子:了解谁负责什么
代码检查器对复杂度、耦合、体积和架构强制执行阈值
CI/CD 就绪GitHub Actions、GitLab CI、任何流水线;违规时以非零状态退出
报告格式HTML 仪表板、JSON、Markdown、SARIF、OpenMetrics
MCP 服务赋予 AI 编码 Agent 架构感知能力

交互式依赖图:枢纽、自然社区和循环依赖一目了然
依赖图:枢纽、自然社区和循环依赖一目了然。

检查你的架构

ast-metrics init                      # create a .ast-metrics.yaml config file
ast-metrics ruleset add architecture  # pick rulesets (volume, complexity...)
ast-metrics lint

阈值位于你的 YAML 配置中:最大复杂度、耦合限制、组件之间禁止的依赖、每个方法的大小限制……遗留代码库有数百个违规?运行一次 ast-metrics baseline:它会快照当前的违规,lint 只对新增的违规失败。

➡️ 规则集、阈值和基线

在 CI 中运行

ast-metrics ci 运行代码检查器,生成所有报告(HTML、JSON、Markdown、SARIF、OpenMetrics),并在发现违规时以非零状态退出。在 GitHub 上,一个步骤就足够了:

- uses: ast-metrics/action-ast-metrics@v2

在每个拉取请求上,该 action 运行 ast-metrics review,并只评论新增或恶化的发现。

➡️ CI/CD 指南:GitHub Actions、GitLab CI

赋予你的 AI Agent 架构感知能力

AI 编码 Agent 线性地阅读代码。作为 MCP 服务 运行时,AST Metrics 为 Claude Code、Cursor 或 Copilot 提供对复杂度、耦合、依赖和风险的按需访问,因此你可以问类似*“哪些文件重构风险最高?”或“如果我更改 UserService 类,会破坏什么?”*的问题。

ast-metrics mcp .

➡️ MCP 服务设置和工具

支持的语言

Go、PHP、Python、Rust、Java、C# 和 TypeScript。

贡献

欢迎讨论、错误报告和拉取请求:从这里开始。AST Metrics 是开源软件,基于 MIT 许可证授权。

支持项目

AST Metrics 是在空闲时间构建和维护的。如果它为你节省了一些时间:

  • ⭐ 为仓库加星。它不花费任何东西,而且这是大多数开发者发现该工具的方式。
  • ❤️ 成为赞助者。赞助直接资助维护时间以及新增语言和指标。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。