Gives access to iOS project indexes, allowing AI agents to perform intelligent refactoring and code navigation across iOS codebases.
Provides access to macOS project indexes, enabling AI agents to find function references and perform accurate code modifications across macOS applications.
Interfaces with Swift codebases through IndexStoreDB, helping with refactoring tasks by locating all references to functions and their definitions.
Provides access to Xcode's project index through IndexStoreDB, enabling comprehensive code navigation and refactoring by identifying function call sites and definitions.
Xcode Index MCP
Gives Goose/Cursor access to your iOS/macOS project index through the Model Control Protocol (MCP) and IndexStoreDB. This provides exhaustive lists of function call sites to help your agent with refactoring and code navigation.
Example prompt
"Remove myParameter
from the initializer on line 48 of MyViewController.swift
. Use the Xcode Index MCP to ensure all references are updated."
How to use
- Install
uv
(Python package manager) and runuv sync
- Build the Swift service (Xcode must be installed)This step is required as it provides the interface to Xcode's index.
- Install in Agent of your choice
Goose:
Go to settings and add a custom extension. In the modal that pops up, under thecommand
field, add this line:Note: Replace<USERNAME>
with your actual system username. The rest should look something like this:Cursor:
Go toSettings > MCP > Add new global MCP server
. Update mcp.json (typically located in your Cursor configuration directory) to look something like this:Note: Replace<USERNAME>
with your actual system username. - Update
.gooseHints
orcursorRules
in your project to tell your agent how to use the plugin. Replace the project name with the name of your project as it appears in the derived data folder.For Cursor, you may want to add these instructions in their own rule file - at the time of writing I don't think cursor reads the MCPinstructions
field.
Running tests
To run tests for Swift, cd into swift-service
and run swift test
.
How it works
The tool consists of two main components:
- An MCP server in the
src
directory that handles communication with Goose/Cursor - A Swift service in the
swift-service
directory that interfaces with Xcode's index using Apple'sIndexStoreDB
package
When the MCP server calls 'load_index', the Swift service will look through Xcode's derived data directory for a project file. When found it will attempt to load the project's index. Queries are passed from the MCP server to the index through a subset of the methods provided in IndexStoreDB.
This server cannot be installed
Gives Goose/Cursor access to your iOS/macOS project index through the Model Control Protocol (MCP) and IndexStoreDB. This provides exhaustive lists of function call sites to help your agent with refactoring and code navigation.
Related MCP Servers
- -securityAlicense-qualityA Goose MCP extension providing voice interaction with modern audio visualization, allowing users to communicate with Goose through speech rather than text.Last updated -36PythonMIT License
- -securityAlicense-qualityAn MCP server that enables interaction with Kubernetes/Minikube clusters through natural language, allowing AI agents like Codename Goose to manage Kubernetes resources via the Model Context Protocol.Last updated -PythonMIT License
- -securityAlicense-qualityAn MCP server that enables web searches using a SearxNG instance, allowing MCP-compatible applications like Goose to perform internet searches.Last updated -PythonGPL 3.0
- -securityFlicense-qualityThis MCP server allows users to create, manage, and serve web applications through Goose, storing apps in configurable directories and providing web app serving capabilities.Last updated -JavaScript