项目简介

'ios-mcp-code-quality-server'是一个多功能的iOS代码质量分析工具,它可以在命令行工具模式下直接使用,也可以作为Model Context Protocol (MCP) 服务器,无缝集成到AI助手中,为AI提供强大的iOS代码分析和自动化测试能力。

主要功能点

  • iOS测试执行: 运行Xcode测试,并提供详细的失败分析,支持指定工作区、项目、方案和测试用例。
  • SwiftLint代码检查: 自动执行Swift代码风格和质量检查,支持对指定文件或整个项目进行分析,并可配置自定义的SwiftLint配置文件。
  • 测试用例发现: 发现并列出iOS项目中的所有可用测试用例和测试套件。
  • 结构化报告: 提供清晰、可操作的结构化反馈,包括文件位置、行号、错误类别、严重性以及AI生成的修复建议。
  • AI助手集成: 通过标准MCP协议,使AI助手能够调用这些功能,获取上下文信息,从而辅助开发者进行代码修复和优化。

安装步骤

  1. 前提条件:

    • Node.js 18+: 运行MCP服务器和CLI工具。
    • Xcode: 用于构建和测试iOS项目。
    • iOS模拟器: 用于运行测试(或物理iOS设备)。
    • SwiftLint (可选): 用于代码质量分析。可以通过Homebrew安装:'brew install swiftlint'。
  2. 克隆仓库: 打开您的终端,执行以下命令克隆项目到本地:

    git clone https://github.com/a-25/ios-mcp-code-quality-server.git
    cd ios-mcp-code-quality-server
  3. 安装依赖: 进入项目目录后,安装所有必要的Node.js依赖:

    npm install
  4. 构建项目: 构建TypeScript源代码,生成可执行的JavaScript文件:

    npm run build
  5. 启动服务器: MCP服务器可以在无参数的情况下启动,或者通过'server'命令显式启动:

    npm start
    # 或者显式启动
    node dist/index.js server

    服务器将在 'http://localhost:3000' 启动,并准备接收MCP请求。

服务器配置

您的MCP客户端(例如Claude、Copilot等AI助手)需要以下JSON格式的配置信息,以便能够发现并连接到此MCP服务器:

{
  "mcpServers": {
    "ios-code-quality": {
      "url": "http://localhost:3000",
      "timeout": 30000,
      "command": "node",
      "args": ["/path/to/your/cloned/repo/dist/index.js", "server"]
    }
  }
}
  • '"ios-code-quality"': 您为该MCP服务器定义的唯一名称,AI助手将使用此名称来识别和引用此服务器。
  • '"url"': MCP服务器在本地机器上监听的HTTP地址和端口。默认是'http://localhost:3000'。
  • '"timeout"': AI助手在等待服务器响应时的超时时间(单位为毫秒)。
  • '"command"': 启动MCP服务器进程的命令。此处为'node',因为服务器是Node.js应用。
  • '"args"': 传递给'command'的命令行参数列表。
    • '/path/to/your/cloned/repo/dist/index.js': 请将此路径替换为您本地克隆的'ios-mcp-code-quality-server'仓库中'dist/index.js'文件的绝对路径。
    • '"server"': 指示脚本以MCP服务器模式启动。

基本使用方法

配置AI助手成功连接后,您可以通过自然语言向AI助手提出请求,它将调用此MCP服务器来执行相应的操作:

  • 运行iOS测试:

    • “你能为 'LoginFeature' 方案运行测试并告诉我哪些失败了吗?”
    • “只为 'MyApp' 方案运行 'LoginTests' 测试用例。”
    • “列出我项目中所有可用的测试,然后运行所有失败的测试。”
  • 执行SwiftLint代码检查:

    • “请使用SwiftLint分析我的iOS项目的代码质量。”
    • “检查 'LoginViewController.swift' 和 'UserModel.swift' 这两个文件的代码风格。”

AI助手会解析您的请求,通过MCP协议将任务发送给本地运行的'ios-mcp-code-quality-server'。服务器执行操作后,将结构化的结果返回给AI助手,AI助手再以易懂的方式反馈给您,并可能提供进一步的修复建议。

信息

分类

开发者工具