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

Xcode Diagnostics MCP Plugin

MCP Server

一个用于从Xcode构建日志中提取和查看错误和警告的MCP插件,帮助AI助手快速识别代码问题。

工具数

0

提示词数

0

GitHub Stars

6

资源数

0
Python开发工具命令行工具

安装说明

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

作者 / 组织

leftspin

提供方

leftspin

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install mcp-xcode-diagnostics

详细介绍

Xcode诊断MCP插件

一个MCP(模型控制协议)插件,用于从Xcode构建日志中提取和查看错误和警告。

概述

此插件实现了模型控制协议(MCP)规范,为任何兼容的AI助手提供Xcode诊断功能。它连接到Xcode的构建系统,从Swift项目中提取、解析和显示诊断(错误和警告)。它帮助AI助手快速识别代码中的问题,而无需手动搜索构建日志。

请注意,由于这在日志级别工作,Xcode在运行此工具之前必须已经尝试过构建。

先决条件

  • macOS操作系统
  • Xcode已安装
  • Python 3.6+

安装

从PyPI安装

安装Xcode Diagnostics MCP插件的最简单方法:

pip install mcp-xcode-diagnostics

从GitHub安装

您可以直接从GitHub安装:

pip install git+https://github.com/leftspin/mcp-xcode-diagnostics.git

从源代码安装

要从源代码安装,请执行以下操作:

  1. 克隆或下载此存储库
  2. 使用pip安装插件:
   cd mcp-xcode-diagnostics
   pip install .

该插件现在可以与任何兼容MCP的客户端一起使用。

特性

  • 列出DerivedData中有构建日志的所有Xcode项目
  • 从特定项目的最新生成日志中提取错误和警告
  • 解析复杂的诊断,包括相关注释和修复建议
  • 提供有关每个问题的详细信息,包括文件路径、行号和错误消息
  • 针对捕获Swift并发相关警告进行了优化

支持的诊断类型

该插件可以检测和显示各种类型的Xcode诊断,包括:

错误

  • 语法错误(例如,“预期的‘{’”或“预期的表达式”)
  • 类型错误(例如,“无法将类型X的值转换为预期的参数类型Y”)
  • 未解析的标识符和缺失的导入
  • 协议一致性错误
  • 通用参数推理失败
  • 违反访问控制

警告

  • 未使用的变量、常量和结果
  • 可能失去精度的隐式转换
  • 冗余代码或不必要的表达式
  • 弃用警告
  • 字符串插值问题
  • Swift并发警告,包括:

- 非隔离全局共享可变状态警告 - 主要参与者隔离警告 - 协议一致性并发警告 - 违反演员隔离规定 - Swift 6语言模式兼容性警告

注释和修复建议

  • 为错误和警告提供额外上下文的相关注释
  • 修复提出代码更改以解决问题的建议
  • 显示有问题代码的代码片段

局限性

  • 运行时日志中的二进制/序列化格式可能无法完全解析
  • 一些高度专业化的诊断格式可能无法识别
  • 非常大的构建日志可能会被截断
  • 特定于项目的自定义诊断可能未正确分类

MCP工具

该插件提供了两个主要的MCP工具:

getxcode项目

列出DeriveedData目录中所有包含构建日志的Xcode项目。

参数:无

get_project_dignostics

从特定项目的最新生成日志中获取诊断信息。

参数:

  • project_dir_name:DerivedData中项目的目录名称(例如,“ProjectName哈希”)
  • include_warnings:是否在错误之外还包括警告(默认值:True)

调试信息

出于调试目的,该插件将原始日志输出保存到:

  • /tmp/xcode-mcp-debug.log -主要应用程序日志
  • /tmp/xcode-diagnostic-raw.log -Xcode活动日志的原始输出

输出示例

{
  "success": true,
  "log_file": "/path/to/build.xcactivitylog",
  "timestamp": "2025-03-11T12:34:56.789",
  "errors": [
    {
      "type": "error",
      "message": "use of unresolved identifier 'NonExistentType'",
      "file_path": "/path/to/MyFile.swift",
      "line_number": 42,
      "column": 15,
      "code": "    let x: NonExistentType = value",
      "notes": []
    }
  ],
  "warnings": [
    {
      "type": "warning",
      "message": "static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode",
      "file_path": "/path/to/SharedManager.swift",
      "line_number": 10,
      "column": 16,
      "code": "    static var sharedInstance: SharedManager?",
      "notes": [
        {
          "type": "note",
          "message": "convert 'sharedInstance' to a 'let' constant to make 'Sendable' shared state immutable",
          "file_path": "/path/to/SharedManager.swift",
          "line_number": 10,
          "column": 16
        }
      ]
    }
  ],
  "error_count": 1,
  "warning_count": 1
}

测试

该插件包括一个测试套件,用于验证解析功能:

# Run all tests
python -m unittest test_xcode_diagnostics.py

许可证

该项目在MIT许可证下可用。

目录标签

目录标签

Python开发工具命令行工具Xcode插件本地部署构建日志分析错误检测Swift项目代码诊断

接入字段

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

stdio

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

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononelocal-only

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

安装前确认

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

来源信息

继续浏览同类 MCP