← Back to directory
O

OtaKit MCP Server

Official
Push OTA updates to your Capacitor app without app store reviews
GitHub source repository ↗
★ 86 Stars Category · Dev Tools Popular
57FMRS · C

OtaKit is an open-source Capacitor OTA update framework maintained by its upstream project, and its MCP server lets coding agents inspect, upload, release, monitor, and revert updates while stopping for human approval before anything reaches a device. It suits teams using Capacitor that want to ship web asset updates without app store reviews, and is not aimed at non-Capacitor projects or updates requiring native code changes. Watch for the account permissions granted, the effect of upload and release operations on live channels, and the operational overhead of self-hosting.

Reliability
10/20
Security and permissions
10/20
Maintenance
13/20
Documentation
11/20
Setup experience
13/20
Read the FMRS scoring method →

OtaKit is a fully open-source, self-hostable over-the-air (OTA) update framework for Capacitor apps, letting you release updates directly to your Capacitor app without app store reviews. Its MCP server inspects, uploads, releases, monitors, and reverts OtaKit Capacitor OTA updates. It can be launched from the npm package @otakit/cli over stdio (via the mcp subcommand) or reached remotely over streamable-http at https://console.otakit.app/mcp. When asked to ship an update, an agent such as Claude Code, Codex, or VS Code can read your Capacitor project, check whether the change is safe to send over the air, upload the build, and stop for your approval before anything reaches a device.

Setup

Run one command from your project directory: npx -y @otakit/cli@latest connect. It detects your client, signs you in if needed, and prints the console, organization, project, and app it resolved — plus the exact file it will write — before writing anything. Use --dry-run to see the plan and write nothing. Claude Code additionally has a plugin that ships the server and the OtaKit Agent Skill together: run npx -y @otakit/cli@latest login, then claude plugin marketplace add OtaKit/otakit and claude plugin install otakit@otakit.

Fit and risk

Best for

  • Teams building Android/iOS apps with Capacitor that want to ship web asset updates without app store reviews
  • Developers using Claude Code, Codex, or VS Code who want agent-assisted OTA releases
  • Organizations that need to self-host their OTA update platform

Not for

  • Non-Capacitor projects or apps that do not use OtaKit
  • Updates that require native code changes rather than web assets
  • Teams unwilling to grant an agent upload and release permissions

Required permissions

  • Requires signing in to an OtaKit account (npx @otakit/cli login) for access to consoles, organizations, and projects
  • The CLI writes client configuration files (connect prints the exact file it will write)
  • Uploading bundles and creating releases requires write access to the relevant project
  • The remote endpoint https://console.otakit.app/mcp involves OAuth authorization

Risks and side effects

  • Publishing without approval could push a broken build to real devices
  • Upload and release operations change the manifests served on a channel, affecting subsequent app launches or resumes
  • Self-hosting means maintaining Postgres, an S3-compatible bucket behind a CDN, and optionally the ingest service and a Tinybird workspace
  • The CLI writes config files, so the target path printed by connect should be verified first

Troubleshooting

  1. Run connect with --dry-run first to confirm the resolved console, organization, project, and app
  2. Confirm you are signed in by running npx -y @otakit/cli@latest login
  3. Confirm the correct appId is set in capacitor.config.*
  4. If the remote connection fails, check that OAuth authorization for https://console.otakit.app/mcp completed
  5. In self-hosted setups, check the Postgres and S3-compatible storage configuration; see packages/console/.env.example
  6. If you are unsure about OTA compatibility, check the runtime version lane configured in the plugin

Use cases

Inspect, upload, and release Capacitor OTA updates from an editor or coding agent
Check whether a change is safe to send over the air before publishing
Monitor update status and revert a release when needed
Require human approval before anything reaches a device

Supported clients

Claude CodeFull support
CodexFull support
VS CodeFull support