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

Antlr4 MCP

MCP Server

一个增强Claude AI能力的ANTLR4语法分析、调试与修改工具集,专为处理复杂语法和多文件项目设计。

工具数

33

提示词数

0

GitHub Stars

0

资源数

0
调试工具TypeScriptClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

natl-set

提供方

natl-set

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

ANTLR4 MCP服务器

Claude Desktop语法调试和操作工具包

![CI](https://github.com/natl-set/antlr4-mcp/actions/workflows/ci.yml) ![License: MIT](https://opensource.org/licenses/MIT)

![CI](https://github.com/natl-set/antlr4-mcp/actions/workflows/ci.yml) ](https://github.com/natl-set/antlr4-mcp) ![License: MIT](https://opensource.org/licenses/MIT)

MCP(模型上下文协议)服务器,使Claude AI能够读取、分析、修改和调试ANTLR4语法。非常适合使用复杂的解析器、修复语法问题和理解大型多文件语法。

](https://github.com/natl-set/antlr4-mcp)

这是什么?

这个工具让Claude AI通过提供55多种专业工具来帮助您使用ANTLR4语法。Claude可以:

  • 查找bug 在你的语法中(比如使用 ? 当你需要的时候 *)
  • 了解结构 跨多个导入的语法文件
  • 建议修复 具有上下文感知令牌模式
  • 进行精确编辑 diff输出仅显示变化
  • 汇总警告 -将17000个警告转化为10个可操作的项目

为什么要用这个?

传统ANTLR工作流程:

  1. 编辑语法文件
  2. 运行ANTLR编译器
  3. 查看17000条警告
  4. 手动通过它们
  5. 猜猜哪一个很重要
  6. 重复

使用此工具+克劳德:

  1. 问克劳德“我的语法怎么了?”
  2. 克劳德分析并说:“你有9个缺失的标记和8个量词错误”
  3. 克劳德向你展示了需要哪些规则 * 而不是 ?
  4. 克劳德可以一次修复所有问题,也可以让你选择特定的问题
  5. 在30分钟内完成,而不是几个小时

特性

  • 55+专业语法工具 用于分析、验证和修改
  • 智能验证 -将17000多个警告汇总为10个可操作项目
  • 多文件语法支持 -加载并分析导入的语法
  • 模式检测 -查找可疑的量词和反模式
  • 性能分析 -检测瓶颈,测试解析速度
  • Lexer模式支持 -分析和管理上下文相关的标记化
  • 选择性批量修复 -修复特定规则或所有检测到的问题
  • 情境感知建议 -智能代币模式建议
  • 输出限制 -处理大型语法而不发生令牌溢出
  • Diff模式 -仅查看更改,不查看完整文件

安装

先决条件

  • Node.js 18+和npm
  • Claude Desktop或任何兼容MCP的客户端
  • 可选:Java+ANTLR4用于本机运行时(100%准确解析)

设置

  1. 克隆和构建:
git clone https://github.com/natl-set/antlr4-mcp.git
cd antlr4-mcp
npm install
npm run build
  1. 配置Claude桌面:

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "antlr4": {
      "command": "node",
      "args": ["/path/to/antlr4-mcp/dist/index.js"]
    }
  }
}
  1. 重新启动克劳德桌面

快速开始

示例1:验证大型语法

// Old way: 17,234 individual warnings
await use_mcp_tool("antlr4", "validate-grammar", {
  from_file: "MyGrammar.g4",
  max_issues: 100
});

// New way: Smart validation
await use_mcp_tool("antlr4", "smart-validate", {
  from_file: "MyGrammar.g4",
  load_imports: true
});

// Output:
// 📊 Total: 17,234 issues across 3 categories
// 1. Undefined tokens (15,890 refs, 9 unique)
//    → Add ADDRESS_REGEX (89 refs), EVENT_TYPE (67 refs)
// 2. Suspicious quantifiers (8 rules)
//    → bgpp_export: rule? should be rule*
// 3. Incomplete parsing (3 rules)
//    → ss_ssl_tls_service_profile uses null_rest_of_line

示例2:查找并解决量化问题

// Step 1: Detect issues
await use_mcp_tool("antlr4", "detect-quantifier-issues", {
  from_file: "PaloAlto_interface.g4"
});

// Output shows:
// ⚠️  snie_ethernet (line 45)
//    Pattern: )? 
//    Suggestion: Change to )* for multiple occurrences
//
// ⚠️  snie_lacp (line 62)
//    Pattern: )? 
//    Suggestion: Change to )* for multiple occurrences
// 
// ... (15 total issues)

// Step 2: Fix specific rules you want to change
await use_mcp_tool("antlr4", "fix-quantifier-issues", {
  from_file: "PaloAlto_interface.g4",
  rule_names: ["snie_ethernet", "snie_lacp", "snil_units"],
  output_mode: "diff",
  write_to_file: true
});

