Skip to content

Conversation

@cameroncooke
Copy link
Owner

@cameroncooke cameroncooke commented Dec 30, 2025

Changes:

  • Adjusted mcp.json to ensure proper formatting and maintain consistency in server configurations.
  • Enhanced settings.json to include allowed models for the XcodeBuildMCP-Dev server.
  • Modified tool-registry.ts to ensure the session-management workflow is always included, as it is required by other tools, improving tool registration reliability.

This update aims to streamline the development experience and ensure necessary workflows are always available.


Note

Breaking: remove dynamic tool discovery (discover_tools) and XCODEBUILDMCP_DYNAMIC_TOOLS; use XCODEBUILDMCP_ENABLED_WORKFLOWS for startup registration (auto-includes session-management).

  • Core: delete core/dynamic-tools.ts and discovery workflow; add registerWorkflows, workflow-selection, and runtime-registry; update tool-registry to register selected/all workflows and record runtime state
  • SDK migration: switch from @camsoft/mcp-sdk to @modelcontextprotocol/sdk; update imports across src/*, resources, server setup; bump deps in package.json/lockfile
  • Doctor/resources/tests: adjust doctor runtime reporting, remove dynamic-mode logic; update resource/metadata tests; add workflow-selection tests
  • Build & tooling: refine plugin discovery generators; scripts and tools CLI now respect XCODEBUILDMCP_ENABLED_WORKFLOWS
  • Docs: rewrite architecture, contributing, plugin development, testing, tools, and reloader guides to reflect workflow selection; update tool/workflow counts
  • Editor/config: update .vscode configs (remove dynamic env vars, local template paths, allowed model), add XcodeBuildMCP.code-workspace; bump .axe-version to 1.2.1
  • Changelog: add 1.16.0 entry noting removal of dynamic tools and tool annotations

Written by Cursor Bugbot for commit 2c62f41. This will update automatically on new commits. Configure here.

Changes:
- Adjusted `mcp.json` to ensure proper formatting and maintain consistency in server configurations.
- Enhanced `settings.json` to include allowed models for the `XcodeBuildMCP-Dev` server.
- Modified `tool-registry.ts` to ensure the `session-management` workflow is always included, as it is required by other tools, improving tool registration reliability.

This update aims to streamline the development experience and ensure necessary workflows are always available.
@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 30, 2025

Open in StackBlitz

npm i https://pkg.pr.new/cameroncooke/XcodeBuildMCP/xcodebuildmcp@156

commit: 2c62f41

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 30, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

This pull request modifies Visual Studio Code configuration files and updates workflow registration logic. The .vscode/mcp.json file is reformatted with adjusted indentation and the XcodeBuildMCP-Dev server's inspect flag changed from inspect-brk to inspect mode. The .vscode/settings.json file adds an allowedModels array with "copilot/gpt-5.2" to the chat configuration. A new XcodeBuildMCP.code-workspace file is introduced, defining three workspace folders. Additionally, the tool-registry utility now ensures the session-management workflow is automatically included when registering workflows, with updated logging to reflect the normalised workflow list.

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarises the main changes: VSCode configuration updates and tool registration logic modifications.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Description check ✅ Passed The pull request description accurately relates to the changeset, detailing adjustments to mcp.json formatting, settings.json enhancements, and tool-registry.ts modifications for session-management workflow inclusion.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/utils/tool-registry.ts (1)

159-159: Incorrect file extension violates coding guidelines.

The dynamic import uses .js extension for an internal project file, which violates the coding guidelines.

As per coding guidelines, use .ts extensions for all internal relative imports, and never import internal project files using .js extensions.

🔎 Proposed fix
-  const { loadWorkflowGroups } = await import('../core/plugin-registry.js');
+  const { loadWorkflowGroups } = await import('../core/plugin-registry.ts');
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 472c8c6 and 6f4b678.

📒 Files selected for processing (4)
  • .vscode/mcp.json
  • .vscode/settings.json
  • XcodeBuildMCP.code-workspace
  • src/utils/tool-registry.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.ts

📄 CodeRabbit inference engine (AGENTS.md)

**/*.ts: Use .ts extensions for all internal relative imports (e.g., import { tool } from './tool.ts')
Use .ts extensions in re-exports for internal files (e.g., export { default } from '../shared/tool.ts')
Use .js extension only for external package entry points (e.g., import ... from '@scope/pkg/file.js')
Never import internal project files using .js extensions

Files:

  • src/utils/tool-registry.ts
🪛 Biome (2.1.2)
.vscode/mcp.json

[error] 34-34: Expected a property but instead found '}'.

Expected a property here.

(parse)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Cursor Bugbot
🔇 Additional comments (4)
XcodeBuildMCP.code-workspace (1)

1-13: LGTM! Standard workspace configuration.

The workspace configuration correctly defines three folders for the main project and related template projects. The structure is valid and follows VS Code workspace conventions.

src/utils/tool-registry.ts (2)

149-150: Good use of constant for required workflow.

Defining the required workflow as a constant improves maintainability and makes the dependency explicit.


163-168: Excellent implementation of required workflow inclusion.

The logic correctly ensures the session-management workflow is always included:

  • Normalises input with trim()
  • Checks for existing presence
  • Prepends the required workflow if missing
  • Provides clear logging

This guarantees dependent tools always have access to session management functionality.

.vscode/mcp.json (1)

22-22: LGTM! Appropriate inspector mode for development.

Changing from --inspect-brk to --inspect allows the server to start immediately whilst remaining debuggable, which streamlines the development workflow.

Changes:
- Updated the `doctor` tool to conditionally display a note based on the runtime mode.
- Modified the `getRuntimeToolInfo` method to support both 'static' and 'runtime' modes, including a note for static mode.
- Introduced a new `runtime-registry.ts` file to manage runtime tool information.
- Updated the `tool-registry.ts` to record runtime registrations and improve workflow selection logic.
- Added utility functions in `workflow-selection.ts` for better workflow management.

This update improves the flexibility of the MCP server's runtime behavior and enhances the information provided by the doctor tool.
@cameroncooke cameroncooke merged commit c502e79 into main Dec 31, 2025
8 checks passed
@cameroncooke cameroncooke deleted the add-missing-session-workflow branch December 31, 2025 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants