项目简介
'ios-mcp-code-quality-server'是一个多功能的iOS代码质量分析工具,它可以在命令行工具模式下直接使用,也可以作为Model Context Protocol (MCP) 服务器,无缝集成到AI助手中,为AI提供强大的iOS代码分析和自动化测试能力。
主要功能点
- iOS测试执行: 运行Xcode测试,并提供详细的失败分析,支持指定工作区、项目、方案和测试用例。
- SwiftLint代码检查: 自动执行Swift代码风格和质量检查,支持对指定文件或整个项目进行分析,并可配置自定义的SwiftLint配置文件。
- 测试用例发现: 发现并列出iOS项目中的所有可用测试用例和测试套件。
- 结构化报告: 提供清晰、可操作的结构化反馈,包括文件位置、行号、错误类别、严重性以及AI生成的修复建议。
- AI助手集成: 通过标准MCP协议,使AI助手能够调用这些功能,获取上下文信息,从而辅助开发者进行代码修复和优化。
安装步骤
-
前提条件:
- Node.js 18+: 运行MCP服务器和CLI工具。
- Xcode: 用于构建和测试iOS项目。
- iOS模拟器: 用于运行测试(或物理iOS设备)。
- SwiftLint (可选): 用于代码质量分析。可以通过Homebrew安装:'brew install swiftlint'。
-
克隆仓库: 打开您的终端,执行以下命令克隆项目到本地:
git clone https://github.com/a-25/ios-mcp-code-quality-server.git cd ios-mcp-code-quality-server -
安装依赖: 进入项目目录后,安装所有必要的Node.js依赖:
npm install -
构建项目: 构建TypeScript源代码,生成可执行的JavaScript文件:
npm run build -
启动服务器: 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助手再以易懂的方式反馈给您,并可能提供进一步的修复建议。
信息
分类
开发者工具