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

Ast Grep MCP Swift

MCP Server

一个基于Swift的MCP服务器,通过AST模式匹配为AI助手提供强大的代码结构搜索能力。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
Swift代码分析开发工具ClaudeClaude DesktopClaudeCursor

安装说明

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

作者 / 组织

nedithgar

提供方

nedithgar

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

ast grep MCP服务器(Swift)

概述

此MCP服务器使AI助手(如Cursor、Claude Desktop等)能够使用抽象语法树(AST)模式匹配而不是简单的基于文本的搜索来搜索和分析代码库。通过利用ast grep的结构化搜索功能,AI可以:

  • 基于语法结构查找代码模式,而不仅仅是文本匹配
  • 搜索特定的编程构造(函数、类、导入等)
  • 使用YAML配置编写和测试复杂的搜索规则
  • 调试和可视化AST结构,以更好地开发模式

先决条件

  1. 安装ast grep:关注 astgrep安装指南
   # macOS
   brew install ast-grep
   nix-shell -p ast-grep
   cargo install ast-grep --locked
  1. Swift工具链:Swift 6.2(或Xcode 26+)来构建/运行服务器
  1. MCP兼容客户端:例如Cursor、Claude Desktop或其他MCP客户端

安装

  1. 克隆此存储库:
   git clone https://github.com/ast-grep/ast-grep-mcp-swift.git
   cd ast-grep-mcp-swift
  1. 一次构建(下载SwiftPM deps,如MCP Swift SDK和Yams):
   swift build
  1. 验证ast grep安装:
   ast-grep --version

跑步

通过stdio启动MCP服务器:

swift run ast-grep-mcp-swift --config /absolute/path/to/sgconfig.yaml
swift run ast-grep-mcp-swift --verbose --config /absolute/path/to/sgconfig.yaml  # verbose debug logs to stderr
swift run ast-grep-mcp-swift --version  # print version information

你可以省略 --config 如果您依赖默认值或 AST_GREP_CONFIG 环境变量。

快速本地测试

  1. 确保 ast-grep 在路径上: ast-grep --version
  2. 构建一次: swift build
  3. 运行服务器(stdio): swift run ast-grep-mcp-swift
  4. 从支持MCP的客户端调用 tools/list 然后 tools/call 使用下面的工具之一。

使用预构建版本(macOS)

  1. 首选 发布 并下载名为的资产 ast-grep-mcp-swift-vX.Y.Z-macOS-universal 加上它 .sha256.
  2. 验证校验和(可选但推荐): shasum -a 256 -c ast-grep-mcp-swift-vX.Y.Z-macOS-universal.sha256
  3. 使其可执行: chmod +x ast-grep-mcp-swift-vX.Y.Z-macOS-universal
  4. 运行: ./ast-grep-mcp-swift-vX.Y.Z-macOS-universal --config /absolute/path/to/sgconfig.yaml

- 或者将其移动到您的路径中(例如。, /usr/local/bin/ast-grep-mcp-swift).

  1. 将MCP客户端指向该二进制文件(请参阅下面的Cursor/Claude示例)。

配置

对于光标

添加到MCP设置(通常在 .cursor-mcp/settings.json):

{
  "mcpServers": {
    "ast-grep": {
      "command": "swift",
      "args": ["run", "ast-grep-mcp-swift", "--config", "/absolute/path/to/sgconfig.yaml"],
      "env": {}
    }
  }
}

适用于克劳德桌面

添加到您的Claude Desktop MCP配置中:

{
  "mcpServers": {
    "ast-grep": {
      "command": "swift",
      "args": ["run", "ast-grep-mcp-swift", "--config", "/absolute/path/to/sgconfig.yaml"],
      "env": {}
    }
  }
}

自定义ast-grep配置

MCP服务器支持使用自定义 sgconfig.yaml 配置astgrep行为的文件。 请参阅 astgrep配置文档 有关配置文件格式的详细信息。

