Skip to content

Connectors · Developer & infrastructure

Bitrise MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Bitrise and the rest of your systems. It gives your agent 119 Bitrise actions (59 reads, 43 writes and 17 that wait for a confirmation) and holds the Bitrise credential itself, so the agent never does. It paces Bitrise's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "bitrise.apps.list",  intent: "check which Bitrise account is connected"}# Get list of the apps · read · 1 upstream call
  • 119actionsin one signed file
  • 59readlook, never change
  • 43writecreate and update
  • 17wait for a yesdestructive, confirmed first

Set up

Connect Bitrise in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Bitrise.

    API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • api_tokenBitrise Personal Access Token (Profile > Security > Personal access tokens) or Workspace API token
    account { op: "connections.requirements", service: "bitrise" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "bitrise.apps.list" }# get list of the apps · read · 1 upstream callcheck { action: "bitrise.apps.register", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Bitrise at a glance

Sign-in
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
api_token
Limits we pace to
5,000 calls an hour, per connection
API covered
Bitrise API v0.1 (Swagger 2.0 document at api-docs.bitrise.io/docs/swagger.json)api.bitrise.io
Built from
Bitrise's documentation, read 23 October 2026api-docs.bitrise.ioapi-docs.bitrise.io
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
50 of 59 reads, for up to 5 minutes; a write clears what it affects
Shared entities
6, so ask can line Bitrise up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Bitrise.

119 actions in 13 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 59readlook, never change
  • 43writecreate and update
  • 17destructivewait for a confirmation
  1. Apps

    81

    33 read · 34 write · 14 destructive

    Get list of the apps · Get a list of all build artifacts · Add a new app (registration step 1) · Get a specific app

  2. Organizations

    21

    11 read · 7 write · 3 destructive

    List organizations groups · Get list of the apps for an organization · Adds a group to the organization · List the organizations that the user is part of

  3. Users

    4

    4 read · 0 write · 0 destructive

    Get list of the apps for a user · Get list of the addons for user · List Apple API credentials for a specific user · Get a specific user

  4. Addons

    2

    2 read · 0 write · 0 destructive

    Get list of available Bitrise addons · Get a specific Bitrise addon

  5. Builds

    2

    2 read · 0 write · 0 destructive

    List all builds · Get AI-generated summary of a failed build

  6. Me

    2

    2 read · 0 write · 0 destructive

    Get your profile info · Get list of Bitrise activity events

  7. Available stacks

    1

    1 read · 0 write · 0 destructive

    List available stacks

  8. Groups

    1

    0 read · 1 write · 0 destructive

    Add a member to a group

5 more areas · 5 actions
  • Pipelines 1
  • Search steps 1
  • Step inputs 1
  • User 1
  • Validate bitrise yml 1

Top actions

The Bitrise API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 33 of Bitrise's 33 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
bitrise.apps.listGet list of the appsGet list of the apps.readdevops.repository.list28 connectors
bitrise.organizations.groups.listList organizations groupsList organizations groups.readidentity.group.list262 connectors
bitrise.me.getGet your profile infoGet your profile info.readidentity.current_user.get307 connectors
bitrise.apps.builds.artifacts.listGet a list of all build artifactsGet a list of all build artifacts.readdevops.artifact.list17 connectors
bitrise.apps.registerAdd a new app (registration step 1)Add a new app (registration step 1).writedevops.repository.create18 connectors
bitrise.apps.updateUpdates an appUpdates an app.writedevops.repository.update19 connectors
bitrise.organizations.groups.createAdds a group to the organizationAdds a group to the organization.writeidentity.group.create205 connectors
bitrise.apps.deleteDeletes an appDeletes an app.destructivedevops.repository.delete20 connectors
bitrise.builds.listList all buildsList all builds.readdevops.pipeline_run.list13 connectors
bitrise.pipelines.listList all pipelines/standalone buildsList all pipelines/standalone builds.readdevops.pipeline_run.list13 connectors
bitrise.apps.builds.artifacts.getGet a specific build artifactGet a specific build artifact.readdevops.artifact.get13 connectors
bitrise.apps.branches.listList the branches with existing builds of an app's repositoryList the branches with existing builds of an app's repository.readdevops.branch.list12 connectors

Try it

Prompts to paste into Claude.

Each one names the Bitrise actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List our Bitrise repositories with their visibility and default branch.

    callsbitrise.apps.list

  2. Writewrite

    Add a new app (registration step 1) in Bitrise. Show me exactly what you will send before you save it.

    callsbitrise.apps.register

Governance for Bitrise

Destructive actions wait for a yes.

17 Bitrise actions are destructive. These are all of them:

  • Deletes an appbitrise.apps.delete
  • Delete a build artifactbitrise.apps.builds.artifacts.delete
  • Delete an application secretbitrise.apps.secrets.delete
  • Delete a secret by namebitrise.organizations.secrets.delete
  • Abort a specific buildbitrise.apps.builds.abort
  • Aborts a pipelinebitrise.apps.pipelines.abort
  • Delete an outgoing webhook of an appbitrise.apps.outgoing_webhooks.delete
  • Deletes a key-value cache itembitrise.apps.cache_items.delete
  • Deletes all key-value cache items belonging to an appbitrise.apps.cache_items.delete_all
  • Delete a build certificatebitrise.apps.build_certificates.delete
  • Delete a generic project filebitrise.apps.generic_project_files.delete
  • Delete a provisioning profilebitrise.apps.provisioning_profiles.delete
  • Delete an android keystore filebitrise.apps.android_keystore_files.delete
  • Remove service credential user of an appbitrise.apps.service_credential_user.delete
  • Remove repository authorization of an appbitrise.apps.repository_authorization.delete
  • Delete Apple API Credentialbitrise.organizations.apple_api_credentials.delete
  • Delete Google Service Credentialbitrise.organizations.google_service_credentials.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dobitrise.apps.deleteconfirm_policy: human

Deletes an app?

intent: the user asked me to deletes an app

run suspended · waiting for a named person · key bitrise-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "bitrise-agent",  allowed_actions: ["bitrise.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "bitrise.apps.delete", approver: "[email protected]" },    { match: "bitrise.apps.builds.artifacts.delete", approver: "[email protected]" },    { match: "bitrise.apps.secrets.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Bitrise only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Bitrise costs on actionlake.

Every Bitrise action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Bitrise refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 119 Bitrise actions
  • 119actions pageeach page of a long list is one call
  • 50reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Bitrise action.

119 actions by area: the id your agent calls, what it does, and its effect.

Apps81
  • bitrise.apps.addons.listGet list of the addons for appsread
  • bitrise.apps.android_keystore_files.confirm_uploadConfirm an android keystore file uploadwrite
  • bitrise.apps.android_keystore_files.createCreate an Android keystore filewrite
  • bitrise.apps.android_keystore_files.deleteDelete an android keystore filedestructive
  • bitrise.apps.android_keystore_files.getGet a specific Android Keystore fileread
  • bitrise.apps.android_keystore_files.listGet a list of the android keystore filesread
  • bitrise.apps.archived_builds.listList 1000 archived builds of an appread
  • bitrise.apps.bitrise_yml.config.getGetting the location of the application's bitrise.yamlread
  • bitrise.apps.bitrise_yml.config.updateChanging the location of the application's bitrise.yamlwrite
  • bitrise.apps.bitrise_yml.createUpload a new bitrise.yml for your applicationwrite
  • bitrise.apps.branches.listList the branches with existing builds of an app's repositoryread
  • bitrise.apps.build_certificates.confirm_uploadConfirm a build certificate uploadwrite
  • bitrise.apps.build_certificates.createCreate a build certificatewrite
  • bitrise.apps.build_certificates.deleteDelete a build certificatedestructive
  • bitrise.apps.build_certificates.getGet a specific build certificateread
  • bitrise.apps.build_certificates.listGet a list of the build certificatesread
  • bitrise.apps.build_certificates.updateUpdate a build certificatewrite
  • bitrise.apps.build_requests.listList the open build requests for an appread
  • bitrise.apps.build_requests.updateUpdate a build requestwrite
  • bitrise.apps.build_workflows.listList the workflows of an appread
  • bitrise.apps.builds.abortAbort a specific builddestructive
  • bitrise.apps.builds.artifacts.deleteDelete a build artifactdestructive
  • bitrise.apps.builds.artifacts.getGet a specific build artifactread
  • bitrise.apps.builds.artifacts.listGet a list of all build artifactsread
  • bitrise.apps.builds.artifacts.updateUpdate a build artifactwrite
  • bitrise.apps.builds.createTrigger a new build/pipelinewrite
  • bitrise.apps.builds.getGet a build of a given appread
  • bitrise.apps.builds.listList all builds of an appread
  • bitrise.apps.builds.log.getGet the build log of a buildread
  • bitrise.apps.builds.rebuildRebuild a buildwrite
  • bitrise.apps.cache_items.deleteDeletes a key-value cache itemdestructive
  • bitrise.apps.cache_items.delete_allDeletes all key-value cache items belonging to an appdestructive
  • bitrise.apps.cache_items.download_url.getGets the download URL of a key-value cache itemread
  • bitrise.apps.cache_items.listList the key-value cache items belonging to an appread
  • bitrise.apps.change_connection_typeChange the connection type of an appwrite
  • bitrise.apps.deleteDeletes an appdestructive
  • bitrise.apps.finishSave the application at the end of the app registration processwrite
  • bitrise.apps.generic_project_files.confirm_uploadConfirm a generic project file uploadwrite
  • bitrise.apps.generic_project_files.createCreate a generic project filewrite
  • bitrise.apps.generic_project_files.deleteDelete a generic project filedestructive
  • bitrise.apps.generic_project_files.getGet a specific generic project fileread
  • bitrise.apps.generic_project_files.listGet a list of the generic project filesread
  • bitrise.apps.generic_project_files.updateUpdate a generic project filewrite
  • bitrise.apps.getGet a specific appread
  • bitrise.apps.github_app_connection_configuration.updateChange Github app connection configuration of an appwrite
  • bitrise.apps.github_app_connection_configuration.update_linked_repositoriesChange the linked repositories of a Github app connectionwrite
  • bitrise.apps.listGet list of the appsread
  • bitrise.apps.outgoing_webhooks.createCreate an outgoing webhook for an appwrite
  • bitrise.apps.outgoing_webhooks.deleteDelete an outgoing webhook of an appdestructive
  • bitrise.apps.outgoing_webhooks.delivery_items.getGet a specific delivery item of a webhookread
  • bitrise.apps.outgoing_webhooks.delivery_items.listList the webhook delivery items of an appread
  • bitrise.apps.outgoing_webhooks.delivery_items.redeliverRe-deliver the webhook delivery items of an appwrite
  • bitrise.apps.outgoing_webhooks.listList the outgoing webhooks of an appread
  • bitrise.apps.outgoing_webhooks.updateUpdate an outgoing webhook of an appwrite
  • bitrise.apps.pipelines.abortAborts a pipelinedestructive
  • bitrise.apps.pipelines.getGet a pipeline of a given appread
  • bitrise.apps.pipelines.listList all pipelines and standalone builds of an appread
  • bitrise.apps.pipelines.rebuildRebuilds a pipelinewrite
  • bitrise.apps.provisioning_profiles.confirm_uploadConfirm a provisioning profile uploadwrite
  • bitrise.apps.provisioning_profiles.createCreate a provisioning profilewrite
  • bitrise.apps.provisioning_profiles.deleteDelete a provisioning profiledestructive
  • bitrise.apps.provisioning_profiles.getGet a specific provisioning profileread
  • bitrise.apps.provisioning_profiles.listGet a list of the provisioning profilesread
  • bitrise.apps.provisioning_profiles.updateUpdate a provisioning profilewrite
  • bitrise.apps.registerAdd a new app (registration step 1)write
  • bitrise.apps.register_ssh_keyAdd an SSH-key to a specific appwrite
  • bitrise.apps.register_webhookRegister an incoming webhook for a specific applicationwrite
  • bitrise.apps.repository_authorization.deleteRemove repository authorization of an appdestructive
  • bitrise.apps.roles.getList the groups holding a role on an appread
  • bitrise.apps.roles.updateReplaces group roles for an appwrite
  • bitrise.apps.secrets.createCreate a new app secretwrite
  • bitrise.apps.secrets.deleteDelete an application secretdestructive
  • bitrise.apps.secrets.getGet a single app secret by nameread
  • bitrise.apps.secrets.listList the application secrets (with no values)read
  • bitrise.apps.secrets.updateUpdate an existing app secretwrite
  • bitrise.apps.secrets.upsertUpsert an application secretwrite
  • bitrise.apps.secrets.value.getGet the value of an unprotected app secretread
  • bitrise.apps.service_credential_user.deleteRemove service credential user of an appdestructive
  • bitrise.apps.test_devices.listList the test devices for an appread
  • bitrise.apps.updateUpdates an appwrite
  • bitrise.apps.update_email_notificationsUpdates the app's notification settingswrite
Organizations21
  • bitrise.organizations.addons.listGet list of the addons for organizationread
  • bitrise.organizations.apple_api_credentials.createCreate Apple API Credentialwrite
  • bitrise.organizations.apple_api_credentials.deleteDelete Apple API Credentialdestructive
  • bitrise.organizations.apple_api_credentials.listList Apple API credentials for a specific organizationread
  • bitrise.organizations.apps.listGet list of the apps for an organizationread
  • bitrise.organizations.apps.machine_types.updateMigrate machine types of all apps in an organizationwrite
  • bitrise.organizations.available_stacks.getList available stacks for an organizationread
  • bitrise.organizations.getGet a specified organizationread
  • bitrise.organizations.google_service_credentials.createCreate Google Service Credentialwrite
  • bitrise.organizations.google_service_credentials.deleteDelete Google Service Credentialdestructive
  • bitrise.organizations.google_service_credentials.listList Google Service credentials for a specific organizationread
  • bitrise.organizations.groups.createAdds a group to the organizationwrite
  • bitrise.organizations.groups.listList organizations groupsread
  • bitrise.organizations.listList the organizations that the user is part ofread
  • bitrise.organizations.members.createAdds a member to the organizationwrite
  • bitrise.organizations.members.listList the members of the organizationread
  • bitrise.organizations.secrets.createCreate a new organization secretwrite
  • bitrise.organizations.secrets.deleteDelete a secret by namedestructive
  • bitrise.organizations.secrets.getGet a single secret by nameread
  • bitrise.organizations.secrets.listGet the secrets of an organizationread
  • bitrise.organizations.secrets.updateUpdate an existing secretwrite
Users4
  • bitrise.users.addons.listGet list of the addons for userread
  • bitrise.users.apple_api_credentials.listList Apple API credentials for a specific userread
  • bitrise.users.apps.listGet list of the apps for a userread
  • bitrise.users.getGet a specific userread
Addons2
  • bitrise.addons.getGet a specific Bitrise addonread
  • bitrise.addons.listGet list of available Bitrise addonsread
Builds2
  • bitrise.builds.ai_summary.getGet AI-generated summary of a failed buildread
  • bitrise.builds.listList all buildsread
Me2
  • bitrise.me.activities.listGet list of Bitrise activity eventsread
  • bitrise.me.getGet your profile inforead
Available stacks1
  • bitrise.available_stacks.getList available stacksread
Groups1
  • bitrise.groups.add_memberAdd a member to a groupwrite
Pipelines1
  • bitrise.pipelines.listList all pipelines/standalone buildsread
Search steps1
  • bitrise.search_steps.listFind stepsread
Step inputs1
  • bitrise.step_inputs.listList step inputsread
User1
  • bitrise.users.apps.machine_types.updateMigrate machine types of all apps of a userwrite
Validate bitrise yml1
  • bitrise.bitrise_yml.validateValidate a Bitrise YAML fileread

Questions

The Bitrise MCP server, answered.

Is there a Bitrise MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 119 Bitrise actions across apps, organizations, users and addons, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Bitrise.

What do I need to connect Bitrise?

Bitrise Personal Access Token (Profile > Security > Personal access tokens) or Workspace API token. The free call account { op: "connections.requirements", service: "bitrise" } lists exactly what to paste.

Can an AI agent delete or change things in Bitrise?

Only if its key allows it, and only with an explicit confirmation. 17 Bitrise actions are destructive, including deletes an app, delete a build artifact and delete an application secret. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Bitrise API limit?

actionlake paces every call to the limits in the Bitrise service file: 5,000 calls an hour per connection. Repeated reads are answered from cache (50 Bitrise actions can be), which never reaches Bitrise.

What does a Bitrise action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (119 Bitrise actions page). Cache hits, searches, dry runs and calls Bitrise refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Bitrise API does it cover?

The Bitrise API v0.1 (Swagger 2.0 document at api-docs.bitrise.io/docs/swagger.json) at api.bitrise.io. It is built from Bitrise's documentation as read on 23 October 2026. 119 actions in 13 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Bitrise data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Bitrise credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Bitrise today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.