
Derived
io.github.adiaz0511Published by GitHub account adiaz0511v0.2.0Updated Oct 24, 2026
Inspect and safely clean local Xcode, Simulator, and XCTest storage.
Overview
Lets an assistant scan and safely delete local Xcode, Simulator, and XCTest storage on macOS to reclaim disk space.
- What you can do
- Derived exposes a local MCP server that scans developer storage created by Xcode, Simulator, and XCTest, then reports reclaimable space grouped by category and recommendation status. It supports a scan, list, prepare, and delete workflow: a scan produces an ID, a plan is created for selected items or categories, and deletion requires the exact confirmation phrase. It validates every target against a fixed allowlist and revalidates candidates before cleanup.
- When to use it
- Use it when a Mac's developer directories have grown large and you want an assistant to find and remove Xcode Derived Data, previews, simulator devices, runtimes, logs, caches, and similar files. It is aimed at macOS developers who already use Xcode and want cleanup driven from Codex, Claude Code, Cursor, or another MCP client.
- Requirements
- macOS 14.0 or later and Xcode for Simulator discovery and simctl-backed cleanup. The server runs locally over stdio; the MCPB bundle contains the server but not the derived CLI or skill. No accounts, API keys, or network services are declared.
Installation
In SourceWeft
- Open Derived in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Derived
A native macOS menu-bar application for inspecting and removing storage created by Xcode, Simulator, and XCTest.
[macOS 14.0 or later] [Swift tools 6.2] [CLI and MCP version 1.0.10] [MIT License]
[!CAUTION] Derived permanently deletes selected developer data instead of moving it to the Trash. Review the cleanup plan before confirming deletion.
Overview
Derived finds and removes storage created by Xcode, Simulator, and XCTest. It reports verified reclaimable space, keeps APFS clone sizes separate, and protects active or high-risk targets.
Use Derived through the macOS app, the derived CLI, or the local derived-mcp server. All three interfaces use the same scanner, path validation, and cleanup workflow. Derived runs locally and does not collect analytics.
Install the macOS app
Homebrew (recommended)
The trust command is required once for the third-party tap.
Update the app with:
Disk image
- Download the DMG from the latest GitHub release.
- Open the disk image.
- Drag
Derived.appto Applications. - Open Derived from Applications.
Install the CLI and MCP server
The agent tools include the derived CLI, the derived-mcp server, and the derived-cleanup skill. The macOS app is not required.
Homebrew (recommended)
derived integrations install detects Codex, Claude Code, and Cursor on the Mac. It registers the MCP server and installs the skill for each detected client.
Update the tools and refresh their integrations with:
The CLI checks for new versions at most once per day during interactive commands. Update notices never appear in JSON or MCP output.
Disk image
The latest Derived DMG also includes Derived Agent Tools for installation without Homebrew.
- Open the DMG.
- Open Derived Agent Tools.
- Select Install for Codex.
- Restart Codex.
When the app and DMG-installed tools are both present, Derived offers to update the tools after an app update. Without the app, download the latest DMG and run Derived Agent Tools again.
MCPB installation
Clients that support MCPB bundles can install Derived-MCP-VERSION-macOS-universal.mcpb from the latest release. The MCPB contains the MCP server, but it does not install the derived CLI or portable skill.
Use Derived with coding agents
Check which clients are configured:
Then start a new session in Codex, Claude Code, or Cursor and ask:
See Agent Integrations for client-specific commands, manual configuration, and uninstallation.
Use the CLI
The CLI provides aligned tables for interactive use and JSON for scripts and agents.
Start with a scan:
Use the scan ID printed by derived scan to inspect a category and prepare a plan:
Replace SCAN_ID with the UUID printed by the scan. Do not include angle brackets. The prepare command prints the exact confirmation phrase and complete derived delete command for that plan.
Use --json when another program will consume the output:
Scan IDs expire after 30 minutes. Cleanup plans expire after 10 minutes and can be executed once.
Features
Storage discovery
- Scans Derived Data, SwiftUI previews, XCTest devices, simulators, runtimes, Device Support, logs, caches, archives, and temporary data.
- Reports verified reclaimable bytes separately from logical APFS clone sizes.
- Groups cleanup candidates by category and recommendation status.
Cleanup and automation
- Cleans individual candidates, complete categories, or cross-category selections.
- Uses
simctlto remove simulator devices and runtimes through supported system operations. - Schedules cleanup for Derived Data, Xcode logs, and Xcode caches.
- Supports Launch at Login and maintains a local JSON Lines cleanup history.
Safety
- Detects active development tools and protects active targets.
- Requires an expiring cleanup plan and exact confirmation before deletion.
- Revalidates every candidate immediately before cleanup.
- Never selects archives or simulator runtimes automatically.
Safety model
Derived validates every cleanup target against a fixed allowlist. It rejects category roots, paths outside approved developer directories, malformed simulator identifiers, active targets, symbolic-link escapes, and candidates that changed after the plan was created.
Automatic cleanup waits until related development tools are closed and fails safely when process inspection is unavailable. XCTest APFS clone sizes are reported as logical sizes and excluded from verified reclaimable totals.
See Safety for the complete deletion model and approved paths.
Requirements
Run Derived
- macOS 14.0 or later
- Xcode for Simulator discovery and
simctl-backed cleanup
The DMG contains prebuilt universal applications and command-line tools. Building from source is not required.
Derived is intentionally not sandboxed because it manages files under ~/Library/Developer and invokes xcrun simctl.
Build from source
- Xcode 26.4 or later
- Swift 6.2 toolchain
Clone the repository, open Derived.xcodeproj, select the Derived scheme, and build the macOS target.
Command-line build:
Run the application tests:
Build and test the CLI and MCP server:
Launch at Login requires a signed application installed in a stable location. It may not work from an unsigned development build.
Project structure
Derived/App: application lifecycle, menu-bar item, and panel managementDerived/Features: SwiftUI presentation grouped by featureDerived/Models: cleanup, scan, automation, and reporting modelsDerived/Services: scanning, validation, process inspection, deletion, and persistenceDerived/Shared: shared formatting and design constantsDerived/AgentIntegration: shared CLI and MCP models, state, and safety workflowDerivedTests: safety and behavior testsDerivedCLITests: CLI argument, version, and human-readable output testsDerivedCoreTests: agent integration and destructive-operation safeguardsTools: native CLI and MCP executablesIntegrations: portable agent skills and packaging metadata
Privacy
Derived operates locally. It does not include analytics, advertising, accounts, or network services. See Privacy.
Contributing
Contributions are welcome. Read Contributing before changing scanner, validation, or deletion behavior.
Maintainers should follow Releasing Derived for signing, notarization, DMG generation, and MCP publication.
License
Derived is available under the MIT License.
Source: README.md at commit 00452ee
Tools
0Version history
1- v0.2.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts