Impactor

Official registry Other

Sign, install and manage sideloaded iOS apps with the Impactor sideloader.

What can you do with Impactor?

  • "Log me into Impactor with my Apple ID" (a sign-in page opens in your browser)
  • "Sign ~/Downloads/SideStore.ipa and install it on my iPhone, and keep it refreshed"
  • "Inject this tweak into the app and export the signed ipa to my desktop"

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

MCPB package https://github.com/YeetDisDude/impactor-mcp/releases/download/v2.7.0/impactor-mcp.mcpb

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Impactor MCP server
  2. What it does
  3. Install
  4. Tools
  5. Notes
  6. Releasing
  7. Credits

Impactor MCP server

An MCP server that lets any AI agent or MCP client (Claude, Cursor, VS Code Copilot, Windsurf, ...) do everything the Impactor sideloader does: sign in with an Apple ID (including 2FA), manage developer-portal certificates/devices/app IDs, sign and install .ipa files with tweaks and customizations, install pairing files, and keep apps refreshed before they expire.

It is a standalone add-on. It builds against the official Impactor release (v2.7.0, fetched by Cargo) and shares Impactor's data directory, so it works next to the stock Impactor app — you never need a modified build of the app. Accounts you log into in the app show up here and vice versa.

Made by Claude. This MCP server, its installers and this README were written by Claude (Anthropic's AI model) via Claude Code. It is an unofficial companion project, not affiliated with or endorsed by the Impactor authors.

What it does

One request from the agent becomes the same steps you would click through in the Impactor app:

Install

One line, nothing to clone or download by hand:

Windows (PowerShell):

irm https://raw.githubusercontent.com/YeetDisDude/impactor-mcp/main/install.ps1 | iex

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/YeetDisDude/impactor-mcp/main/install.sh | sh

The installer downloads the prebuilt binary for your platform from the latest release (no Rust needed). If there is none for your platform, it builds from source with cargo, installing Rust first if needed. It then installs the binary to %LOCALAPPDATA%\impactor-mcp\impactor-mcp.exe (Windows) or ~/.local/bin/impactor-mcp, and registers it with Claude Code (claude mcp add, user scope) and Claude Desktop (claude_desktop_config.json, a .bak copy is kept). Restart Claude Desktop afterwards. Running install.ps1 / install.sh from a local clone also downloads the prebuilt binary; it only compiles (that clone) with -FromSource / --from-source or when no prebuilt binary exists for your platform.

Claude Desktop (one click): download impactor-mcp.mcpb from the latest release and open it. Claude Desktop installs it as an extension. The server is also listed in the MCP Registry as io.github.YeetDisDude/impactor-mcp.

Passing options:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/YeetDisDude/impactor-mcp/main/install.ps1))) -AutoRefresh
curl -fsSL https://raw.githubusercontent.com/YeetDisDude/impactor-mcp/main/install.sh | sh -s -- --auto-refresh
Option (ps1 / sh)Effect
-NoClaudeCode / --no-claude-codeDon't register with Claude Code
-NoDesktop / --no-desktopDon't touch the Claude Desktop config
-AutoRefresh / --auto-refreshRefresh saved apps in the background (see below)
-FromSource / --from-sourceBuild with cargo instead of downloading a prebuilt binary
-NoAutoRefresh / --no-auto-refreshTurn auto-refresh off when updating
-Uninstall / --uninstallRemove the binary and both registrations
Updating

Run the same install command again. It replaces the binary with the latest release, even while Claude is using it, and keeps your auto-refresh setting. Then restart Claude Desktop and any running Claude Code sessions so they load the new version. If you installed the .mcpb extension, download and open the new impactor-mcp.mcpb instead. If you used cargo install, re-run it with --force.

Requirements
  • Windows: iTunes or Apple Devices (Microsoft Store) for device access.
  • Linux: usbmuxd.
  • Only when building from source: the MSVC C++ build tools on Windows (winget install Microsoft.VisualStudio.2022.BuildTools), Xcode command line tools on macOS.
