LabscoMCP early access ↗
xtofuubMCP SERVER

iOS Files

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.

by xtofuub ↗Local Filesystem AccessCommunity

LABSCO 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 credentials — npm install github:xtofuub/ios-files-mcp, then supply credentials