Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ dist/
*.tsbuildinfo

# Auto-generated files
src/version.ts
src/core/generated-plugins.ts
src/core/generated-resources.ts

# IDE and editor files
.idea/
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
```markdown
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The entire README.md file is wrapped in a markdown code block, which will break all formatting and rendering on platforms like GitHub.
Severity: HIGH | Confidence: High

🔍 Detailed Analysis

The README.md file has been inadvertently wrapped in a markdown code block, starting with ```markdown on line 1 and ending with ``` on a later line. This will cause markdown renderers, such as GitHub's, to display the entire file's content as a single, unformatted block of code. As a result, all formatting, including headers, links, images, and the newly added badge, will be lost, making the documentation unreadable for users.

💡 Suggested Fix

Remove the opening code fence ```markdown from the beginning of README.md and the corresponding closing code fence ``` from the end of the file.

🤖 Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: README.md#L1

Potential issue: The `README.md` file has been inadvertently wrapped in a markdown code
block, starting with ` ```markdown` on line 1 and ending with ` ``` ` on a later line.
This will cause markdown renderers, such as GitHub's, to display the entire file's
content as a single, unformatted block of code. As a result, all formatting, including
headers, links, images, and the newly added badge, will be lost, making the
documentation unreadable for users.

Did we get this right? 👍 / 👎 to inform future reviews.
Reference ID: 508999

<img src="banner.png" alt="XcodeBuild MCP" width="600"/>

A Model Context Protocol (MCP) server that provides Xcode-related tools for integration with AI assistants and other MCP clients.

[![CI](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/ci.yml/badge.svg)](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/ci.yml)
[![smithery badge](https://smithery.ai/badge/cameroncooke/xcodebuildmcp)](https://smithery.ai/server/cameroncooke/xcodebuildmcp) [![CI](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/ci.yml/badge.svg)](https://github.com/cameroncooke/XcodeBuildMCP/actions/workflows/ci.yml)
[![npm version](https://badge.fury.io/js/xcodebuildmcp.svg)](https://badge.fury.io/js/xcodebuildmcp) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Node.js](https://img.shields.io/badge/node->=18.x-brightgreen.svg)](https://nodejs.org/) [![Xcode 16](https://img.shields.io/badge/Xcode-16-blue.svg)](https://developer.apple.com/xcode/) [![macOS](https://img.shields.io/badge/platform-macOS-lightgrey.svg)](https://www.apple.com/macos/) [![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/cameroncooke/XcodeBuildMCP)

## Table of contents
Expand Down Expand Up @@ -248,7 +249,7 @@ Example MCP client configuration:

## Session-aware opt-out

By default, XcodeBuildMCP uses a session-aware mode: the LLM (or client) sets shared defaults once (simulator, device, project/workspace, scheme, etc.), and all tools reuse them—similar to choosing a scheme and simulator in Xcodes UI so you dont repeat them on every action. This cuts context bloat not just in each call payload, but also in the tool schemas themselves (those parameters dont have to be described on every tool).
By default, XcodeBuildMCP uses a session-aware mode: the LLM (or client) sets shared defaults once (simulator, device, project/workspace, scheme, etc.), and all tools reuse them—similar to choosing a scheme and simulator in Xcode's UI so you don't repeat them on every action. This cuts context bloat not just in each call payload, but also in the tool schemas themselves (those parameters don't have to be described on every tool).

If you prefer the older, explicit style where each tool requires its own parameters, set `XCODEBUILDMCP_DISABLE_SESSION_DEFAULTS=true`. This restores the legacy schemas with per-call parameters while still honoring any session defaults you choose to set.

Expand Down Expand Up @@ -347,3 +348,4 @@ See our documentation for development:
## Licence

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
```
Loading
Loading