Manual setup
cargo install --locked --git https://github.com/YeetDisDude/impactor-mcp impactor-mcp
claude mcp add --scope user impactor -- ~/.cargo/bin/impactor-mcp

Any other MCP client (Cursor, VS Code, Windsurf, Cline, ...) uses the same stdio entry in its MCP config:

{ "mcpServers": { "impactor": { "command": "/absolute/path/to/impactor-mcp", "args": [] } } }

Tools

AreaTools
Accountsaccount_list, account_login, account_submit_2fa, account_cancel_login, account_switch, account_remove, account_teams, account_set_team, settings_set_locale
Developer portalportal_account_info, portal_list_certificates, portal_revoke_certificate, portal_list_devices, portal_register_device, portal_list_app_ids, portal_delete_app_id, portal_list_app_groups, portal_download_profile, portal_export_certificate
Devicesdevice_list, device_info, device_pair, device_list_apps, device_install_app, device_install_pairing_file, device_install_profile, device_is_app_installed
Signingpackage_inspect, sign_and_install, sign_list_app_types
Mach-Omacho_info, macho_edit
Auto-refreshrefresh_list, refresh_app_now, refresh_run_due, refresh_forget_app

sign_and_install covers the app's whole install screen: Apple ID / ad-hoc / PEM / no-modify signing, install and/or export, custom name / bundle id / version / icon / entitlements, single profile, tweaks (.deb, .dylib, .framework, .bundle, .appex), the feature toggles (minimum OS, file sharing, iPad fullscreen, game mode, ProMotion, Liquid Glass, ElleKit), pairing-file installation and saving for auto-refresh. Long operations report MCP progress notifications.

Example prompts:

  • "Log me into Impactor with my Apple ID" (a sign-in page opens in your browser)
  • "Sign ~/Downloads/SideStore.ipa and install it on my iPhone, and keep it refreshed"
  • "Inject this tweak into the app and export the signed ipa to my desktop"

Notes

  • Signing in. account_login opens a sign-in page on 127.0.0.1 in your browser. You type your Apple ID, password and 2FA code there, so the password never goes through the agent or its conversation. The agent waits for the result. Clients that allow it can still pass email and password directly.
  • Apple's -80045 block (October 2026). Apple started rejecting the client info that anisette servers reported, so every Impactor login failed with -80045. This is fixed upstream in Impactor v2.7.0, which this server builds against; no local workaround is needed.
  • Certificate resets. Free accounts can hold only a few development certificates. When a new one is needed and the limit is hit, tools fail with a hint instead of revoking anything. Pass allow_certificate_reset: true only if you accept that existing SideStore/AltStore installs break.
  • Auto-refresh. Apps installed with refresh: true are re-signed before their 7-day profile expires when you call refresh_run_due, or automatically every 3 minutes when the server runs with IMPACTOR_MCP_AUTO_REFRESH=1. The Impactor app has its own refresh daemon; enable auto-refresh in only one of them.
  • Shared data. Both use accounts.json in %APPDATA%\PlumeImpactor (Windows) or ~/.config/PlumeImpactor. The app keeps a copy in memory, so changes made here (e.g. a new login) may need an app restart to appear there.
  • Logs go to stderr (stdout is the protocol channel). Set RUST_LOG=debug for detail.
  • Following newer Impactor releases: bump the tag values in Cargo.toml and run cargo update.

Releasing

Pushing a tag such as v2.7.0 runs .github/workflows/release.yml. It builds Windows, macOS and Linux binaries (x86_64 and arm64) and attaches them to the GitHub release that the installers download from.

Credits

Built on Impactor by claration (MIT) and idevice. The MCP server itself was made by Claude.

Frequently asked questions

What is Impactor?

Sign, install and manage sideloaded iOS apps with the Impactor sideloader.

How do I install Impactor?

Follow the installation steps in its documentation, shown on this page and in its repository.

Does Impactor need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Impactor open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains Impactor?

It is published by YeetDisDude. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.