您可以通过两种方式提供配置文件(按优先级顺序):

  1. 命令行参数: --config /path/to/sgconfig.yaml
  2. 环境变量: AST_GREP_CONFIG=/path/to/sgconfig.yaml

用法

您可以将自己的ast-grep规则文档附加到MCP客户端;服务器工具(dump_syntax_tree, test_match_code_rule)帮助您快速迭代。

特性

服务器提供了四种主要的代码分析工具:

🔍 dump_syntax_tree

可视化代码段的抽象语法树结构。对于理解如何编写有效的搜索模式至关重要。

使用案例:

  • 调试模式不匹配的原因
  • 了解目标代码的AST结构
  • 学习ast-grep模式语法

🧪 test_match_code_rule

在将ast grep YAML规则应用于更大的代码库之前,先对代码片段进行测试。

使用案例:

  • 验证规则是否按预期工作
  • 迭代规则开发
  • 调试复杂的匹配逻辑

🎯 find_code

使用简单的ast-grep模式搜索代码库,以进行简单的结构匹配。

参数:

  • max_results:限制返回的完整匹配数(默认值:无限制)
  • output_format:从中选择 "text" (默认情况下,令牌减少约75%)或 "json" (完整元数据)

文本输出格式:

Found 2 matches:

path/to/file.py:10-15
def example_function():
    # function body
    return result

path/to/file.py:20-22
def another_function():
    pass

使用案例:

  • 查找具有特定模式的函数调用
  • 查找变量声明
  • 搜索简单的代码构造

🚀 find_code_by_rule

使用复杂的YAML规则进行高级代码库搜索,这些规则可以表达复杂的匹配标准。

参数:

  • max_results:限制返回的完整匹配数(默认值:无限制)
  • output_format:从中选择 "text" (默认情况下,令牌减少约75%)或 "json" (完整元数据)

使用案例:

  • 查找嵌套代码结构
  • 使用关系约束(内、有、前、后)进行搜索
  • 复杂的多条件搜索

使用示例

基本模式搜索

使用查询:

查找所有console.log语句

AI将生成如下规则:

id: find-console-logs
language: javascript
rule:
  pattern: console.log($$$)

复杂规则示例

用户查询:

查找使用wait的异步函数

AI将生成如下规则:

id: async-with-await
language: javascript
rule:
  all:
    - kind: function_declaration
    - has:
        pattern: async
    - has:
        pattern: await $EXPR
        stopBy: end

支持的语言

ast grep支持多种编程语言,包括:

  • JavaScript/TypeScript
  • python
  • Java
  • C/C++
  • C
  • 还有更多。..

有关内置支持语言的完整列表,请参阅 astgrep语言支持文档.

您还可以通过添加对自定义语言的支持 sgconfig.yaml 配置文件。请参阅 自定义语言指南 了解详情。

故障排除

常见问题

  1. “找不到命令”错误:确保ast grep已安装并位于您的PATH中
  2. 未找到匹配项:尝试添加 stopBy: end 关系规则
  3. 图案不匹配:使用 dump_syntax_tree 了解AST结构
  4. 权限错误:确保服务器具有对目标目录的读取权限

贡献

这是一个实验项目。欢迎问题和拉取请求!作为原始Python服务器的Swift端口构建:https://github.com/ast-grep/ast-grep-mcp.

相关项目

  • ast grep -核心结构搜索工具
  • 模型上下文协议 -此服务器实现的协议
  • MCP Swift SDK -此服务器使用的Swift实现
  • Codemod MCP -为AI助手提供树保姆AST和节点类型、AST grep指令(YAML和JS AST grep)和Codemod CLI命令等工具,以轻松构建、发布和运行基于AST grep的codemods。

目录标签

目录标签

Swift代码分析开发工具Claude本地部署AST搜索AI辅助编程多语言支持

支持客户端

Claude DesktopClaudeCursor

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP