Labsco
MCP SERVER

Ios Files

by xtofuub

Read an iOS device's filesystem over SSH from an assistant — app containers, plists, SQLite databases and React Native bundles — read-only by default, with writes behind a two-step approval.

Local Filesystem Access
Summary
Writes need approval twice, and some paths are off limits.

The server is read-only until you set both readOnly false and allowWrites true, and even then a write-capable tool refuses the first call and returns an approval id that is one-use, time-limited and bound to the exact arguments. Keychains, Accounts, SMS, Mail and the system directories are blocked by default. Every operation is logged, without file contents or secrets.

What it is

A Node stdio MCP server on your computer that reaches an iOS device over SSH and SFTP. It knows the shapes an iOS investigator cares about: app bundles and data containers, binary plists, SQLite files, JavaScript bundles, and Mach-O binaries.

What you get
  • Filesystem basics — `ios_list_dir`, `ios_stat`, `ios_exists`, `ios_hash_file`, and a capped, cached `ios_search_files`
  • Reading — `ios_read_file`, `ios_read_file_chunk` for large or binary files, `ios_tail_file`, `ios_read_last_lines`, and `ios_read_plist`, which parses XML and binary plists into JSON-safe data
  • App helpers that skip the slow recursive search — `ios_find_app`, `ios_list_apps`, `ios_resolve_app_container`, `ios_list_preferences`, `ios_read_preferences`
  • SQLite — `ios_read_sqlite_schema`, and `ios_query_sqlite`, which allows only SELECT, PRAGMA, WITH and EXPLAIN
  • React Native bundles — `ios_inspect_js_bundle` to classify one, `ios_decode_js_bundle` to beautify or run a Hermes decoder, `ios_list_hermes_decoders` when that fails
  • Exporting — `ios_download_file` and `ios_zip_download` into an allow-listed local folder
  • Diagnostics — `ios_doctor`, `ios_connection_doctor`, `ios_config`, `ios_diagnose_roots`, plus `ios_app` and `ios_snapshot_app` for a whole-app overview
  • Writes, disabled unless you enable them — `ios_write_file`, `ios_append_file`, `ios_delete_file`, `ios_move_file`, `ios_copy_file`, `ios_mkdir`
Requirements

Node.js 20+, OpenSSH running on the iOS device, and a computer that can already SSH to it — over Wi-Fi with the device's IP, or over USB by forwarding to a local port. The installer writes the client config for you: run it with `--client` naming Codex, Claude, OpenCode, VS Code or all, plus the host and password, and it backs up any existing config first. Connection settings can also come from IOS_FILES_MCP_HOST, IOS_FILES_MCP_USERNAME, IOS_FILES_MCP_PASSWORD and IOS_FILES_MCP_KEY_PATH.

Setup effort

One command plus a key — npm install github:xtofuub/ios-files-mcp, then supply credentials