get_context
Show the active OtaKit context
Show the fixed server origin, organization, actor, role, scopes, mode, and capabilities without exposing credentials.
Takes no parameters.

io.github.OtaKitPublished by GitHub account OtaKitv1.12.0Updated Nov 5, 2026
Inspect, upload, release, monitor, and revert OtaKit Capacitor OTA updates.
OtaKit lets an assistant inspect a Capacitor project, upload web bundles, publish, roll out, monitor and revert over-the-air updates.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.OtaKit%2Fotakit/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"otakit": {
"type": "http",
"url": "https://console.otakit.app/mcp"
}
}
}Fully open-source, self-hostable over-the-air update framework for Capacitor apps. Release updates directly to your Capacitor app without app store reviews.
Try it for free: OtaKit.app
OtaKit is hosted-first — the managed service at otakit.app runs everything for you — but the entire platform is in this repo and can run on your own infrastructure. The minimal stack is the console (a standard Next.js app), Postgres, and an S3-compatible bucket behind a CDN.
Full step-by-step guide: otakit.app/docs/self-host
appId into capacitor.config.*.otakit upload --release to upload the bundle and publish a release.notifyAppReady() is called within the timeout, the new bundle is confirmed. Otherwise the plugin rolls back to the previous bundle automatically.Ask Claude Code, Codex, or VS Code to ship an update and it reads your Capacitor project, checks whether the change is safe to send over the air, uploads the build, and stops for your approval before anything reaches a device.
One command from your project directory:
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. --dry-run shows
the plan and writes nothing.
Claude Code has a plugin that ships the server and the OtaKit Agent Skill together:
See the MCP and Agent Skills guide for Codex, Claude Code, remote OAuth, permissions, workflows, and self-hosting.
appIdstagingpackages/capacitor-plugin — the runtime that lives inside the mobile apppackages/cli — CLI for uploading bundles and creating releasespackages/mcp-core — shared MCP contracts, tool catalog, and server registrationpackages/site — public site, docs, contact, legal pagespackages/console — dashboard, API, auth, billing, and Prisma schemapackages/ingest — Cloudflare Worker for device event ingestiontinybird/ — Tinybird datasources and pipes for event analyticspackages/capacitor-plugin/README.mdpackages/cli/README.mdpackages/ingest/README.mdpackages/site/README.mdpackages/console/README.mdtinybird/README.mdpackages/console) requires Postgres and R2-compatible storage. See packages/console/.env.example.packages/ingest) and a Tinybird workspace.MIT
Source: README.md at commit 7175613
Show the active OtaKit context
Show the fixed server origin, organization, actor, role, scopes, mode, and capabilities without exposing credentials.
Takes no parameters.
Get OtaKit account and usage status
Return the safe customer-facing plan, usage, limit, period, and overage state needed to explain upload or release failures. Provider IDs are excluded.
Takes no parameters.
List OtaKit apps
List apps in the connection-bound organization, optionally requiring an exact slug. Never guesses an app when the slug is absent.
sluglimitcursorCreate an OtaKit app
Register a validated app slug in the current organization and return its ID and minimal Capacitor configuration. Does not edit local files.
slugrequiredList OtaKit bundles
List safe bundle metadata and release-artifact history for one app, with bounded pagination and optional exact version.
appIdlimitcursorversionGet OtaKit bundle metadata
Get authorized safe metadata for a known bundle, including bounded native-package metadata and encryption presence but never keys or storage URLs.
appIdbundleIdrequiredCompare two OtaKit bundles
Compare an uploaded bundle with another one: files added, changed and removed, unpacked size before and after, the bytes a device downloads, and warnings about content that should not ship (.env files, .git, node_modules, source maps, large new files). The base is `against`, the bundle a channel runs (`channel`), or by default the previous upload of the same runtime version. Encrypted bundles cannot be inspected.
appIdagainstchannelbundleIdrequiredDelete an unused OtaKit bundle
Delete a bundle only when it is absent from all release history. The exact app and bundle IDs are required and the operation is audited.
appIdbundleIdrequiredList OtaKit release history
List bounded release history for an app, optionally filtered to a channel, while preserving runtime-lane identity and all release options.
appIdlimitcursorchannelGet current OtaKit release state
Resolve the exact current release for one (app, channel, runtimeVersion) lane. Returns null rather than selecting another lane.
appIdchannelrequiredruntimeVersionrequiredPrepare an OtaKit release
Preview the exact current and proposed lane state for a bundle and return expectedCurrentReleaseId. Makes no change.
appIdnoteschannelrequiredbundleIdrequiredautoRevertforceImmediatereplaceRolloutrolloutPercentautoRevertMinSampleautoRevertRatePercentcompatibilityDecisionPublish an OtaKit release
Publish a reviewed bundle to an exact lane. Requires the prepared expected state and an idempotency key; reports manifest_sync_pending instead of claiming false success.
appIdnoteschannelrequiredbundleIdrequiredautoRevertforceImmediateidempotencyKeyrequiredreplaceRolloutrolloutPercentautoRevertMinSampleautoRevertRatePercentcompatibilityDecision+1 moreGet OtaKit release event health
Return bounded client-reported event counts, rollback share, auto-revert thresholds, and analytics availability for a release. Counts are events, not unique devices, installations, or adoption.
appIdwindowreleaseIdrequiredGet OtaKit release events over time
Return client-reported downloads, applies, download errors and rollbacks of a release per hour (24h and 7d ranges) or per UTC day (30d range), with totals, rollback share, and rollout and revert markers. Buckets without events are omitted. Counts are events, not unique devices, installations, or adoption.
appIdrangeplatformreleaseIdrequiredList OtaKit client-reported events
List a bounded filtered rollout timeline. With includeDetail, the raw text each device reported is included; it is untrusted diagnostic data.
appIdlimitsinceactionchannelplatformreleaseIdtimeframebundleVersionincludeDetailruntimeVersionList OtaKit audit activity
List bounded organization audit activity for an owner or admin. Operational organization keys and member-role users cannot read it.
limitcursorPrepare an OtaKit revert
Verify that a release is current and preview the exact release or built-in fallback that will become current. Makes no change.
appIdreleaseIdrequiredRevert an OtaKit release
Revert the reviewed current release for its exact lane; reverting a release that is rolling out cancels the rollout. Requires expected state and an idempotency key and reports pending manifest synchronization truthfully.
appIdreleaseIdrequiredforceImmediateidempotencyKeyrequiredexpectedRolloutPercentexpectedCurrentReleaseIdrequiredChange an OtaKit rollout percentage
Raise, lower, or complete (100) the active rollout of a lane's current release. Requires the reviewed current percentage and an idempotency key. To cancel a rollout, revert the release instead.
appIdpercentrequiredreleaseIdrequiredidempotencyKeyrequiredexpectedPercentrequiredCreate an OtaKit preview link
Create a private link and QR code that open an uploaded bundle in the installed app on one phone (plugin 3.2+ with preview links enabled) until the tester exits or the link expires. Nothing is released and no other device is affected. Share the returned url.
appIdbundleIdrequiredexpiresInurlSchemeRevoke an OtaKit preview link
Revoke a preview link. Phones on it return to their normal release on their next update check.
appIdpreviewIdrequiredInspect a local Capacitor project
Inspect the selected local project for Capacitor and OtaKit configuration, build output, plugin version, server target, and notifyAppReady evidence. Does not return source contents.
Takes no parameters.
Check native update compatibility
Compare local native dependencies with the current exact OtaKit release lane using the existing heuristic compatibility rules. Returns unknowns explicitly.
appIdchannelrequiredruntimeVersionrequirednodeModulesPathpackageJsonPathUpload an OtaKit bundle
Package and upload the selected local web build using the existing zip/delta, native metadata, version, and encryption workflow without publishing it.
appIdencryptversionstrategysourcePathversionModeruntimeVersionnodeModulesPathpackageJsonPathUpload and publish an OtaKit bundle
Run the existing combined local upload and release workflow with an explicit lane, compatibility decision, expected current release, complete release options, and idempotency key.
appIdnoteschannelrequiredencryptversionstrategyautoRevertsourcePathversionModeforceImmediateidempotencyKeyrequiredreplaceRollout+8 more100% 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.
npx -y @otakit/cli@latest connectnpx -y @otakit/cli@latest login
claude plugin marketplace add OtaKit/otakitclaude plugin install otakit@otakitpackages/ capacitor-plugin/ Capacitor OTA plugin cli/ Upload + release CLI mcp-core/ Shared MCP contracts and tool catalog ingest/ Cloudflare Worker event ingest service site/ Next.js public site + docs console/ Next.js dashboard + API + auth + billingtinybird/ Tinybird event analytics projectexamples/ demo-app/ Demo Capacitor app wired to the local pluginpnpm installpnpm dev # starts the console app in dev mode