Integrations
Provides tools for managing Android app development workflows, builds, and release management through the Bitrise platform.
Enables release management for iOS apps with App Store integration, allowing management of connected apps and distribution flows.
Provides comprehensive access to Bitrise CI/CD platform, enabling management of apps, triggering and monitoring builds, handling artifacts, managing webhooks, configuring caches, and working with pipelines. Also includes release management capabilities for distributing mobile apps to testers and stores.
Bitrise MCP Server
MCP Server for the Bitrise API, enabling app management, build operations, artifact management and more.
Features
- Comprehensive API Access: Access to Bitrise APIs including apps, builds, artifacts, and more.
- Authentication Support: Secure API token-based access to Bitrise resources.
- Detailed Documentation: Well-documented tools with parameter descriptions.
Setup
Environment Setup
Example setting up the environment
Please read the official documentation for uv and pylint for more options.
Bitrise API Token
- Go to your Bitrise Account Settings/Security.
- Navigate to the "Personal access tokens" section.
- Copy the generated token.
Use with Claude Desktop
This guide uses Claude Desktop as the MCP client, but you can use any other MCP-compatible client and adapt the following config options to your preferred client.
Open Claude settings, then navigate to the Developer tab.
Click Edit config. This creates a config file called claude_desktop_config.json
. Open this file with your preferred editor and add the Bitrise MCP server:
Save the config file and restart Claude Desktop. If everything is set up correctly, you should see a hammer icon next to the message composer.
Use with VS Code
Follow the official guide to enable Agent mode in Copilot Chat.
Then, open VSCode's settings.json
(either the workspace level or the user level settings), and add the Bitrise MCP server configuration under the mcp.servers
key, and the workspace token input under the mcp.inputs
key:
Save the configuration. VS Code will automatically recognize the change and load the tools into Copilot Chat.
Advanced configuration
You can limit the number of tools exposed to the MCP client. This is useful if you want to optimize token usage or your MCP client has a limit on the number of tools.
Tools are grouped by their "API group", and you can pass the groups you want to expose as tools. Possible values: apps, builds, workspaces, webhooks, build-artifacts, group-roles, cache-items, pipelines, account, read-only, release-management
.
We recommend using the release-management
API group separately to avoid any confusion with the apps
API group.
Example configuration:
Tools
Apps
list_apps
- List all the apps available for the authenticated account
- Arguments:
sort_by
(optional): Order of the apps: last_build_at (default) or created_atnext
(optional): Slug of the first app in the responselimit
(optional): Max number of elements per page (default: 50)
register_app
- Add a new app to Bitrise
- Arguments:
repo_url
: Repository URLis_public
: Whether the app's builds visibility is "public"organization_slug
: The organization (aka workspace) the app to add toproject_type
(optional): Type of project (ios, android, etc.)provider
(optional): github
finish_bitrise_app
- Finish the setup of a Bitrise app
- Arguments:
app_slug
: The slug of the Bitrise app to finish setup forproject_type
(optional): The type of project (e.g., android, ios, flutter, etc.)stack_id
(optional): The stack ID to use for the appmode
(optional): The mode of setupconfig
(optional): The configuration to use for the app
get_app
- Get the details of a specific app
- Arguments:
app_slug
: Identifier of the Bitrise app
delete_app
- Delete an app from Bitrise
- Arguments:
app_slug
: Identifier of the Bitrise app
update_app
- Update an app
- Arguments:
app_slug
: Identifier of the Bitrise appis_public
: Whether the app's builds visibility is "public"project_type
: Type of projectprovider
: Repository providerrepo_url
: Repository URL
get_bitrise_yml
- Get the current Bitrise YML config file of a specified Bitrise app
- Arguments:
app_slug
: Identifier of the Bitrise app
update_bitrise_yml
- Update the Bitrise YML config file of a specified Bitrise app
- Arguments:
app_slug
: Identifier of the Bitrise appbitrise_yml_as_json
: The new Bitrise YML config file content
list_branches
- List the branches with existing builds of an app's repository
- Arguments:
app_slug
: Identifier of the Bitrise app
register_ssh_key
- Add an SSH-key to a specific app
- Arguments:
app_slug
: Identifier of the Bitrise appauth_ssh_private_key
: Private SSH keyauth_ssh_public_key
: Public SSH keyis_register_key_into_provider_service
: Register the key in the provider service
register_webhook
- Register an incoming webhook for a specific application
- Arguments:
app_slug
: Identifier of the Bitrise app
Builds
list_builds
- List all the builds of a specified Bitrise app or all accessible builds
- Arguments:
app_slug
(optional): Identifier of the Bitrise appsort_by
(optional): Order of builds: created_at (default), running_firstbranch
(optional): Filter builds by branchworkflow
(optional): Filter builds by workflowstatus
(optional): Filter builds by status (0: not finished, 1: successful, 2: failed, 3: aborted, 4: in-progress)next
(optional): Slug of the first build in the responselimit
(optional): Max number of elements per page (default: 50)
trigger_bitrise_build
- Trigger a new build/pipeline for a specified Bitrise app
- Arguments:
app_slug
: Identifier of the Bitrise appbranch
(optional): The branch to build (default: main)workflow_id
(optional): The workflow to buildcommit_message
(optional): The commit message for the buildcommit_hash
(optional): The commit hash for the build
get_build
- Get a specific build of a given app
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the build
abort_build
- Abort a specific build
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the buildreason
(optional): Reason for aborting the build
get_build_log
- Get the build log of a specified build of a Bitrise app
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the Bitrise build
get_build_bitrise_yml
- Get the bitrise.yml of a build
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the build
list_build_workflows
- List the workflows of an app
- Arguments:
app_slug
: Identifier of the Bitrise app
Build Artifacts
list_artifacts
- Get a list of all build artifacts
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the buildnext
(optional): Slug of the first artifact in the responselimit
(optional): Max number of elements per page (default: 50)
get_artifact
- Get a specific build artifact
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the buildartifact_slug
: Identifier of the artifact
delete_artifact
- Delete a build artifact
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the buildartifact_slug
: Identifier of the artifact
update_artifact
- Update a build artifact
- Arguments:
app_slug
: Identifier of the Bitrise appbuild_slug
: Identifier of the buildartifact_slug
: Identifier of the artifactis_public_page_enabled
: Enable public page for the artifact
Webhooks
list_outgoing_webhooks
- List the outgoing webhooks of an app
- Arguments:
app_slug
: Identifier of the Bitrise app
delete_outgoing_webhook
- Delete the outgoing webhook of an app
- Arguments:
app_slug
: Identifier of the Bitrise appwebhook_slug
: Identifier of the webhook
update_outgoing_webhook
- Update an outgoing webhook for an app
- Arguments:
app_slug
: Identifier of the Bitrise appwebhook_slug
: Identifier of the webhookevents
: List of events to trigger the webhookurl
: URL of the webhookheaders
(optional): Headers to be sent with the webhook
create_outgoing_webhook
- Create an outgoing webhook for an app
- Arguments:
app_slug
: Identifier of the Bitrise appevents
: List of events to trigger the webhookurl
: URL of the webhookheaders
(optional): Headers to be sent with the webhook
Cache Items
list_cache_items
- List the key-value cache items belonging to an app
- Arguments:
app_slug
: Identifier of the Bitrise app
delete_all_cache_items
- Delete all key-value cache items belonging to an app
- Arguments:
app_slug
: Identifier of the Bitrise app
delete_cache_item
- Delete a key-value cache item
- Arguments:
app_slug
: Identifier of the Bitrise appcache_item_id
: Identifier of the cache item
get_cache_item_download_url
- Get the download URL of a key-value cache item
- Arguments:
app_slug
: Identifier of the Bitrise appcache_item_id
: Identifier of the cache item
Pipelines
list_pipelines
- List all pipelines and standalone builds of an app
- Arguments:
app_slug
: Identifier of the Bitrise app
get_pipeline
- Get a pipeline of a given app
- Arguments:
app_slug
: Identifier of the Bitrise apppipeline_id
: Identifier of the pipeline
abort_pipeline
- Abort a pipeline
- Arguments:
app_slug
: Identifier of the Bitrise apppipeline_id
: Identifier of the pipelinereason
(optional): Reason for aborting the pipeline
rebuild_pipeline
- Rebuild a pipeline
- Arguments:
app_slug
: Identifier of the Bitrise apppipeline_id
: Identifier of the pipeline
Group Roles
list_group_roles
- List group roles for an app
- Arguments:
app_slug
: Identifier of the Bitrise approle_name
: Name of the role
replace_group_roles
- Replace group roles for an app
- Arguments:
app_slug
: Identifier of the Bitrise approle_name
: Name of the rolegroup_slugs
: List of group slugs
Workspaces
list_workspaces
- List the workspaces the user has access to
get_workspace
- Get details for one workspace
- Arguments:
workspace_slug
: Slug of the Bitrise workspace
get_workspace_groups
- Get the groups in a workspace
- Arguments:
workspace_slug
: Slug of the Bitrise workspace
create_workspace_group
- Create a group in a workspace
- Arguments:
workspace_slug
: Slug of the Bitrise workspacegroup_name
: Name of the group
get_workspace_members
- Get the members in a workspace
- Arguments:
workspace_slug
: Slug of the Bitrise workspace
invite_member_to_workspace
- Invite a member to a workspace
- Arguments:
workspace_slug
: Slug of the Bitrise workspaceemail
: Email address of the user
add_member_to_group
- Add a member to a group
- Arguments:
group_slug
: Slug of the groupuser_slug
: Slug of the user
Account
me
- Get info from the currently authenticated user account
Release Management
MCP Tools
create_connected_app
- Add a new Release Management connected app to Bitrise.
- Arguments:
platform
: The mobile platform for the connected app (ios/android).store_app_id
: The app store identifier for the connected app.workspace_slug
: Identifier of the Bitrise workspace.id
: (Optional) An uuidV4 identifier for your new connected app.manual_connection
: (Optional) Indicates a manual connection.project_id
: (Optional) Specifies which Bitrise Project to associate with.store_app_name
: (Optional) App name for manual connections.store_credential_id
: (Optional) Selection of credentials added on Bitrise.
list_connected_apps
- List Release Management connected apps available for the authenticated account within a workspace.
- Arguments:
workspace_slug
: Identifier of the Bitrise workspace.items_per_page
: (Optional) Maximum number of connected apps per page.page
: (Optional) Page number to return.platform
: (Optional) Filter for a specific mobile platform.project_id
: (Optional) Filter for a specific Bitrise Project.search
: (Optional) Search by bundle ID, package name, or app title.
get_connected_app
- Gives back a Release Management connected app for the authenticated account.
- Arguments:
id
: Identifier of the Release Management connected app.
update_connected_app
- Updates a connected app.
- Arguments:
connected_app_id
: The uuidV4 identifier for your connected app.store_app_id
: The store identifier for your app.connect_to_store
: (Optional) Check validity against the App Store or Google Play.store_credential_id
: (Optional) Selection of credentials added on Bitrise.
list_installable_artifacts
- List Release Management installable artifacts of a connected app.
- Arguments:
connected_app_id
: Identifier of the Release Management connected app.after_date
: (Optional) Start of the interval for artifact creation/upload.artifact_type
: (Optional) Filter for a specific artifact type.before_date
: (Optional) End of the interval for artifact creation/upload.branch
: (Optional) Filter for the Bitrise CI branch.distribution_ready
: (Optional) Filter for distribution ready artifacts.items_per_page
: (Optional) Maximum number of artifacts per page.page
: (Optional) Page number to return.platform
: (Optional) Filter for a specific mobile platform.search
: (Optional) Search by version, filename or build number.source
: (Optional) Filter for the source of installable artifacts.store_signed
: (Optional) Filter for store ready installable artifacts.version
: (Optional) Filter for a specific version.workflow
: (Optional) Filter for a specific Bitrise CI workflow.
generate_installable_artifact_upload_url
- Generates a signed upload URL for an installable artifact to be uploaded to Bitrise.
- Arguments:
connected_app_id
: Identifier of the Release Management connected app.installable_artifact_id
: An uuidv4 identifier for the installable artifact.file_name
: The name of the installable artifact file.file_size_bytes
: The byte size of the installable artifact file.branch
: (Optional) Name of the CI branch.with_public_page
: (Optional) Enable public install page.workflow
: (Optional) Name of the CI workflow.
get_installable_artifact_upload_and_processing_status
- Gets the processing and upload status of an installable artifact.
- Arguments:
connected_app_id
: Identifier of the Release Management connected app.installable_artifact_id
: The uuidv4 identifier for the installable artifact.
set_installable_artifact_public_install_page
- Changes whether public install page should be available for the installable artifact.
- Arguments:
connected_app_id
: Identifier of the Release Management connected app.installable_artifact_id
: The uuidv4 identifier for the installable artifact.with_public_page
: Boolean flag for enabling/disabling public install page.
list_build_distribution_versions
- Lists Build Distribution versions available for testers.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.items_per_page
: (Optional) Maximum number of versions per page.page
: (Optional) Page number to return.
list_build_distribution_version_test_builds
- Gives back a list of test builds for the given build distribution version.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.version
: The version of the build distribution.items_per_page
: (Optional) Maximum number of test builds per page.page
: (Optional) Page number to return.
create_tester_group
- Creates a tester group for a Release Management connected app.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.name
: The name for the new tester group.auto_notify
: (Optional) Indicates automatic notifications for the group.
notify_tester_group
- Notifies a tester group about a new test build.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.id
: The uuidV4 identifier of the tester group.test_build_id
: The unique identifier of the test build.
add_testers_to_tester_group
- Adds testers to a tester group of a connected app.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.id
: The uuidV4 identifier of the tester group.user_slugs
: The list of users identified by slugs to be added.
update_tester_group
- Updates the given tester group settings.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.id
: The uuidV4 identifier of the tester group.auto_notify
: (Optional) Setting for automatic email notifications.name
: (Optional) The new name for the tester group.
list_tester_groups
- Gives back a list of tester groups related to a specific connected app.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.items_per_page
: (Optional) Maximum number of tester groups per page.page
: (Optional) Page number to return.
get_tester_group
- Gives back the details of the selected tester group.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.id
: The uuidV4 identifier of the tester group.
get_potential_testers
- Gets a list of potential testers who can be added to a specific tester group.
- Arguments:
connected_app_id
: The uuidV4 identifier of the connected app.id
: The uuidV4 identifier of the tester group.items_per_page
: (Optional) Maximum number of potential testers per page.page
: (Optional) Page number to return.search
: (Optional) Search for testers by email or username.
API Groups
The Bitrise MCP server organizes tools into API groups that can be enabled or disabled via command-line arguments. The table below shows which API groups each tool belongs to:
Tool | apps | builds | workspaces | webhooks | build-artifacts | group-roles | cache-items | pipelines | account | read-only | release-management |
---|---|---|---|---|---|---|---|---|---|---|---|
list_apps | ✅ | ✅ | |||||||||
register_app | ✅ | ||||||||||
finish_bitrise_app | ✅ | ||||||||||
get_app | ✅ | ✅ | |||||||||
delete_app | ✅ | ||||||||||
update_app | ✅ | ||||||||||
get_bitrise_yml | ✅ | ✅ | |||||||||
update_bitrise_yml | ✅ | ||||||||||
list_branches | ✅ | ✅ | |||||||||
register_ssh_key | ✅ | ||||||||||
register_webhook | ✅ | ||||||||||
list_builds | ✅ | ✅ | |||||||||
trigger_bitrise_build | ✅ | ||||||||||
get_build | ✅ | ✅ | |||||||||
abort_build | ✅ | ||||||||||
get_build_log | ✅ | ✅ | |||||||||
get_build_bitrise_yml | ✅ | ✅ | |||||||||
list_build_workflows | ✅ | ✅ | |||||||||
list_artifacts | ✅ | ✅ | |||||||||
get_artifact | ✅ | ✅ | |||||||||
delete_artifact | ✅ | ||||||||||
update_artifact | ✅ | ||||||||||
list_outgoing_webhooks | ✅ | ✅ | |||||||||
delete_outgoing_webhook | ✅ | ||||||||||
update_outgoing_webhook | ✅ | ||||||||||
create_outgoing_webhook | ✅ | ||||||||||
list_cache_items | ✅ | ✅ | |||||||||
delete_all_cache_items | ✅ | ||||||||||
delete_cache_item | ✅ | ||||||||||
get_cache_item_download_url | ✅ | ✅ | |||||||||
list_pipelines | ✅ | ✅ | |||||||||
get_pipeline | ✅ | ✅ | |||||||||
abort_pipeline | ✅ | ||||||||||
rebuild_pipeline | ✅ | ||||||||||
list_group_roles | ✅ | ✅ | |||||||||
replace_group_roles | ✅ | ||||||||||
list_workspaces | ✅ | ✅ | |||||||||
get_workspace | ✅ | ✅ | |||||||||
get_workspace_groups | ✅ | ✅ | |||||||||
create_workspace_group | ✅ | ||||||||||
get_workspace_members | ✅ | ✅ | |||||||||
invite_member_to_workspace | ✅ | ||||||||||
add_member_to_group | ✅ | ||||||||||
me | ✅ | ✅ | |||||||||
create_connected_app | ✅ | ||||||||||
list_connected_apps | ✅ | ||||||||||
get_connected_app | ✅ | ||||||||||
update_connected_app | ✅ | ||||||||||
list_installable_artifacts | ✅ | ||||||||||
generate_installable_artifact_upload_url | ✅ | ||||||||||
get_installable_artifact_upload_and_processing_status | ✅ | ||||||||||
set_installable_artifact_public_install_page | ✅ | ||||||||||
list_build_distribution_versions | ✅ | ||||||||||
list_build_distribution_version_test_builds | ✅ | ||||||||||
create_tester_group | ✅ | ||||||||||
notify_tester_group | ✅ | ||||||||||
add_testers_to_tester_group | ✅ | ||||||||||
update_tester_group | ✅ | ||||||||||
list_tester_groups | ✅ | ||||||||||
get_tester_group | ✅ | ||||||||||
get_potential_testers | ✅ |
By default, all API groups are enabled. You can specify which groups to enable using the --enabled-api-groups
command-line argument with a comma-separated list of group names.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A server interface for Bitrise CI/CD platform that enables app management, build operations, artifact management, and release management through natural language interactions.
Related MCP Servers
- -securityAlicense-qualityThe Claude Dev Server enables direct interaction with the file system within a specified workspace, allowing users to perform file and directory operations and implement code artifacts in software development using natural language commands.Last updated -2PythonMIT License
- AsecurityFlicenseAqualityThe server facilitates natural language interactions for exploring and understanding codebases, providing insights into data models and system architecture using a cost-effective, simple setup with support for existing Claude Pro subscriptions.Last updated -47Python
- AsecurityAlicenseAqualityAn MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata for querying, modifying, and managing objects and records.Last updated -78715TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata for querying, modifying, and managing objects and records.Last updated -7184TypeScriptMIT License