// Shows diff:
// @@ -49,7 +49,7 @@
//      | snie_layer2
//      | snie_layer3
//      | snie_virtual_wire
// -    )?
// +    )*
//  ;

// Or fix all detected issues at once:
await use_mcp_tool("antlr4", "fix-quantifier-issues", {
  from_file: "PaloAlto_interface.g4",
  write_to_file: true  // Omit rule_names to fix all
});

示例3:添加和测试令牌

// Add token with diff output (see only changes)
await use_mcp_tool("antlr4", "add-rule", {
  from_file: "MyGrammar.g4",
  rule_name: "EQUALS",
  pattern: "'='",
  output_mode: "diff",
  write_to_file: true
});

// Test it
await use_mcp_tool("antlr4", "preview-tokens", {
  from_file: "MyGrammar.g4",
  input: "x = 42"
});

关键工具

智能验证

  • 智能验证 -综合分析与汇总
  • 检测量词问题 -查找 ? 那应该是 *
  • 检测不完整解析 -查找反模式

分析与验证

  • 语法分析 -结构分析 summary_only 选项
  • 验证语法 -语法验证 max_issues 限制
  • 查找规则用法 -多文件使用情况跟踪

语法操作

  • 添加规则 -自动从命名中检测词法分析器/解析器
  • 更新规则 -修改现有规则
  • 删除规则 -安全删除规则
  • 重命名规则 -使用引用更新重命名
  • 移动规则 -重新定位规则
  • 排序规则 -按字母顺序排序
  • 内联规则 -内联一次性使用规则

测试和预览

  • 测试解析器规则 -使用输入测试解析器规则
  • 预览令牌 -查看标记化结果
  • 测试词法规则 -测试词法模式

性能分析

  • 分析瓶颈 -检测高分支规则、波浪号否定、缺失模式
  • 基准分析 -模拟基准(快速估算)
  • 本地基准 -真正的ANTLR4 Java运行时基准测试(准确)
  • 配置文件解析 -详细的解析度量(歧义、树深度、规则频率)
  • 可视化解析树 -ASCII/JSON/LISP树可视化
  • 生成压力测试 -为性能测试生成压力测试输入
  • 比较配置文件 -比较两个解析配置文件以衡量优化影响
  • 比较语法 -比较两种语法以找出差异

第一阶段分析

  • 语法度量 -分支估计、复杂性、依赖关系
  • 检测-重做 -ReDoS漏洞扫描程序
  • 检查样式 -带有质量评分的风格检查器

Lexer模式

  • 分析lexer模式 -分析模式结构和规则
  • 分析模式转换 -检测模式转换问题
  • 添加lexer模式 -添加新的lexer模式声明
  • 将规则添加到模式 -将规则添加到特定模式

批量操作

  • 批量创建令牌 -生成多个令牌
  • 从错误中建议令牌 -解析错误日志

查看所有55+工具→

现实世界影响

测试于 Palo Alto防火墙配置语法 (36个文件,1500+行):

在智能验证之前:

  • 17234个单独警告
  • 手动grep/分析的小时数
  • 难以确定根本原因

智能验证后:

  • 3个问题类别
  • 9个缺失的代币(带有建议的模式)
  • 8个量词错误(有具体修复)
  • 3种不完整的解析模式
  • 30分钟内修复

发现Bug

  1. 量化错误 (8条规则)
   bgpp_export: rule?  // Should be rule*

影响:1200多个警告

  1. 缺少令牌 (9个代币)
   ADDRESS_REGEX, EVENT_TYPE, USERNAME_REGEX, ...

影响:15890次警告

  1. 解析不完整 (3条规则)
   rule: ... null_rest_of_line  // Discards content

影响:144次警告

文档

发展

构建

npm run build

CLI基准测试

对于真实ANTLR4运行时的准确性能测试:

# Download ANTLR4 (first time only)
mkdir -p ~/.local/lib
curl -L -o ~/.local/lib/antlr-4.13.1-complete.jar https://www.antlr.org/download/antlr-4.13.1-complete.jar

# Run benchmark
./benchmark-antlr4.sh MyGrammar.g4 start_rule test_input.txt 20

运行测试

cd tests
bash run-all-tests.sh

测试套件

  • 数据丢失防护
  • 输出限制
  • Diff输出模式
  • 智能验证
  • 防止超时

所有测试均已通过✅

建筑

  • src/index.ts -MCP服务器实现
  • src/antlrAnalyzer.ts -核心语法分析引擎
  • src/antlr4time.ts -原生ANTLR4运行时集成

贡献

问题和拉取请求欢迎访问

许可证

麻省理工学院

学分

使用Anthropic的模型上下文协议(MCP)构建。

目录标签

目录标签

调试工具TypeScriptClaude语法分析本地部署ANTLR4ClaudeAI多文件支持

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

33

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP