io.github.bitrise-io/bitrise-mcp
Bitrise
MCP Server for Bitrise, enabling app management, build operations, artifact management, and more.
Status
Healthy
Score
74.8
Transport
streamable-http
Tools
67
Production readiness
Verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Critical alerts
0
Production verdicts degrade quickly when critical alerts are active.
Evidence confidence
Confidence score
65.0
Based on 20 recent validations, 26 captured checks, and validation age of 605.9 hours.
Live checks captured
26
More direct checks increase trust in the current verdict.
Validation age
605.9h
Lower age means fresher evidence.
Recommended for
Claude Desktop
Claude Desktop is marked compatible with score 83.
Smithery
Smithery is marked compatible with score 100.
Generic Streamable HTTP
Generic Streamable HTTP is marked compatible with score 100.
Client readiness verdicts
Ready for ChatGPT custom connector
Partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
initialize• OKtools_list• OKtransport_compliance_probe• Errorstep_up_auth_probe• Missingconnector_replay_probe• OK — Frozen tool snapshots must survive refresh.request_association_probe• Missing — Roots, sampling, and elicitation should stay request-scoped.
Ready for Claude remote MCP
Ready
Transport behavior should match Claude-compatible HTTP expectations.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
initialize• OKtools_list• OKtransport_compliance_probe• Error
Unsafe for write actions
Yes
High-risk write, exec, or destructive tools need stronger auth and confirmation semantics.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history
Disagreements: none
action_safety_probe• Error
Snapshot churn risk
Low
No material tool-surface churn detected in the latest comparison.
Confidence: medium (65.0)
Evidence provenance
Winner: history
Supporting sources: history, live_validation
Disagreements: none
tool_snapshot_probe• OKconnector_replay_probe• OK
Why not ready by client
ChatGPT custom connector
Partial
Remediation checklist
- No explicit blockers recorded.
Claude remote MCP
Ready
Remediation checklist
- No explicit blockers recorded.
Write-safe publishing
Blocked
Remediation checklist
- No explicit blockers recorded.
Verdict traces
Production verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Confidence: medium (65.0)
Winning source: live_validation
Triggering alerts
validation_stale• medium • Validation evidence is stale
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Partial | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
Ready | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
Yes | action_safety_probe | live_validation | none |
snapshot_churn_risk |
Low | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
ChatGPT custom connector publishability
Caution
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Claude remote MCP publishability
Ready
Transport behavior should match Claude-compatible HTTP expectations.
- Search Fetch Only: No
- Write Actions Present: Yes
- Oauth Configured: No
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Compatibility fixtures
ChatGPT custom connector fixture
Degraded
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
- remote_http_endpoint: Passes
- oauth_discovery: Degraded
- frozen_tool_snapshot_refresh: Passes
- request_association: Passes
Anthropic remote MCP fixture
Degraded
Transport behavior should match Claude-compatible HTTP expectations.
- remote_transport: Passes
- tool_discovery: Passes
- auth_connect: Passes
- safe_write_review: Degraded
Authenticated validation sessions
Latest profile
remote_mcp
Authenticated session used
Public score isolation
Preview endpoint
/v1/verifyCI preview endpoint
/v1/ci/previewPublic server reputation
Validation success 7d
n/a
Validation success 30d
1.0
Mean time to recover
n/a
Breaking diffs 30d
0
Registry drift frequency 30d
0
Snapshot changes 30d
0
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Apr 09, 2026 12:54:03 AM UTC | Latest validation: healthy | Score 74.8 with status healthy. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: none
- Docs: none
- Support: none
- Icon: none
- Remote endpoint: https://mcp.bitrise.io/
- Server card: none
Use-case taxonomy
development search communication productivity
Security posture
Tools analyzed
67
High-risk tools
11
Destructive tools
5
Exec tools
6
Egress tools
7
Secret tools
4
Bulk-access tools
17
Risk distribution
low:14, medium:42, high:11
Tool capability & risk inventory
| Tool | Capabilities | Risk | Findings | Notes |
|---|---|---|---|---|
abort_build |
write | Medium | none | No explicit safeguard hints detected. |
abort_pipeline |
write | Medium | none | No explicit safeguard hints detected. |
add_member_to_group |
admin | Medium | none | No explicit safeguard hints detected. |
add_testers_to_tester_group |
read admin | Medium | none | No explicit safeguard hints detected. |
create_connected_app |
read write admin secrets | Medium | secret material access admin mutation | No explicit safeguard hints detected. |
create_outgoing_webhook |
read write network secrets | High | arbitrary network egress secret material access freeform input surface | No explicit safeguard hints detected. |
create_tester_group |
write filesystem admin | Medium | filesystem mutation admin mutation | No explicit safeguard hints detected. |
create_workspace_group |
write admin | Medium | admin mutation | No explicit safeguard hints detected. |
delete_all_cache_items |
write delete | Medium | destructive operation | No explicit safeguard hints detected. |
delete_app |
write delete admin | Medium | destructive operation admin mutation | Safeguards hinted in metadata. |
delete_artifact |
write delete filesystem | High | destructive operation filesystem mutation | No explicit safeguard hints detected. |
delete_cache_item |
write delete | Medium | destructive operation | No explicit safeguard hints detected. |
delete_outgoing_webhook |
write delete network | High | destructive operation arbitrary network egress | No explicit safeguard hints detected. |
finish_bitrise_app |
write network admin | Medium | arbitrary network egress admin mutation | No explicit safeguard hints detected. |
generate_installable_artifact_upload_url |
network filesystem admin export | High | arbitrary network egress bulk data access | No explicit safeguard hints detected. |
get_app |
read | Low | none | No explicit safeguard hints detected. |
get_artifact |
read filesystem | Low | none | No explicit safeguard hints detected. |
get_bitrise_yml |
read filesystem | Low | none | No explicit safeguard hints detected. |
get_build |
read | Low | none | No explicit safeguard hints detected. |
get_build_bitrise_yml |
read | Low | none | No explicit safeguard hints detected. |
get_build_log |
read write exec export | High | command execution bulk data access | No explicit safeguard hints detected. |
get_build_steps |
read | Low | none | No explicit safeguard hints detected. |
get_cache_item_download_url |
read network filesystem | Medium | none | No explicit safeguard hints detected. |
get_connected_app |
read | Low | none | No explicit safeguard hints detected. |
get_installable_artifact_upload_and_proc_status |
read filesystem | Low | none | No explicit safeguard hints detected. |
get_pipeline |
read | Low | none | No explicit safeguard hints detected. |
get_potential_testers |
read write admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
get_tester_group |
read | Low | none | No explicit safeguard hints detected. |
get_testers |
read write export | Medium | bulk data access | Safeguards hinted in metadata. |
get_workspace |
read admin | Medium | none | No explicit safeguard hints detected. |
get_workspace_groups |
read admin | Medium | none | No explicit safeguard hints detected. |
get_workspace_members |
read admin | Medium | none | No explicit safeguard hints detected. |
invite_member_to_workspace |
admin | Medium | none | No explicit safeguard hints detected. |
list_apps |
read write admin export | Medium | bulk data access admin mutation | No explicit safeguard hints detected. |
list_artifacts |
read filesystem export | Medium | bulk data access | No explicit safeguard hints detected. |
list_available_stacks |
read admin | Medium | none | No explicit safeguard hints detected. |
list_branches |
read | Low | none | No explicit safeguard hints detected. |
list_build_distribution_version_test_builds |
read write export | Medium | bulk data access | Safeguards hinted in metadata. |
list_build_distribution_versions |
read write filesystem export | Medium | bulk data access filesystem mutation | Safeguards hinted in metadata. |
list_build_workflows |
read | Low | none | No explicit safeguard hints detected. |
list_builds |
read write exec export | High | command execution bulk data access | No explicit safeguard hints detected. |
list_cache_items |
read write export | Medium | bulk data access | No explicit safeguard hints detected. |
list_connected_apps |
read write admin export | Medium | bulk data access admin mutation | Safeguards hinted in metadata. |
list_group_roles |
read admin | Medium | none | No explicit safeguard hints detected. |
list_installable_artifacts |
read write filesystem export | Medium | bulk data access filesystem mutation | Safeguards hinted in metadata. |
list_outgoing_webhooks |
read network export | Medium | bulk data access | No explicit safeguard hints detected. |
list_pipelines |
read exec export | High | command execution bulk data access | No explicit safeguard hints detected. |
list_tester_groups |
read write export | Medium | bulk data access | Safeguards hinted in metadata. |
list_workspaces |
read admin | Medium | none | No explicit safeguard hints detected. |
me |
read admin | Medium | none | No explicit safeguard hints detected. |
notify_tester_group |
admin | Medium | none | No explicit safeguard hints detected. |
rebuild_pipeline |
other | Low | none | No explicit safeguard hints detected. |
register_app |
write network admin | High | arbitrary network egress freeform input surface admin mutation | No explicit safeguard hints detected. |
register_ssh_key |
secrets | Medium | secret material access | No explicit safeguard hints detected. |
register_webhook |
network | Medium | none | No explicit safeguard hints detected. |
replace_group_roles |
read admin | Medium | none | No explicit safeguard hints detected. |
set_installable_artifact_public_install_page |
write filesystem export | Medium | bulk data access filesystem mutation | No explicit safeguard hints detected. |
step_inputs |
read write | Medium | none | No explicit safeguard hints detected. |
step_search |
read exec filesystem | High | command execution freeform input surface | No explicit safeguard hints detected. |
trigger_bitrise_build |
other | Low | none | No explicit safeguard hints detected. |
update_app |
write network | Medium | arbitrary network egress freeform input surface | No explicit safeguard hints detected. |
update_artifact |
write filesystem export | Medium | bulk data access filesystem mutation | No explicit safeguard hints detected. |
update_bitrise_yml |
read write exec filesystem | High | command execution filesystem mutation | No explicit safeguard hints detected. |
update_connected_app |
read write secrets | Medium | secret material access | No explicit safeguard hints detected. |
update_outgoing_webhook |
read write network | Medium | arbitrary network egress freeform input surface | No explicit safeguard hints detected. |
update_tester_group |
write | Medium | none | No explicit safeguard hints detected. |
validate_bitrise_yml |
read write exec filesystem admin | High | command execution filesystem mutation admin mutation | No explicit safeguard hints detected. |
Write-action governance
Governance status
Error
Safe to publish
Auth boundary
public_or_unclear
Blast radius
High
High-risk tools
11
Confirmation signals
delete_app
Safeguard count
8
Status detail: 11 high-risk tool(s), 5 destructive tool(s), 6 exec-capable tool(s) are exposed without a clear auth boundary; 8 safeguard(s) and 1 confirmation signal(s) detected.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
create_outgoing_webhook |
High | arbitrary network egress secret material access freeform input surface | no |
delete_artifact |
High | destructive operation filesystem mutation | no |
delete_outgoing_webhook |
High | destructive operation arbitrary network egress | no |
generate_installable_artifact_upload_url |
High | arbitrary network egress bulk data access | no |
get_build_log |
High | command execution bulk data access | no |
list_builds |
High | command execution bulk data access | no |
list_pipelines |
High | command execution bulk data access | no |
register_app |
High | arbitrary network egress freeform input surface admin mutation | no |
step_search |
High | command execution freeform input surface | no |
update_bitrise_yml |
High | command execution filesystem mutation | no |
validate_bitrise_yml |
High | command execution filesystem mutation admin mutation | no |
Action-controls diff
Snapshot changed
no
Disabled-by-default candidates
none
Manual review candidates
none
New actions
| Action | Risk | Flags |
|---|---|---|
| No newly added actions. | ||
Changed actions
| Action | Change types | Risk |
|---|---|---|
| No materially changed actions. | ||
Why this score?
Access & Protocol
30/44
Connectivity, auth, and transport expectations for common clients.
Interface Quality
38.01/56
How well the tool/resource interface communicates and behaves under automation.
Security Posture
27/36
How safely the exposed tool surface handles destructive actions, egress, execution, secrets, and risky inputs.
Reliability & Trust
23/24
Operational stability, consistency, and trustworthiness over time.
Discovery & Governance
23.5/28
How well the server is documented, listed, and governed in public registries.
Adoption & Market
5/8
Adoption clues and public evidence that the server is intended for external use.
Algorithmic score breakdown
Auth Operability
2/4
Measures whether auth discovery and protected access behave predictably for clients.
Error Contract Quality
2.7/4
Grades machine-readable error structure, status alignment, and remediation hints.
Rate-Limit Semantics
2/4
Checks whether quota/throttle responses are deterministic and automation-friendly.
Schema Completeness
3/4
Completeness of tool descriptions, parameter docs, examples, and schema shape.
Backward Compatibility
4/4
Stability score across tool schema/name drift relative to prior validations.
SLO Health
4/4
Availability, latency, and burst-failure profile across recent validation history.
Security Hygiene
3.5/4
HTTPS posture, endpoint hygiene, and response-surface hardening checks.
Task Success
4/4
Can an agent reliably initialize, enumerate tools, and execute core MCP flows?
Trust Confidence
4/4
Confidence-adjusted reliability score that penalizes low evidence volume.
Abuse/Noise Resilience
3/4
How well the server preserves core behavior in the presence of noisy traffic patterns.
Prompt Contract
2/4
Quality of prompt metadata, argument shape, and prompt discoverability for clients.
Resource Contract
2/4
How completely resources and resource templates describe URIs, types, and usage shape.
Discovery Metadata
3/4
Homepage, docs, icon, repository, support, and license coverage for directory consumers.
Registry Consistency
2/4
Agreement between stored registry metadata, live server-card data, and current validation output.
Installability
4/4
How cleanly a real client can connect, initialize, enumerate tools, and proceed through auth.
Session Semantics
4/4
Determinism and state behavior across repeated MCP calls, including sticky-session surprises.
Tool Surface Design
3/4
Naming clarity, schema ergonomics, and parameter complexity across the tool surface.
Result Shape Stability
3/4
Stability of declared output schemas across validations, with penalties for drift or missing shapes.
OAuth Interop
3/4
Depth and client compatibility of OAuth/OIDC metadata beyond the minimal protected-resource check.
Recovery Semantics
0.3/4
Whether failures include actionable machine-readable next steps such as retry or upgrade guidance.
Maintenance Signal
4/4
Versioning, update recency, and historical validation cadence that indicate active stewardship.
Adoption Signal
2/4
Directory presence and distribution clues that suggest the server is intended for external use.
Freshness Confidence
4/4
Confidence that recent validations are current enough and dense enough to trust operationally.
Transport Fidelity
4/4
Whether declared transport metadata matches the observed endpoint behavior and response formats.
Spec Recency
2/4
How close the server’s claimed MCP protocol version is to the latest known public revision.
Session Resume
3/4
Whether Streamable HTTP session identifiers and resumed requests behave cleanly for real clients.
Step-Up Auth
3/4
Whether OAuth metadata and WWW-Authenticate challenges support granular, incremental consent instead of broad upfront scopes.
Transport Compliance
0/4
Checks session headers, protocol-version enforcement, session teardown, and expired-session behavior.
Utility Coverage
2/4
Signals support for completions, pagination, and task-oriented utility surfaces that larger clients increasingly expect.
Advanced Capability Coverage
2/4
Coverage of newer MCP surfaces like roots, sampling, elicitation, structured output, and related metadata.
Connector Publishability
3/4
How ready the server looks for client catalogs and managed connector programs.
Tool Snapshot Churn
4/4
Stability of the tool surface across recent validations, including add/remove and output-shape drift.
Connector Replay
4/4
Whether a previously published frozen connector snapshot would remain backward compatible after the latest tool refresh.
Request Association
3/4
Whether roots, sampling, and elicitation appear tied to active client requests instead of arriving unsolicited on idle sessions.
Interactive Flow Safety
3/4
Whether prompts and docs steer users toward safe auth flows instead of pasting secrets directly.
Action Safety
2/4
Risk-weighted view of destructive, exec, egress, and confirmation semantics across the tool surface.
Official Registry Presence
4/4
Whether the server appears directly or indirectly in the official MCP registry.
Provenance Divergence
4/4
How closely official registry metadata, the live server card, and public repo/package signals agree with each other.
Safety Transparency
4/4
Clarity of docs, auth disclosure, support links, and other trust signals visible to integrators.
Tool Capability Clarity
4/4
How clearly the tool surface communicates whether each action reads, writes, deletes, executes, or exports data.
Destructive Operation Safety
3/4
Penalizes delete/revoke/destroy style tools unless auth and safeguards reduce blast radius.
Egress / SSRF Resilience
3/4
Assesses arbitrary URL fetch, crawl, webhook, and remote-request exposure on the tool surface.
Execution / Sandbox Safety
1.5/4
Evaluates shell, code, script, and command-execution exposure and whether that surface appears contained.
Data Exfiltration Resilience
4/4
Assesses export, dump, backup, and bulk-read behavior against the surrounding auth and safeguard signals.
Least Privilege Scope
2/4
Rewards scoped auth metadata and penalizes broad or missing scopes around privileged tools.
Secret Handling Hygiene
4/4
Assesses secret-bearing tools, token leakage risk, and whether the public surface avoids obvious secret exposure.
Supply Chain Signal
2.5/4
Public metadata signal for repository, changelog, license, versioning, and recency that supports supply-chain trust.
Input Sanitization Safety
3/4
Penalizes risky freeform string inputs when schemas do not constrain URLs, code, paths, queries, or templates.
Tool Namespace Clarity
4/4
Measures naming uniqueness and ambiguity across the tool namespace to reduce collision and confusion risk.
Compatibility profiles
OpenAI Connectors
66.7
partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.; Transport compliance should be in good shape.
Connector URL: https://mcp.bitrise.io/ # No OAuth metadata detected. # Server: io.github.bitrise-io/bitrise-mcp
Claude Desktop
83.3
compatible
Transport behavior should match Claude-compatible HTTP expectations.
{
"mcpServers": {
"bitrise-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.bitrise.io/"]
}
}
}
Smithery
100.0
compatible
No major blockers detected.
smithery mcp add "https://mcp.bitrise.io/"
Generic Streamable HTTP
100.0
compatible
No major blockers detected.
curl -sS https://mcp.bitrise.io/ -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| High | Add confirmation and dry-run semantics for risky actions | High-risk write, delete, exec, or egress tools should communicate safeguards clearly. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Align session and protocol behavior with Streamable HTTP expectations | Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. | Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.Playbook
|
| High | Associate roots, sampling, and elicitation with active client requests | Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| High | Expose /.well-known/oauth-protected-resource | Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. | Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.Playbook
|
| High | Publish OAuth authorization-server metadata | Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. | Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.Playbook
|
| High | Publish a complete server card | Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. | Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.Playbook
|
| High | Stop asking users to paste secrets directly | Public MCP servers should prefer OAuth or browser-based auth guidance over in-band secret collection. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Adopt a current MCP protocol revision | Older protocol revisions reduce compatibility with newer clients and registry programs. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Medium | Document minimal scopes and return cleaner auth challenges | Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. | Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.Playbook
|
| Medium | Publish OpenID configuration | OIDC metadata improves token validation and client compatibility. | Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.Playbook
|
| Medium | Repair prompts/list or stop advertising prompts | Prompt metadata should either work live or be removed from the advertised capability set. | Only advertise prompts if prompts/list works and prompt arguments are documented.Playbook
|
| Medium | Repair resources/list or stop advertising resources | Resource metadata should either work live or be removed from the advertised capability set. | Only advertise resources if resources/list works and resources expose stable URIs/types.Playbook
|
| Medium | Respond to validation evidence is stale | Latest validation is 605.9 hours old. | Trigger a fresh validation run or increase scheduler priority for this server.Playbook
|
| Medium | Support resumable HTTP sessions cleanly | Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| Low | Expose modern utility surfaces like completions, pagination, or tasks | Utility coverage improves interoperability with larger clients and long-lived agent workflows. | Expose completions, pagination, and task metadata where supported so larger clients can plan and resume work safely.Playbook
|
| Low | Harden generic GET handling | Simple probe requests should not surface server instability or noisy failures. | Harden generic GET handlers around the origin of https://mcp.bitrise.io/ so incidental traffic does not produce noisy failures.Playbook
|
| Low | Publish newer MCP capability signals | Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Transport Compliance | 0/4 | -4.0 |
| Recovery Semantics | 0.3/4 | -3.7 |
| Execution Sandbox Safety | 1.5/4 | -2.5 |
| Utility Coverage | 2/4 | -2.0 |
| Spec Recency | 2/4 | -2.0 |
| Resource Contract | 2/4 | -2.0 |
| Registry Consistency | 2/4 | -2.0 |
| Rate Limit Semantics | 2/4 | -2.0 |
| Prompt Contract | 2/4 | -2.0 |
| Least Privilege Scope | 2/4 | -2.0 |
| Auth Operability | 2/4 | -2.0 |
| Advanced Capability Coverage | 2/4 | -2.0 |
Validation diff
Score delta
0
Summary changed
no
Tool delta
0
Prompt delta
0
Auth mode changed
no
Write surface expanded
no
Protocol regressed
no
Registry drift changed
no
Regressed checks: none
Improved checks: none
| Component | Previous | Latest | Delta |
|---|---|---|---|
| No component deltas between the latest two runs. | |||
Tool snapshot diff & changelog
Snapshot changed
no
Added tools
none
Removed tools
none
Required-argument changes
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument changes detected. | ||
Output-schema drift
| Tool | Previous properties | Latest properties |
|---|---|---|
| No output-schema drift detected. | ||
Connector replay
Status
OK
Backward compatible
Would break after refresh
Added tools
none
Removed tools
none
Additive output changes
none
Required-argument replay breaks
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument replay breaks detected. | ||
Output-schema replay breaks
| Tool | Removed properties | Added properties |
|---|---|---|
| No output-schema replay breaks detected. | ||
Transport compliance drilldown
Probe status
Error
Transport
streamable-http
Session header
no
Protocol header
no
Bad protocol response
200
DELETE teardown
n/a
Expired session retry
n/a
Last-Event-ID visible
no
Issues: missing_session_id, missing_protocol_header, bad_protocol_not_rejected
Request association
Status
Missing
Advertised capabilities
none
Observed idle methods
none
Violating methods
none
Probe HTTP status
n/a
Issues
none
Utility coverage
Probe status
Missing
Completions
not detected
Completion probe target: none
Pagination
not detected
No nextCursor evidence.
Tasks
Missing
Advertised: no
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Passes |
|
| Read-only fetch flow | Degraded |
|
| OAuth-required connect | Degraded |
|
| Safe write flow with confirmation | Likely to fail |
|
Registry & provenance divergence
Probe status
OK
Direct official match
yes
Drift fields
none
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | n/a |
| Version | n/a | n/a |
| Homepage | n/a | n/a |
Active alerts
- Validation evidence is stale (medium)
Latest validation is 605.9 hours old.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
io.github.bitrise-io/bitrise-mcp |
official_registry | yes | 74.75 |
Alias consolidation
Canonical identifier
io.github.bitrise-io/bitrise-mcp
Duplicate aliases
0
Registry sources
official_registry
Remote URLs
Homepages
none
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| No source disagreements detected. | ||
Install snippets
Openai Connectors
Connector URL: https://mcp.bitrise.io/ # No OAuth metadata detected. # Server: io.github.bitrise-io/bitrise-mcp
Claude Desktop
{
"mcpServers": {
"bitrise-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.bitrise.io/"]
}
}
}
Smithery
smithery mcp add "https://mcp.bitrise.io/"
Generic Http
curl -sS https://mcp.bitrise.io/ -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Agent access & tool surface
Live server tools
abort_build abort_pipeline add_member_to_group add_testers_to_tester_group create_connected_app create_outgoing_webhook create_tester_group create_workspace_group
Observed from the latest live validation against https://mcp.bitrise.io/. This is the target server surface, not Verify's own inspection tools.
Live capability counts
67 tools • 0 prompts • 0 resources
Counts come from the latest
tools/list, prompts/list, and resources/list checks.Inspect with Verify
search_servers recommend_servers get_server_report compare_servers
Use Verify itself to search, recommend, compare, and fetch the full report for
io.github.bitrise-io/bitrise-mcp.Direct machine links
Claims & monitoring
Server ownership
No verified maintainer claim recorded.
Watch subscriptions
0
Teams: none
Alert routing
Active watches
0
Generic webhooks
0
Slack routes
0
Teams routes
0
Email routes
0
| Watch | Team | Channels | Minimum severity |
|---|---|---|---|
| No active watch destinations. | |||
Maintainer analytics
Validation Run Count
20
Average Latency Ms
1181.83
Healthy Run Ratio Recent
1.0
Registry Presence Count
1
Active Alert Count
1
Watcher Count
0
Verified Claim
False
Taxonomy Tags
development, search, communication, productivity
Score Trend
74.75, 74.75, 74.75, 74.75, 74.75, 74.75, 74.75, 74.75, 74.75, 74.75
Remediation Count
18
High Risk Tool Count
11
Destructive Tool Count
5
Exec Tool Count
6
Maintainer response quality
Score
16.67
Verified claim
Support contact
Changelog present
Incident notes present
Tool changes documented
Annotation history
Annotation count
0
Maintainer annotations
No maintainer annotations have been recorded yet.
Maintainer rebuttals & expected behavior
No maintainer rebuttals or expected-behavior overrides are recorded yet.
Latest validation evidence
Latest summary
Healthy
Validation profile
remote_mcp
Started
Apr 09, 2026 12:54:02 AM UTC
Latency
1306.9 ms
Failures
oauth_authorization_serverno authorization serveroauth_protected_resourceClient error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405openid_configurationno authorization serverprobe_noise_resilienceFetched https://mcp.bitrise.io/robots.txtserver_cardClient error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405transport_compliance_probeIssues: missing session id, missing protocol header, bad protocol not rejected (bad protocol=200).
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
Error | n/a | 11 high-risk, 5 destructive, 6 exec-capable tool(s); no clear auth boundary; safeguards=8; confirmation=delete app. |
advanced_capabilities_probe |
Warning | n/a | Only 1 capability signal(s): structured outputs. |
connector_publishability_probe |
Warning | n/a | Publishability blockers: transport compliance, action safety, server card. |
connector_replay_probe |
OK | n/a | Backward compatible with no breaking tool-surface changes. |
determinism_probe |
OK | 47.9 ms | Check completed |
initialize |
OK | 139.8 ms | Protocol 2025-03-26 |
interactive_flow_probe |
Missing | n/a | Check completed |
oauth_authorization_server |
Missing | n/a | no authorization server |
oauth_protected_resource |
Error | 136.9 ms | Client error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405 |
official_registry_probe |
OK | n/a | Check completed |
openid_configuration |
Missing | n/a | no authorization server |
probe_noise_resilience |
Error | 91.5 ms | Fetched https://mcp.bitrise.io/robots.txt |
prompt_get |
Missing | n/a | not advertised |
prompts_list |
Missing | 50.1 ms | not advertised |
protocol_version_probe |
Warning | n/a | Claims 2025-03-26; 2 release(s) behind 2025-11-25. |
provenance_divergence_probe |
OK | n/a | Check completed |
request_association_probe |
Missing | n/a | No request-association capabilities were advertised. |
resource_read |
Missing | n/a | not advertised |
resources_list |
Missing | 52.4 ms | not advertised |
server_card |
Error | 215.8 ms | Client error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405 |
session_resume_probe |
Warning | n/a | no session id |
step_up_auth_probe |
Missing | n/a | No OAuth or incremental-scope signals detected. |
tool_snapshot_probe |
OK | n/a | Check completed |
tools_list |
OK | 110.2 ms | 67 tool(s) exposed |
transport_compliance_probe |
Error | 55.0 ms | Issues: missing session id, missing protocol header, bad protocol not rejected (bad protocol=200). |
utility_coverage_probe |
Missing | 48.3 ms | No completions evidence; no pagination evidence; tasks missing. |
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": false,
"confirmation_signals": [
"delete_app"
],
"safeguard_count": 8,
"summary": {
"bulk_access_tools": 17,
"capability_distribution": {
"admin": 23,
"delete": 5,
"exec": 6,
"export": 17,
"filesystem": 15,
"network": 10,
"other": 2,
"read": 44,
"secrets": 4,
"write": 33
},
"destructive_tools": 5,
"egress_tools": 7,
"exec_tools": 6,
"high_risk_tools": 11,
"risk_distribution": {
"critical": 0,
"high": 11,
"low": 14,
"medium": 42
},
"secret_tools": 4,
"tool_count": 67
}
},
"latency_ms": null,
"status": "error"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": false,
"resource_links": false,
"resources": false,
"roots": false,
"sampling": false,
"structured_outputs": true
},
"enabled": [
"structured_outputs"
],
"enabled_count": 1,
"initialize_capability_keys": [
"logging",
"tools"
]
},
"latency_ms": null,
"status": "warning"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"transport_compliance",
"action_safety",
"server_card"
],
"criteria": {
"action_safety": false,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": true,
"remote_transport": true,
"request_association": true,
"server_card": false,
"session_resume": true,
"step_up_auth": true,
"tool_surface": true,
"tools_list": true,
"transport_compliance": false
},
"high_risk_tools": 11,
"tool_count": 67,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"added_tools": [],
"additive_output_changes": [],
"backward_compatible": true,
"output_breaks": [],
"removed_tools": [],
"required_arg_breaks": [],
"would_break_after_refresh": false
},
"latency_ms": null,
"status": "ok"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "ee33246531617541cb508c031242ba4cc12096dfd7c9ed6116c8c0e952fc6f74",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 47.92,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"logging": {},
"tools": {}
},
"protocolVersion": "2025-03-26",
"serverInfo": {
"name": "bitrise",
"version": "v2.4.3"
}
}
},
"url": "https://mcp.bitrise.io/"
},
"latency_ms": 139.76,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": false,
"prompt_available": false,
"risk_hits": [],
"safe_hits": []
},
"latency_ms": null,
"status": "missing"
},
"oauth_authorization_server": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"oauth_protected_resource": {
"details": {
"error": "Client error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405",
"url": "https://mcp.bitrise.io/.well-known/oauth-protected-resource"
},
"latency_ms": 136.91,
"status": "error"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "io.github.bitrise-io/bitrise-mcp",
"registry_source": "official_registry"
},
"latency_ms": null,
"status": "ok"
},
"openid_configuration": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/plain; charset=utf-8",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"http_status": 405,
"url": "https://mcp.bitrise.io/robots.txt"
},
"latency_ms": 91.48,
"status": "error"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "prompts not supported"
},
"id": 3,
"jsonrpc": "2.0"
},
"reason": "not_advertised",
"url": "https://mcp.bitrise.io/"
},
"latency_ms": 50.1,
"status": "missing"
},
"protocol_version_probe": {
"details": {
"claimed_version": "2025-03-26",
"lag_days": 244,
"latest_known_version": "2025-11-25",
"releases_behind": 2,
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "warning"
},
"provenance_divergence_probe": {
"details": {
"direct_official_match": true,
"drift_fields": [],
"metadata_document_count": 1,
"registry_homepage": null,
"registry_repository": null,
"registry_title": null,
"registry_version": null,
"server_card_homepage": null,
"server_card_repository": null,
"server_card_title": null,
"server_card_version": null
},
"latency_ms": null,
"status": "ok"
},
"request_association_probe": {
"details": {
"reason": "no_request_association_capabilities_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resource_read": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "resources not supported"
},
"id": 5,
"jsonrpc": "2.0"
},
"reason": "not_advertised",
"url": "https://mcp.bitrise.io/"
},
"latency_ms": 52.35,
"status": "missing"
},
"server_card": {
"details": {
"error": "Client error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405",
"url": "https://mcp.bitrise.io/.well-known/mcp/server-card.json"
},
"latency_ms": 215.81,
"status": "error"
},
"session_resume_probe": {
"details": {
"protocol_version": "2025-03-26",
"reason": "no_session_id",
"resume_expected": true,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [],
"broad_scopes": [],
"challenge_headers": [],
"minimal_scope_documented": false,
"oauth_present": false,
"scope_specificity_ratio": 0.0,
"step_up_signals": [],
"supported_scopes": []
},
"latency_ms": null,
"status": "missing"
},
"tool_snapshot_probe": {
"details": {
"added": [],
"changed_outputs": [],
"current_tool_count": 67,
"previous_tool_count": 67,
"removed": [],
"similarity": 1.0
},
"latency_ms": null,
"status": "ok"
},
"tools_list": {
"details": {
"headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Abort a specific build.",
"inputSchema": {
"properties": {
"abort_reason": {
"description": "Reason for aborting the build",
"type": "string"
},
"abort_with_success": {
"default": false,
"description": "If set to true, the aborted build will be marked as successful",
"type": "boolean"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"skip_git_status_report": {
"default": false,
"description": "If set to true, skip sending git status report",
"type": "boolean"
},
"skip_notifications": {
"default": false,
"description": "If set to true, skip sending notifications",
"type": "boolean"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "abort_build"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Abort a pipeline.",
"inputSchema": {
"properties": {
"abort_reason": {
"description": "Reason for aborting the pipeline",
"type": "string"
},
"abort_with_success": {
"default": false,
"description": "If set to true, the aborted pipeline will be marked as successful",
"type": "boolean"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
},
"skip_notifications": {
"default": false,
"description": "If set to true, skip sending notifications",
"type": "boolean"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "abort_pipeline"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a member to a group.",
"inputSchema": {
"properties": {
"group_slug": {
"description": "Slug of the group",
"type": "string"
},
"user_slug": {
"description": "Slug of the user",
"type": "string"
}
},
"required": [
"group_slug",
"user_slug"
],
"type": "object"
},
"name": "add_member_to_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Adds testers to a tester group of a connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group to which testers will be added.",
"type": "string"
},
"user_slugs": {
"description": "The list of users identified by slugs that will be added to the tester group.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"connected_app_id",
"id",
"user_slugs"
],
"type": "object"
},
"name": "add_testers_to_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a new Release Management connected app to Bitrise.",
"inputSchema": {
"properties": {
"id": {
"description": "An uuidV4 identifier for your new connected app. If it is not given, one will be generated.",
"type": "string"
},
"manual_connection": {
"default": false,
"description": "If set to true it indicates a manual connection (bypassing using store api keys) and requires giving 'store_app_name' as well.",
"type": "boolean"
},
"platform": {
"description": "The mobile platform for the connected app. Available values are 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"project_id": {
"description": "Specifies which Bitrise Project you want to get the connected app to be associated with. If this field is not given a new project will be created alongside with the connected app.",
"type": "string"
},
"store_app_id": {
"description": "The app store identifier for the connected app. In case of 'ios' platform it is the bundle id from App Store Connect. In case of Android platform it is the package name.",
"type": "string"
},
"store_app_name": {
"description": "If you have no active app store API keys added on Bitrise, you can decide to add your app manually by giving the app's name as well while indicating manual connection.",
"type": "string"
},
"store_credential_id": {
"description": "If you have credentials added on Bitrise, you can decide to select one for your app. In case of ios platform it will be an Apple API credential id. In case of android platform it will be a Google Service credential id.",
"type": "string"
},
"workspace_slug": {
"description": "Identifier of the Bitrise workspace for the Release Management connected app. This field is mandatory.",
"type": "string"
}
},
"required": [
"platform",
"store_app_id",
"workspace_slug"
],
"type": "object"
},
"name": "create_connected_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Create an outgoing webhook for an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"events": {
"description": "List of events to trigger the webhook",
"items": {
"type": "string"
},
"type": "array"
},
"headers": {
"description": "Headers to be sent with the webhook",
"properties": {},
"type": "object"
},
"secret": {
"description": "Secret for webhook signature verification",
"type": "string"
},
"url": {
"description": "URL of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"events",
"url"
],
"type": "object"
},
"name": "create_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Creates a tester group for a Release Management connected app. Tester groups can be used to distribute installable artifacts to testers automatically. When a new installable artifact is available, the tester groups can either automatically or manually be notified via email. The notification email will contain a link to the installable artifact page for the artifact within Bitrise Release Management. A Release Management connected app can have multiple tester groups. Project team members of the connected app can be selected to be testers and added to the tester group. This endpoint has an elevated access level requirement. Only the owner of the related Bitrise Workspace, a workspace manager or the related project's admin can manage tester groups.",
"inputSchema": {
"properties": {
"auto_notify": {
"default": false,
"description": "If set to true it indicates that the tester group will receive notifications automatically.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"name": {
"description": "The name for the new tester group. Must be unique in the scope of the connected app.",
"type": "string"
}
},
"required": [
"connected_app_id",
"name"
],
"type": "object"
},
"name": "create_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Create a new group in a workspace.",
"inputSchema": {
"properties": {
"group_name": {
"description": "Name of the group",
"type": "string"
},
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug",
"group_name"
],
"type": "object"
},
"name": "create_workspace_group"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete all key-value cache items belonging to an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "delete_all_cache_items"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete an app from Bitrise. When deleting apps belonging to multiple workspaces always confirm that which workspaces' apps the user wants to delete.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "delete_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete a build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug"
],
"type": "object"
},
"name": "delete_artifact"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete a key-value cache item.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"cache_item_id": {
"description": "Key of the cache item",
"type": "string"
}
},
"required": [
"app_slug",
"cache_item_id"
],
"type": "object"
},
"name": "delete_cache_item"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete the outgoing webhook of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"webhook_slug": {
"description": "Identifier of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"webhook_slug"
],
"type": "object"
},
"name": "delete_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Finish the setup of a Bitrise app. If this is successful, a build can be triggered via trigger_bitrise_build. If you have access to the repository, decide the project type, the stack ID, and the config to use, based on https://stacks.bitrise.io/, and the config should be also based on the project type.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "The slug of the Bitrise app to finish setup for.",
"type": "string"
},
"config": {
"default": "other-config",
"description": "The configuration preset to use for the app.",
"enum": [
"default-android-config",
"default-android-config-kts",
"default-cordova-config",
"default-fastlane-android-config",
"default-fastlane-ios-config",
"flutter-config-test-android-2",
"flutter-config-test-both-0",
"flutter-config-test-ios-1",
"default-ionic-config",
"default-ios-config",
"default-java-gradle-config",
"default-java-maven-config",
"default-kotlin-multiplatform-config",
"default-kotlin-multiplatform-config-ios",
"default-kotlin-multiplatform-config-android",
"default-kotlin-multiplatform-config-android-ios",
"default-macos-config",
"default-node-js-npm-config",
"default-node-js-yarn-config",
"default-react-native-config",
"default-react-native-expo-config"
],
"type": "string"
},
"project_type": {
"default": "other",
"description": "The type of project",
"enum": [
"android",
"cordova",
"fastlane",
"flutter",
"ios",
"ionic",
"java",
"kotlin-multiplatform",
"macos",
"node-js",
"react-native",
"other"
],
"type": "string"
},
"stack_id": {
"default": "linux-docker-android-22.04",
"description": "The stack ID to use for the app.",
"type": "string"
}
},
"required": [
"app_slug",
"project_type",
"stack_id"
],
"type": "object"
},
"name": "finish_bitrise_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Generates a signed upload url valid for 1 hour for an installable artifact to be uploaded to Bitrise Release Management. The response will contain an url that can be used to upload an artifact to Bitrise Release Management using a simple curl request with the file data that should be uploaded. The necessary headers and http method will also be in the response. This artifact will need to be processed after upload to be usable. The status of processing can be checked by making another request to a different url giving back the processed status of an installable artifact.",
"inputSchema": {
"properties": {
"branch": {
"description": "Optionally you can add the name of the CI branch the installable artifact has been generated on.",
"type": "string"
},
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"file_name": {
"description": "The name of the installable artifact file (with extension) to be uploaded to Bitrise. This field is mandatory.",
"type": "string"
},
"file_size_bytes": {
"description": "The byte size of the installable artifact file to be uploaded.",
"type": "string"
},
"installable_artifact_id": {
"description": "An uuidv4 identifier generated on the client side for the installable artifact. This field is mandatory.",
"type": "string"
},
"with_public_page": {
"default": false,
"description": "Optionally, you can enable public install page for your artifact. This can only be enabled by Bitrise Project Admins, Bitrise Project Owners and Bitrise Workspace Admins. Changing this value without proper permissions will result in an error. The default value is false.",
"type": "boolean"
},
"workflow": {
"description": "Optionally you can add the name of the CI workflow this installable artifact has been generated by.",
"type": "string"
}
},
"required": [
"connected_app_id",
"installable_artifact_id",
"file_name",
"file_size_bytes"
],
"type": "object"
},
"name": "generate_installable_artifact_upload_url"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the details of a specific app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "get_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a specific build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug"
],
"type": "object"
},
"name": "get_artifact"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the current Bitrise YML config file of a specified Bitrise app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "get_bitrise_yml"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a specific build of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the bitrise.yml of a build.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_bitrise_yml"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the build log of a specified build of a Bitrise app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"build_slug": {
"description": "Identifier of the Bitrise build",
"type": "string"
},
"limit": {
"default": 2000,
"description": "The number of lines to read. Defaults to 2000. Set to a high value to read the entire log.",
"type": "number"
},
"offset": {
"default": 0,
"description": "The line number to start reading from. Defaults to 0. Set -1 to read from the end of the log. Failures are usually at the end of the log.",
"type": "number"
},
"step_uuid": {
"description": "UUID of the step to get the log for. If not provided, the full build log is returned. Always provide this value whenever possible to avoid large log responses and running out of the LLM context window.",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_log",
"outputSchema": {
"properties": {
"log_lines": {
"description": "The requested lines of the build log.",
"type": "string"
},
"next_offset": {
"description": "The offset to use to read the next portion of the log, if any.",
"type": "integer"
},
"total_lines": {
"description": "The total number of lines in the build log.",
"type": "integer"
}
},
"required": [
"log_lines",
"total_lines"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get step statuses of a specific build of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_steps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the download URL for a cache item.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"cache_item_id": {
"description": "Key of the cache item",
"type": "string"
}
},
"required": [
"app_slug",
"cache_item_id"
],
"type": "object"
},
"name": "get_cache_item_download_url"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a Release Management connected app for the authenticated account.",
"inputSchema": {
"properties": {
"id": {
"description": "Identifier of the Release Management connected app",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_connected_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gets the processing and upload status of an installable artifact. An artifact will need to be processed after upload to be usable. This endpoint helps understanding when an uploaded installable artifacts becomes usable for later purposes.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"installable_artifact_id": {
"description": "The uuidv4 identifier for the installable artifact. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"installable_artifact_id"
],
"type": "object"
},
"name": "get_installable_artifact_upload_and_proc_status"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a pipeline of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "get_pipeline"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gets a list of potential testers whom can be added as testers to a specific tester group. The list consists of Bitrise users having access to the related Release Management connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of potential testers to return having access to a specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"search": {
"description": "Searches for potential testers based on email or username using a case-insensitive approach.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "get_potential_testers"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back the details of the selected tester group.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "get_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of testers that has been associated with a tester group related to a specific connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of testers to be returned that have been added to a tester group related to the specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"tester_group_id": {
"description": "The uuidV4 identifier of a tester group. If given, only testers within this specific tester group will be returned.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "get_testers"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get details for one workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the groups in a workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace_groups"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the members of a workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace_members"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Invite new Bitrise users to a workspace.",
"inputSchema": {
"properties": {
"email": {
"description": "Email address of the user",
"type": "string"
},
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug",
"email"
],
"type": "object"
},
"name": "invite_member_to_workspace"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all apps for the currently authenticated user account",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first app in the response",
"type": "string"
},
"project_type": {
"description": "Filter apps by project type (e.g., 'ios', 'android')",
"type": "string"
},
"sort_by": {
"default": "last_build_at",
"description": "Order of the apps. If set, you should accept the response as sorted",
"enum": [
"last_build_at",
"created_at"
],
"type": "string"
},
"title": {
"description": "Filter apps by title",
"type": "string"
}
},
"type": "object"
},
"name": "list_apps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a list of all build artifacts.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first artifact in the response",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "list_artifacts"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List available stacks with their machine configurations and version information. When a workspace_slug is provided, returns stacks available for that workspace including any custom stacks. When omitted, returns globally available stacks.",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace. When provided, lists stacks available for that workspace (including custom stacks). When omitted, lists globally available stacks.",
"type": "string"
}
},
"type": "object"
},
"name": "list_available_stacks"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the branches with existing builds of an app's repository.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_branches"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of test builds for the given build distribution version.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the build distribution is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of test builds to return for a build distribution version per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"version": {
"description": "The version of the build distribution. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"version"
],
"type": "object"
},
"name": "list_build_distribution_version_test_builds"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Lists Build Distribution versions. Release Management offers a convenient, secure solution to distribute the builds of your mobile apps to testers without having to engage with either TestFlight or Google Play. Once you have installable artifacts, Bitrise can generate both private and public install links that testers or other stakeholders can use to install the app on real devices via over-the-air installation. Build distribution allows you to define tester groups that can receive notifications about installable artifacts. The email takes the notified testers to the test build page, from where they can install the app on their own device. Build distribution versions are the app versions available for testers.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the build distribution is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of build distribution versions returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_build_distribution_versions"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the workflows of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_build_workflows"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all the builds of a specified Bitrise app or all accessible builds.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"branch": {
"description": "Filter builds by branch",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first build in the response",
"type": "string"
},
"sort_by": {
"default": "created_at",
"description": "Order of builds: created_at (default), running_first",
"enum": [
"created_at",
"running_first"
],
"type": "string"
},
"status": {
"description": "Filter builds by status (0: not finished, 1: successful, 2: failed, 3: aborted, 4: in-progress)",
"enum": [
"0",
"1",
"2",
"3",
"4"
],
"type": "number"
},
"workflow": {
"description": "Filter builds by workflow",
"type": "string"
}
},
"type": "object"
},
"name": "list_builds"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the key-value cache items belonging to an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"limit": {
"default": 100,
"description": "Max number of elements per page (default: 100)",
"type": "number"
},
"next": {
"description": "Getting cache items created before the given parameter (RFC3339 time format)",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_cache_items"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List Release Management connected apps available for the authenticated account within a workspace.",
"inputSchema": {
"properties": {
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of connected apps returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"platform": {
"description": "Filters for a specific mobile platform for the list of connected apps. Available values are: 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"project_id": {
"description": "Specifies which Bitrise Project you want to get associated connected apps for",
"type": "string"
},
"search": {
"description": "Search by bundle ID (for ios), package name (for android), or app title (for both platforms). The filter is case-sensitive.",
"type": "string"
},
"workspace_slug": {
"description": "Identifier of the Bitrise workspace for the Release Management connected apps. This field is mandatory.",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "list_connected_apps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List group roles for an app",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"role_name": {
"description": "Name of the role",
"type": "string"
}
},
"required": [
"app_slug",
"role_name"
],
"type": "object"
},
"name": "list_group_roles"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List Release Management installable artifacts of a connected app available for the authenticated account.",
"inputSchema": {
"properties": {
"after_date": {
"description": "A date in ISO 8601 string format specifying the start of the interval when the installable artifact to be returned was created or uploaded. This value will be defaulted to 1 month ago if distribution_ready filter is not set or set to false.",
"type": "string"
},
"artifact_type": {
"description": "Filters for a specific artifact type or file extension for the list of installable artifacts. Available values are: 'aab' and 'apk' for android artifacts and 'ipa' for ios artifacts.",
"enum": [
"aab",
"apk",
"ipa"
],
"type": "string"
},
"before_date": {
"description": "A date in ISO 8601 string format specifying the end of the interval when the installable artifact to be returned was created or uploaded. This value will be defaulted to the current time if distribution_ready filter is not set or set to false.",
"type": "string"
},
"branch": {
"description": "Filters for the Bitrise CI branch of the installable artifact on which it has been generated on.",
"type": "string"
},
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifacts. This field is mandatory.",
"type": "string"
},
"distribution_ready": {
"description": "Filters for distribution ready installable artifacts. This means .apk and .ipa (with distribution type ad-hoc, development, or enterprise) installable artifacts.",
"type": "boolean"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of installable artifacts to be returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"platform": {
"description": "Filters for a specific mobile platform for the list of installable artifacts. Available values are: 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"search": {
"description": "Search by version, filename or build number (Bitrise CI). The filter is case-sensitive.",
"type": "string"
},
"source": {
"description": "Filters for the source of installable artifacts to be returned. Available values are 'api' and 'ci'.",
"enum": [
"api",
"ci"
],
"type": "string"
},
"store_signed": {
"description": "Filters for store ready installable artifacts. This means signed .aab and .ipa (with distribution type app-store) installable artifacts.",
"type": "boolean"
},
"version": {
"description": "Filters for the version this installable artifact was created for. This field is required if the distribution_ready filter is set to true.",
"type": "string"
},
"workflow": {
"description": "Filters for the Bitrise CI workflow of the installable artifact it has been generated by.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_installable_artifacts"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the outgoing webhooks of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first outgoing webhook in the response",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_outgoing_webhooks"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all pipelines and standalone builds of an app.",
"inputSchema": {
"properties": {
"after": {
"description": "List pipelines/standalone builds run after a given date (RFC3339 time format)",
"type": "string"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"before": {
"description": "List pipelines/standalone builds run before a given date (RFC3339 time format)",
"type": "string"
},
"branch": {
"description": "Filter by the branch which was built",
"type": "string"
},
"build_number": {
"description": "Filter by the pipeline/standalone build number",
"type": "number"
},
"commit_message": {
"description": "Filter by the commit message of the pipeline/standalone build",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 10)",
"type": "number"
},
"pipeline": {
"description": "Filter by the name of the pipeline",
"type": "string"
},
"status": {
"description": "Filter by the status of the pipeline/standalone build",
"enum": [
"on_hold",
"running",
"succeeded",
"failed",
"aborted",
"succeeded_with_abort"
],
"type": "string"
},
"trigger_event_type": {
"description": "Filter by the event that triggered the pipeline/standalone build",
"enum": [
"push",
"pull-request",
"tag"
],
"type": "string"
},
"workflow": {
"description": "Filter by the name of the workflow used for the pipeline/standalone build",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_pipelines"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of tester groups related to a specific Release Management connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of tester groups to return related to a specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_tester_groups"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the workspaces the user has access to",
"inputSchema": {
"type": "object"
},
"name": "list_workspaces"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get user info for the currently authenticated user account",
"inputSchema": {
"type": "object"
},
"name": "me"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Notifies a tester group about a new test build.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group whose members will be notified about the test build.",
"type": "string"
},
"test_build_id": {
"description": "The unique identifier of the test build what will be sent in the notification of the tester group.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id",
"test_build_id"
],
"type": "object"
},
"name": "notify_tester_group"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Rebuild a pipeline.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"partial": {
"default": false,
"description": "Whether to rebuild only unsuccessful workflows and their dependents",
"type": "boolean"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
},
"triggered_by": {
"description": "Who triggered the rebuild",
"type": "string"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "rebuild_pipeline"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a new app to Bitrise. After this app should be finished on order to be registered completely on Bitrise (via the finish_bitrise_app tool). Before doing this step, try understanding the repository details from the repository URL. This is a two-step process. First, you register the app with the Bitrise API, and then you finish the setup. The first step creates a new app in Bitrise, and the second step configures it with the necessary settings. If the user has multiple workspaces, always prompt the user to choose which one you should use. Don't prompt the user for finishing the app, just do it automatically.",
"inputSchema": {
"properties": {
"default_branch_name": {
"default": "master",
"description": "The default branch of the repository. Verify this branch exists in the remote repository.",
"type": "string"
},
"is_public": {
"description": "Whether the app's builds visibility is \"public\"",
"type": "boolean"
},
"manual_approval_enabled": {
"default": true,
"description": "Toggles whether manual approval should be enabled for the app's builds",
"type": "boolean"
},
"organization_slug": {
"description": "The organization (aka workspace) the app to add to",
"type": "string"
},
"provider": {
"default": "github",
"description": "The git provider of the repository",
"enum": [
"bitbucket",
"bitbucket-server",
"custom",
"github",
"github-app",
"github-self-hosted",
"gitlab",
"gitlab-self-hosted"
],
"type": "string"
},
"repo_url": {
"description": "Repository URL",
"type": "string"
},
"title": {
"description": "The title of the application (if not specified, will use the git repository's name)",
"type": "string"
}
},
"required": [
"repo_url",
"is_public",
"organization_slug"
],
"type": "object"
},
"name": "register_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add an SSH-key to a specific app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"auth_ssh_private_key": {
"description": "Private SSH key",
"type": "string"
},
"auth_ssh_public_key": {
"description": "Public SSH key",
"type": "string"
},
"is_register_key_into_provider_service": {
"description": "Register the key in the provider service",
"type": "boolean"
}
},
"required": [
"app_slug",
"auth_ssh_private_key",
"auth_ssh_public_key"
],
"type": "object"
},
"name": "register_ssh_key"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Register an incoming webhook for a specific application.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "register_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Replace group roles for an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"group_slugs": {
"description": "List of group slugs",
"items": {
"type": "string"
},
"type": "array"
},
"role_name": {
"description": "Name of the role",
"type": "string"
}
},
"required": [
"app_slug",
"role_name",
"group_slugs"
],
"type": "object"
},
"name": "replace_group_roles"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Changes whether public install page should be available for the installable artifact or not.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"installable_artifact_id": {
"description": "The uuidv4 identifier for the installable artifact. This field is mandatory.",
"type": "string"
},
"with_public_page": {
"description": "Boolean flag for enabling/disabling public install page for the installable artifact. This field is mandatory.",
"type": "boolean"
}
},
"required": [
"connected_app_id",
"installable_artifact_id",
"with_public_page"
],
"type": "object"
},
"name": "set_installable_artifact_public_install_page"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List inputs of a step with their defaults, allowed values etc.",
"inputSchema": {
"properties": {
"step_ref": {
"description": "Step reference formatted as `step_lib_source::step_id@version`. `step_id` and an exact `version` are required, `step_lib_source` is only necessary for custom step sources.",
"type": "string"
}
},
"required": [
"step_ref"
],
"type": "object"
},
"name": "step_inputs"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Find steps for building workflows or step bundles in a Bitrise YML config file. Finds steps based on name, description, tags or maintainers.",
"inputSchema": {
"properties": {
"categories": {
"description": "Categories to filter steps.",
"items": {
"enum": [
"build",
"code-sign",
"test",
"deploy",
"notification",
"access-control",
"artifact-info",
"installer",
"dependency",
"utility"
],
"type": "string"
},
"type": "array"
},
"maintainers": {
"description": "Filter steps by maintainers. Use `bitrise` to only look for official steps.",
"items": {
"enum": [
"bitrise",
"verified",
"community"
],
"type": "string"
},
"type": "array"
},
"query": {
"description": "The phrase to search steps for like `clone`, `npm`, `deploy` etc.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "step_search"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Trigger a new build/pipeline for a specified Bitrise app",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"branch": {
"default": "main",
"description": "The branch to build",
"type": "string"
},
"commit_hash": {
"description": "The commit hash for the build",
"type": "string"
},
"commit_message": {
"description": "The commit message for the build",
"type": "string"
},
"environments": {
"description": "Custom environment variables for the build.",
"items": {
"properties": {
"is_expand": {
"description": "Whether to expand environment variable references in the value",
"type": "boolean"
},
"mapped_to": {
"description": "The name of the environment variable",
"type": "string"
},
"value": {
"description": "The value of the environment variable",
"type": "string"
}
},
"required": [
"mapped_to",
"value"
],
"type": "object"
},
"type": "array"
},
"pipeline_id": {
"description": "The pipeline to build",
"type": "string"
},
"workflow_id": {
"description": "The workflow to build",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "trigger_bitrise_build"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update an app. Only app_slug is required, add only fields you wish to update",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"default_branch": {
"description": "The new default branch for the application",
"type": "string"
},
"repository_url": {
"description": "The new repository URL for the application",
"type": "string"
},
"title": {
"description": "The new title of the application",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "update_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update a build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"is_public_page_enabled": {
"description": "Enable public page for the artifact",
"type": "boolean"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug",
"is_public_page_enabled"
],
"type": "object"
},
"name": "update_artifact"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update the Bitrise YML config stored on Bitrise. This has no effect if it is stored in the repository.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"bitrise_yml_as_json": {
"description": "The new Bitrise YML config file content to be updated. It must be a string. Important: these configs are large files, so get these by running: cat <filepath> via the Bash tool.",
"type": "string"
}
},
"required": [
"app_slug",
"bitrise_yml_as_json"
],
"type": "object"
},
"name": "update_bitrise_yml"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Updates a connected app.",
"inputSchema": {
"properties": {
"connect_to_store": {
"default": false,
"description": "If true, will check connected app validity against the Apple App Store or Google Play Store (dependent on the platform of your connected app). This means, that the already set or just given store_app_id will be validated against the Store, using the already set or just given store credential id.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier for your connected app.",
"type": "string"
},
"store_app_id": {
"description": "The store identifier for your app. You can change the previously set store_app_id to match the one in the App Store or Google Play depending on the app platform. This is especially useful if you want to connect your app with the store as the system will validate the given store_app_id against the Store. In case of iOS platform it is the bundle id. In case of Android platform it is the package name.",
"type": "string"
},
"store_credential_id": {
"description": "If you have credentials added on Bitrise, you can decide to select one for your app. In case of ios platform it will be an Apple API credential id. In case of android platform it will be a Google Service credential id.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "update_connected_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update an outgoing webhook for an app. Even if you do not want to change one of the parameters, you still have to provide that parameter as well: simply use its existing value.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"events": {
"description": "List of events to trigger the webhook",
"items": {
"type": "string"
},
"type": "array"
},
"headers": {
"description": "Headers to be sent with the webhook",
"properties": {},
"type": "object"
},
"url": {
"description": "URL of the webhook",
"type": "string"
},
"webhook_slug": {
"description": "Identifier of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"webhook_slug"
],
"type": "object"
},
"name": "update_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Updates the given tester group. The name and the auto notification setting can be updated optionally.",
"inputSchema": {
"properties": {
"auto_notify": {
"default": false,
"description": "If set to true it indicates the tester group will receive email notifications automatically from now on about new installable builds.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group to which testers will be added.",
"type": "string"
},
"name": {
"description": "The new name for the tester group. Must be unique in the scope of the related connected app.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "update_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Validate a Bitrise YML config file. Use this tool to verify any changes made in bitrise.yml.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Slug of a Bitrise app (as returned by the list_apps tool). Specifying this value allows for validating the YML against workspace-specific settings like available stacks, machine types, license pools etc.",
"type": "string"
},
"bitrise_yml": {
"description": "The Bitrise YML config file content to be validated. It must be a string. Important: these configs are large files, so get these by running: cat <filepath> via the Bash tool.",
"type": "string"
}
},
"required": [
"bitrise_yml"
],
"type": "object"
},
"name": "validate_bitrise_yml"
}
]
}
},
"url": "https://mcp.bitrise.io/"
},
"latency_ms": 110.19,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Abort a specific build.",
"inputSchema": {
"properties": {
"abort_reason": {
"description": "Reason for aborting the build",
"type": "string"
},
"abort_with_success": {
"default": false,
"description": "If set to true, the aborted build will be marked as successful",
"type": "boolean"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"skip_git_status_report": {
"default": false,
"description": "If set to true, skip sending git status report",
"type": "boolean"
},
"skip_notifications": {
"default": false,
"description": "If set to true, skip sending notifications",
"type": "boolean"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "abort_build"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Abort a pipeline.",
"inputSchema": {
"properties": {
"abort_reason": {
"description": "Reason for aborting the pipeline",
"type": "string"
},
"abort_with_success": {
"default": false,
"description": "If set to true, the aborted pipeline will be marked as successful",
"type": "boolean"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
},
"skip_notifications": {
"default": false,
"description": "If set to true, skip sending notifications",
"type": "boolean"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "abort_pipeline"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a member to a group.",
"inputSchema": {
"properties": {
"group_slug": {
"description": "Slug of the group",
"type": "string"
},
"user_slug": {
"description": "Slug of the user",
"type": "string"
}
},
"required": [
"group_slug",
"user_slug"
],
"type": "object"
},
"name": "add_member_to_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Adds testers to a tester group of a connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group to which testers will be added.",
"type": "string"
},
"user_slugs": {
"description": "The list of users identified by slugs that will be added to the tester group.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"connected_app_id",
"id",
"user_slugs"
],
"type": "object"
},
"name": "add_testers_to_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a new Release Management connected app to Bitrise.",
"inputSchema": {
"properties": {
"id": {
"description": "An uuidV4 identifier for your new connected app. If it is not given, one will be generated.",
"type": "string"
},
"manual_connection": {
"default": false,
"description": "If set to true it indicates a manual connection (bypassing using store api keys) and requires giving 'store_app_name' as well.",
"type": "boolean"
},
"platform": {
"description": "The mobile platform for the connected app. Available values are 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"project_id": {
"description": "Specifies which Bitrise Project you want to get the connected app to be associated with. If this field is not given a new project will be created alongside with the connected app.",
"type": "string"
},
"store_app_id": {
"description": "The app store identifier for the connected app. In case of 'ios' platform it is the bundle id from App Store Connect. In case of Android platform it is the package name.",
"type": "string"
},
"store_app_name": {
"description": "If you have no active app store API keys added on Bitrise, you can decide to add your app manually by giving the app's name as well while indicating manual connection.",
"type": "string"
},
"store_credential_id": {
"description": "If you have credentials added on Bitrise, you can decide to select one for your app. In case of ios platform it will be an Apple API credential id. In case of android platform it will be a Google Service credential id.",
"type": "string"
},
"workspace_slug": {
"description": "Identifier of the Bitrise workspace for the Release Management connected app. This field is mandatory.",
"type": "string"
}
},
"required": [
"platform",
"store_app_id",
"workspace_slug"
],
"type": "object"
},
"name": "create_connected_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Create an outgoing webhook for an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"events": {
"description": "List of events to trigger the webhook",
"items": {
"type": "string"
},
"type": "array"
},
"headers": {
"description": "Headers to be sent with the webhook",
"properties": {},
"type": "object"
},
"secret": {
"description": "Secret for webhook signature verification",
"type": "string"
},
"url": {
"description": "URL of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"events",
"url"
],
"type": "object"
},
"name": "create_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Creates a tester group for a Release Management connected app. Tester groups can be used to distribute installable artifacts to testers automatically. When a new installable artifact is available, the tester groups can either automatically or manually be notified via email. The notification email will contain a link to the installable artifact page for the artifact within Bitrise Release Management. A Release Management connected app can have multiple tester groups. Project team members of the connected app can be selected to be testers and added to the tester group. This endpoint has an elevated access level requirement. Only the owner of the related Bitrise Workspace, a workspace manager or the related project's admin can manage tester groups.",
"inputSchema": {
"properties": {
"auto_notify": {
"default": false,
"description": "If set to true it indicates that the tester group will receive notifications automatically.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"name": {
"description": "The name for the new tester group. Must be unique in the scope of the connected app.",
"type": "string"
}
},
"required": [
"connected_app_id",
"name"
],
"type": "object"
},
"name": "create_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Create a new group in a workspace.",
"inputSchema": {
"properties": {
"group_name": {
"description": "Name of the group",
"type": "string"
},
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug",
"group_name"
],
"type": "object"
},
"name": "create_workspace_group"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete all key-value cache items belonging to an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "delete_all_cache_items"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete an app from Bitrise. When deleting apps belonging to multiple workspaces always confirm that which workspaces' apps the user wants to delete.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "delete_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete a build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug"
],
"type": "object"
},
"name": "delete_artifact"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete a key-value cache item.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"cache_item_id": {
"description": "Key of the cache item",
"type": "string"
}
},
"required": [
"app_slug",
"cache_item_id"
],
"type": "object"
},
"name": "delete_cache_item"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete the outgoing webhook of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"webhook_slug": {
"description": "Identifier of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"webhook_slug"
],
"type": "object"
},
"name": "delete_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Finish the setup of a Bitrise app. If this is successful, a build can be triggered via trigger_bitrise_build. If you have access to the repository, decide the project type, the stack ID, and the config to use, based on https://stacks.bitrise.io/, and the config should be also based on the project type.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "The slug of the Bitrise app to finish setup for.",
"type": "string"
},
"config": {
"default": "other-config",
"description": "The configuration preset to use for the app.",
"enum": [
"default-android-config",
"default-android-config-kts",
"default-cordova-config",
"default-fastlane-android-config",
"default-fastlane-ios-config",
"flutter-config-test-android-2",
"flutter-config-test-both-0",
"flutter-config-test-ios-1",
"default-ionic-config",
"default-ios-config",
"default-java-gradle-config",
"default-java-maven-config",
"default-kotlin-multiplatform-config",
"default-kotlin-multiplatform-config-ios",
"default-kotlin-multiplatform-config-android",
"default-kotlin-multiplatform-config-android-ios",
"default-macos-config",
"default-node-js-npm-config",
"default-node-js-yarn-config",
"default-react-native-config",
"default-react-native-expo-config"
],
"type": "string"
},
"project_type": {
"default": "other",
"description": "The type of project",
"enum": [
"android",
"cordova",
"fastlane",
"flutter",
"ios",
"ionic",
"java",
"kotlin-multiplatform",
"macos",
"node-js",
"react-native",
"other"
],
"type": "string"
},
"stack_id": {
"default": "linux-docker-android-22.04",
"description": "The stack ID to use for the app.",
"type": "string"
}
},
"required": [
"app_slug",
"project_type",
"stack_id"
],
"type": "object"
},
"name": "finish_bitrise_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Generates a signed upload url valid for 1 hour for an installable artifact to be uploaded to Bitrise Release Management. The response will contain an url that can be used to upload an artifact to Bitrise Release Management using a simple curl request with the file data that should be uploaded. The necessary headers and http method will also be in the response. This artifact will need to be processed after upload to be usable. The status of processing can be checked by making another request to a different url giving back the processed status of an installable artifact.",
"inputSchema": {
"properties": {
"branch": {
"description": "Optionally you can add the name of the CI branch the installable artifact has been generated on.",
"type": "string"
},
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"file_name": {
"description": "The name of the installable artifact file (with extension) to be uploaded to Bitrise. This field is mandatory.",
"type": "string"
},
"file_size_bytes": {
"description": "The byte size of the installable artifact file to be uploaded.",
"type": "string"
},
"installable_artifact_id": {
"description": "An uuidv4 identifier generated on the client side for the installable artifact. This field is mandatory.",
"type": "string"
},
"with_public_page": {
"default": false,
"description": "Optionally, you can enable public install page for your artifact. This can only be enabled by Bitrise Project Admins, Bitrise Project Owners and Bitrise Workspace Admins. Changing this value without proper permissions will result in an error. The default value is false.",
"type": "boolean"
},
"workflow": {
"description": "Optionally you can add the name of the CI workflow this installable artifact has been generated by.",
"type": "string"
}
},
"required": [
"connected_app_id",
"installable_artifact_id",
"file_name",
"file_size_bytes"
],
"type": "object"
},
"name": "generate_installable_artifact_upload_url"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the details of a specific app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "get_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a specific build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug"
],
"type": "object"
},
"name": "get_artifact"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the current Bitrise YML config file of a specified Bitrise app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "get_bitrise_yml"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a specific build of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the bitrise.yml of a build.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_bitrise_yml"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the build log of a specified build of a Bitrise app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"build_slug": {
"description": "Identifier of the Bitrise build",
"type": "string"
},
"limit": {
"default": 2000,
"description": "The number of lines to read. Defaults to 2000. Set to a high value to read the entire log.",
"type": "number"
},
"offset": {
"default": 0,
"description": "The line number to start reading from. Defaults to 0. Set -1 to read from the end of the log. Failures are usually at the end of the log.",
"type": "number"
},
"step_uuid": {
"description": "UUID of the step to get the log for. If not provided, the full build log is returned. Always provide this value whenever possible to avoid large log responses and running out of the LLM context window.",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_log",
"outputSchema": {
"properties": {
"log_lines": {
"description": "The requested lines of the build log.",
"type": "string"
},
"next_offset": {
"description": "The offset to use to read the next portion of the log, if any.",
"type": "integer"
},
"total_lines": {
"description": "The total number of lines in the build log.",
"type": "integer"
}
},
"required": [
"log_lines",
"total_lines"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get step statuses of a specific build of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_steps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the download URL for a cache item.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"cache_item_id": {
"description": "Key of the cache item",
"type": "string"
}
},
"required": [
"app_slug",
"cache_item_id"
],
"type": "object"
},
"name": "get_cache_item_download_url"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a Release Management connected app for the authenticated account.",
"inputSchema": {
"properties": {
"id": {
"description": "Identifier of the Release Management connected app",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_connected_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gets the processing and upload status of an installable artifact. An artifact will need to be processed after upload to be usable. This endpoint helps understanding when an uploaded installable artifacts becomes usable for later purposes.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"installable_artifact_id": {
"description": "The uuidv4 identifier for the installable artifact. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"installable_artifact_id"
],
"type": "object"
},
"name": "get_installable_artifact_upload_and_proc_status"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a pipeline of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "get_pipeline"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gets a list of potential testers whom can be added as testers to a specific tester group. The list consists of Bitrise users having access to the related Release Management connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of potential testers to return having access to a specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"search": {
"description": "Searches for potential testers based on email or username using a case-insensitive approach.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "get_potential_testers"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back the details of the selected tester group.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "get_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of testers that has been associated with a tester group related to a specific connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of testers to be returned that have been added to a tester group related to the specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"tester_group_id": {
"description": "The uuidV4 identifier of a tester group. If given, only testers within this specific tester group will be returned.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "get_testers"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get details for one workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the groups in a workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace_groups"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the members of a workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace_members"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Invite new Bitrise users to a workspace.",
"inputSchema": {
"properties": {
"email": {
"description": "Email address of the user",
"type": "string"
},
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug",
"email"
],
"type": "object"
},
"name": "invite_member_to_workspace"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all apps for the currently authenticated user account",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first app in the response",
"type": "string"
},
"project_type": {
"description": "Filter apps by project type (e.g., 'ios', 'android')",
"type": "string"
},
"sort_by": {
"default": "last_build_at",
"description": "Order of the apps. If set, you should accept the response as sorted",
"enum": [
"last_build_at",
"created_at"
],
"type": "string"
},
"title": {
"description": "Filter apps by title",
"type": "string"
}
},
"type": "object"
},
"name": "list_apps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a list of all build artifacts.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first artifact in the response",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "list_artifacts"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List available stacks with their machine configurations and version information. When a workspace_slug is provided, returns stacks available for that workspace including any custom stacks. When omitted, returns globally available stacks.",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace. When provided, lists stacks available for that workspace (including custom stacks). When omitted, lists globally available stacks.",
"type": "string"
}
},
"type": "object"
},
"name": "list_available_stacks"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the branches with existing builds of an app's repository.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_branches"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of test builds for the given build distribution version.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the build distribution is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of test builds to return for a build distribution version per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"version": {
"description": "The version of the build distribution. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"version"
],
"type": "object"
},
"name": "list_build_distribution_version_test_builds"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Lists Build Distribution versions. Release Management offers a convenient, secure solution to distribute the builds of your mobile apps to testers without having to engage with either TestFlight or Google Play. Once you have installable artifacts, Bitrise can generate both private and public install links that testers or other stakeholders can use to install the app on real devices via over-the-air installation. Build distribution allows you to define tester groups that can receive notifications about installable artifacts. The email takes the notified testers to the test build page, from where they can install the app on their own device. Build distribution versions are the app versions available for testers.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the build distribution is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of build distribution versions returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_build_distribution_versions"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the workflows of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_build_workflows"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all the builds of a specified Bitrise app or all accessible builds.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"branch": {
"description": "Filter builds by branch",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first build in the response",
"type": "string"
},
"sort_by": {
"default": "created_at",
"description": "Order of builds: created_at (default), running_first",
"enum": [
"created_at",
"running_first"
],
"type": "string"
},
"status": {
"description": "Filter builds by status (0: not finished, 1: successful, 2: failed, 3: aborted, 4: in-progress)",
"enum": [
"0",
"1",
"2",
"3",
"4"
],
"type": "number"
},
"workflow": {
"description": "Filter builds by workflow",
"type": "string"
}
},
"type": "object"
},
"name": "list_builds"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the key-value cache items belonging to an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"limit": {
"default": 100,
"description": "Max number of elements per page (default: 100)",
"type": "number"
},
"next": {
"description": "Getting cache items created before the given parameter (RFC3339 time format)",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_cache_items"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List Release Management connected apps available for the authenticated account within a workspace.",
"inputSchema": {
"properties": {
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of connected apps returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"platform": {
"description": "Filters for a specific mobile platform for the list of connected apps. Available values are: 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"project_id": {
"description": "Specifies which Bitrise Project you want to get associated connected apps for",
"type": "string"
},
"search": {
"description": "Search by bundle ID (for ios), package name (for android), or app title (for both platforms). The filter is case-sensitive.",
"type": "string"
},
"workspace_slug": {
"description": "Identifier of the Bitrise workspace for the Release Management connected apps. This field is mandatory.",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "list_connected_apps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List group roles for an app",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"role_name": {
"description": "Name of the role",
"type": "string"
}
},
"required": [
"app_slug",
"role_name"
],
"type": "object"
},
"name": "list_group_roles"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List Release Management installable artifacts of a connected app available for the authenticated account.",
"inputSchema": {
"properties": {
"after_date": {
"description": "A date in ISO 8601 string format specifying the start of the interval when the installable artifact to be returned was created or uploaded. This value will be defaulted to 1 month ago if distribution_ready filter is not set or set to false.",
"type": "string"
},
"artifact_type": {
"description": "Filters for a specific artifact type or file extension for the list of installable artifacts. Available values are: 'aab' and 'apk' for android artifacts and 'ipa' for ios artifacts.",
"enum": [
"aab",
"apk",
"ipa"
],
"type": "string"
},
"before_date": {
"description": "A date in ISO 8601 string format specifying the end of the interval when the installable artifact to be returned was created or uploaded. This value will be defaulted to the current time if distribution_ready filter is not set or set to false.",
"type": "string"
},
"branch": {
"description": "Filters for the Bitrise CI branch of the installable artifact on which it has been generated on.",
"type": "string"
},
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifacts. This field is mandatory.",
"type": "string"
},
"distribution_ready": {
"description": "Filters for distribution ready installable artifacts. This means .apk and .ipa (with distribution type ad-hoc, development, or enterprise) installable artifacts.",
"type": "boolean"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of installable artifacts to be returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"platform": {
"description": "Filters for a specific mobile platform for the list of installable artifacts. Available values are: 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"search": {
"description": "Search by version, filename or build number (Bitrise CI). The filter is case-sensitive.",
"type": "string"
},
"source": {
"description": "Filters for the source of installable artifacts to be returned. Available values are 'api' and 'ci'.",
"enum": [
"api",
"ci"
],
"type": "string"
},
"store_signed": {
"description": "Filters for store ready installable artifacts. This means signed .aab and .ipa (with distribution type app-store) installable artifacts.",
"type": "boolean"
},
"version": {
"description": "Filters for the version this installable artifact was created for. This field is required if the distribution_ready filter is set to true.",
"type": "string"
},
"workflow": {
"description": "Filters for the Bitrise CI workflow of the installable artifact it has been generated by.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_installable_artifacts"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the outgoing webhooks of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first outgoing webhook in the response",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_outgoing_webhooks"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all pipelines and standalone builds of an app.",
"inputSchema": {
"properties": {
"after": {
"description": "List pipelines/standalone builds run after a given date (RFC3339 time format)",
"type": "string"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"before": {
"description": "List pipelines/standalone builds run before a given date (RFC3339 time format)",
"type": "string"
},
"branch": {
"description": "Filter by the branch which was built",
"type": "string"
},
"build_number": {
"description": "Filter by the pipeline/standalone build number",
"type": "number"
},
"commit_message": {
"description": "Filter by the commit message of the pipeline/standalone build",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 10)",
"type": "number"
},
"pipeline": {
"description": "Filter by the name of the pipeline",
"type": "string"
},
"status": {
"description": "Filter by the status of the pipeline/standalone build",
"enum": [
"on_hold",
"running",
"succeeded",
"failed",
"aborted",
"succeeded_with_abort"
],
"type": "string"
},
"trigger_event_type": {
"description": "Filter by the event that triggered the pipeline/standalone build",
"enum": [
"push",
"pull-request",
"tag"
],
"type": "string"
},
"workflow": {
"description": "Filter by the name of the workflow used for the pipeline/standalone build",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_pipelines"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of tester groups related to a specific Release Management connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of tester groups to return related to a specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_tester_groups"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the workspaces the user has access to",
"inputSchema": {
"type": "object"
},
"name": "list_workspaces"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get user info for the currently authenticated user account",
"inputSchema": {
"type": "object"
},
"name": "me"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Notifies a tester group about a new test build.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group whose members will be notified about the test build.",
"type": "string"
},
"test_build_id": {
"description": "The unique identifier of the test build what will be sent in the notification of the tester group.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id",
"test_build_id"
],
"type": "object"
},
"name": "notify_tester_group"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Rebuild a pipeline.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"partial": {
"default": false,
"description": "Whether to rebuild only unsuccessful workflows and their dependents",
"type": "boolean"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
},
"triggered_by": {
"description": "Who triggered the rebuild",
"type": "string"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "rebuild_pipeline"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a new app to Bitrise. After this app should be finished on order to be registered completely on Bitrise (via the finish_bitrise_app tool). Before doing this step, try understanding the repository details from the repository URL. This is a two-step process. First, you register the app with the Bitrise API, and then you finish the setup. The first step creates a new app in Bitrise, and the second step configures it with the necessary settings. If the user has multiple workspaces, always prompt the user to choose which one you should use. Don't prompt the user for finishing the app, just do it automatically.",
"inputSchema": {
"properties": {
"default_branch_name": {
"default": "master",
"description": "The default branch of the repository. Verify this branch exists in the remote repository.",
"type": "string"
},
"is_public": {
"description": "Whether the app's builds visibility is \"public\"",
"type": "boolean"
},
"manual_approval_enabled": {
"default": true,
"description": "Toggles whether manual approval should be enabled for the app's builds",
"type": "boolean"
},
"organization_slug": {
"description": "The organization (aka workspace) the app to add to",
"type": "string"
},
"provider": {
"default": "github",
"description": "The git provider of the repository",
"enum": [
"bitbucket",
"bitbucket-server",
"custom",
"github",
"github-app",
"github-self-hosted",
"gitlab",
"gitlab-self-hosted"
],
"type": "string"
},
"repo_url": {
"description": "Repository URL",
"type": "string"
},
"title": {
"description": "The title of the application (if not specified, will use the git repository's name)",
"type": "string"
}
},
"required": [
"repo_url",
"is_public",
"organization_slug"
],
"type": "object"
},
"name": "register_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add an SSH-key to a specific app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"auth_ssh_private_key": {
"description": "Private SSH key",
"type": "string"
},
"auth_ssh_public_key": {
"description": "Public SSH key",
"type": "string"
},
"is_register_key_into_provider_service": {
"description": "Register the key in the provider service",
"type": "boolean"
}
},
"required": [
"app_slug",
"auth_ssh_private_key",
"auth_ssh_public_key"
],
"type": "object"
},
"name": "register_ssh_key"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Register an incoming webhook for a specific application.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "register_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Replace group roles for an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"group_slugs": {
"description": "List of group slugs",
"items": {
"type": "string"
},
"type": "array"
},
"role_name": {
"description": "Name of the role",
"type": "string"
}
},
"required": [
"app_slug",
"role_name",
"group_slugs"
],
"type": "object"
},
"name": "replace_group_roles"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Changes whether public install page should be available for the installable artifact or not.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"installable_artifact_id": {
"description": "The uuidv4 identifier for the installable artifact. This field is mandatory.",
"type": "string"
},
"with_public_page": {
"description": "Boolean flag for enabling/disabling public install page for the installable artifact. This field is mandatory.",
"type": "boolean"
}
},
"required": [
"connected_app_id",
"installable_artifact_id",
"with_public_page"
],
"type": "object"
},
"name": "set_installable_artifact_public_install_page"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List inputs of a step with their defaults, allowed values etc.",
"inputSchema": {
"properties": {
"step_ref": {
"description": "Step reference formatted as `step_lib_source::step_id@version`. `step_id` and an exact `version` are required, `step_lib_source` is only necessary for custom step sources.",
"type": "string"
}
},
"required": [
"step_ref"
],
"type": "object"
},
"name": "step_inputs"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Find steps for building workflows or step bundles in a Bitrise YML config file. Finds steps based on name, description, tags or maintainers.",
"inputSchema": {
"properties": {
"categories": {
"description": "Categories to filter steps.",
"items": {
"enum": [
"build",
"code-sign",
"test",
"deploy",
"notification",
"access-control",
"artifact-info",
"installer",
"dependency",
"utility"
],
"type": "string"
},
"type": "array"
},
"maintainers": {
"description": "Filter steps by maintainers. Use `bitrise` to only look for official steps.",
"items": {
"enum": [
"bitrise",
"verified",
"community"
],
"type": "string"
},
"type": "array"
},
"query": {
"description": "The phrase to search steps for like `clone`, `npm`, `deploy` etc.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "step_search"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Trigger a new build/pipeline for a specified Bitrise app",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"branch": {
"default": "main",
"description": "The branch to build",
"type": "string"
},
"commit_hash": {
"description": "The commit hash for the build",
"type": "string"
},
"commit_message": {
"description": "The commit message for the build",
"type": "string"
},
"environments": {
"description": "Custom environment variables for the build.",
"items": {
"properties": {
"is_expand": {
"description": "Whether to expand environment variable references in the value",
"type": "boolean"
},
"mapped_to": {
"description": "The name of the environment variable",
"type": "string"
},
"value": {
"description": "The value of the environment variable",
"type": "string"
}
},
"required": [
"mapped_to",
"value"
],
"type": "object"
},
"type": "array"
},
"pipeline_id": {
"description": "The pipeline to build",
"type": "string"
},
"workflow_id": {
"description": "The workflow to build",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "trigger_bitrise_build"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update an app. Only app_slug is required, add only fields you wish to update",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"default_branch": {
"description": "The new default branch for the application",
"type": "string"
},
"repository_url": {
"description": "The new repository URL for the application",
"type": "string"
},
"title": {
"description": "The new title of the application",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "update_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update a build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"is_public_page_enabled": {
"description": "Enable public page for the artifact",
"type": "boolean"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug",
"is_public_page_enabled"
],
"type": "object"
},
"name": "update_artifact"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update the Bitrise YML config stored on Bitrise. This has no effect if it is stored in the repository.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"bitrise_yml_as_json": {
"description": "The new Bitrise YML config file content to be updated. It must be a string. Important: these configs are large files, so get these by running: cat <filepath> via the Bash tool.",
"type": "string"
}
},
"required": [
"app_slug",
"bitrise_yml_as_json"
],
"type": "object"
},
"name": "update_bitrise_yml"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Updates a connected app.",
"inputSchema": {
"properties": {
"connect_to_store": {
"default": false,
"description": "If true, will check connected app validity against the Apple App Store or Google Play Store (dependent on the platform of your connected app). This means, that the already set or just given store_app_id will be validated against the Store, using the already set or just given store credential id.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier for your connected app.",
"type": "string"
},
"store_app_id": {
"description": "The store identifier for your app. You can change the previously set store_app_id to match the one in the App Store or Google Play depending on the app platform. This is especially useful if you want to connect your app with the store as the system will validate the given store_app_id against the Store. In case of iOS platform it is the bundle id. In case of Android platform it is the package name.",
"type": "string"
},
"store_credential_id": {
"description": "If you have credentials added on Bitrise, you can decide to select one for your app. In case of ios platform it will be an Apple API credential id. In case of android platform it will be a Google Service credential id.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "update_connected_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update an outgoing webhook for an app. Even if you do not want to change one of the parameters, you still have to provide that parameter as well: simply use its existing value.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"events": {
"description": "List of events to trigger the webhook",
"items": {
"type": "string"
},
"type": "array"
},
"headers": {
"description": "Headers to be sent with the webhook",
"properties": {},
"type": "object"
},
"url": {
"description": "URL of the webhook",
"type": "string"
},
"webhook_slug": {
"description": "Identifier of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"webhook_slug"
],
"type": "object"
},
"name": "update_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Updates the given tester group. The name and the auto notification setting can be updated optionally.",
"inputSchema": {
"properties": {
"auto_notify": {
"default": false,
"description": "If set to true it indicates the tester group will receive email notifications automatically from now on about new installable builds.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group to which testers will be added.",
"type": "string"
},
"name": {
"description": "The new name for the tester group. Must be unique in the scope of the related connected app.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "update_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Validate a Bitrise YML config file. Use this tool to verify any changes made in bitrise.yml.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Slug of a Bitrise app (as returned by the list_apps tool). Specifying this value allows for validating the YML against workspace-specific settings like available stacks, machine types, license pools etc.",
"type": "string"
},
"bitrise_yml": {
"description": "The Bitrise YML config file content to be validated. It must be a string. Important: these configs are large files, so get these by running: cat <filepath> via the Bash tool.",
"type": "string"
}
},
"required": [
"bitrise_yml"
],
"type": "object"
},
"name": "validate_bitrise_yml"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
},
"latency_ms": 55.02,
"status": "error"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"logging",
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 200,
"probe_status": "missing"
}
},
"latency_ms": 48.3,
"status": "missing"
}
},
"failures": {
"oauth_authorization_server": {
"reason": "no_authorization_server"
},
"oauth_protected_resource": {
"error": "Client error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405",
"url": "https://mcp.bitrise.io/.well-known/oauth-protected-resource"
},
"openid_configuration": {
"reason": "no_authorization_server"
},
"probe_noise_resilience": {
"headers": {
"content-type": "text/plain; charset=utf-8",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"http_status": 405,
"url": "https://mcp.bitrise.io/robots.txt"
},
"server_card": {
"error": "Client error '405 Method Not Allowed' for url 'https://mcp.bitrise.io/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405",
"url": "https://mcp.bitrise.io/.well-known/mcp/server-card.json"
},
"transport_compliance_probe": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=31536000; includeSubDomains"
},
"bad_protocol_payload": {
"id": 410,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Abort a specific build.",
"inputSchema": {
"properties": {
"abort_reason": {
"description": "Reason for aborting the build",
"type": "string"
},
"abort_with_success": {
"default": false,
"description": "If set to true, the aborted build will be marked as successful",
"type": "boolean"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"skip_git_status_report": {
"default": false,
"description": "If set to true, skip sending git status report",
"type": "boolean"
},
"skip_notifications": {
"default": false,
"description": "If set to true, skip sending notifications",
"type": "boolean"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "abort_build"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Abort a pipeline.",
"inputSchema": {
"properties": {
"abort_reason": {
"description": "Reason for aborting the pipeline",
"type": "string"
},
"abort_with_success": {
"default": false,
"description": "If set to true, the aborted pipeline will be marked as successful",
"type": "boolean"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
},
"skip_notifications": {
"default": false,
"description": "If set to true, skip sending notifications",
"type": "boolean"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "abort_pipeline"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a member to a group.",
"inputSchema": {
"properties": {
"group_slug": {
"description": "Slug of the group",
"type": "string"
},
"user_slug": {
"description": "Slug of the user",
"type": "string"
}
},
"required": [
"group_slug",
"user_slug"
],
"type": "object"
},
"name": "add_member_to_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Adds testers to a tester group of a connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group to which testers will be added.",
"type": "string"
},
"user_slugs": {
"description": "The list of users identified by slugs that will be added to the tester group.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"connected_app_id",
"id",
"user_slugs"
],
"type": "object"
},
"name": "add_testers_to_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a new Release Management connected app to Bitrise.",
"inputSchema": {
"properties": {
"id": {
"description": "An uuidV4 identifier for your new connected app. If it is not given, one will be generated.",
"type": "string"
},
"manual_connection": {
"default": false,
"description": "If set to true it indicates a manual connection (bypassing using store api keys) and requires giving 'store_app_name' as well.",
"type": "boolean"
},
"platform": {
"description": "The mobile platform for the connected app. Available values are 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"project_id": {
"description": "Specifies which Bitrise Project you want to get the connected app to be associated with. If this field is not given a new project will be created alongside with the connected app.",
"type": "string"
},
"store_app_id": {
"description": "The app store identifier for the connected app. In case of 'ios' platform it is the bundle id from App Store Connect. In case of Android platform it is the package name.",
"type": "string"
},
"store_app_name": {
"description": "If you have no active app store API keys added on Bitrise, you can decide to add your app manually by giving the app's name as well while indicating manual connection.",
"type": "string"
},
"store_credential_id": {
"description": "If you have credentials added on Bitrise, you can decide to select one for your app. In case of ios platform it will be an Apple API credential id. In case of android platform it will be a Google Service credential id.",
"type": "string"
},
"workspace_slug": {
"description": "Identifier of the Bitrise workspace for the Release Management connected app. This field is mandatory.",
"type": "string"
}
},
"required": [
"platform",
"store_app_id",
"workspace_slug"
],
"type": "object"
},
"name": "create_connected_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Create an outgoing webhook for an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"events": {
"description": "List of events to trigger the webhook",
"items": {
"type": "string"
},
"type": "array"
},
"headers": {
"description": "Headers to be sent with the webhook",
"properties": {},
"type": "object"
},
"secret": {
"description": "Secret for webhook signature verification",
"type": "string"
},
"url": {
"description": "URL of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"events",
"url"
],
"type": "object"
},
"name": "create_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Creates a tester group for a Release Management connected app. Tester groups can be used to distribute installable artifacts to testers automatically. When a new installable artifact is available, the tester groups can either automatically or manually be notified via email. The notification email will contain a link to the installable artifact page for the artifact within Bitrise Release Management. A Release Management connected app can have multiple tester groups. Project team members of the connected app can be selected to be testers and added to the tester group. This endpoint has an elevated access level requirement. Only the owner of the related Bitrise Workspace, a workspace manager or the related project's admin can manage tester groups.",
"inputSchema": {
"properties": {
"auto_notify": {
"default": false,
"description": "If set to true it indicates that the tester group will receive notifications automatically.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"name": {
"description": "The name for the new tester group. Must be unique in the scope of the connected app.",
"type": "string"
}
},
"required": [
"connected_app_id",
"name"
],
"type": "object"
},
"name": "create_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Create a new group in a workspace.",
"inputSchema": {
"properties": {
"group_name": {
"description": "Name of the group",
"type": "string"
},
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug",
"group_name"
],
"type": "object"
},
"name": "create_workspace_group"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete all key-value cache items belonging to an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "delete_all_cache_items"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete an app from Bitrise. When deleting apps belonging to multiple workspaces always confirm that which workspaces' apps the user wants to delete.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "delete_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete a build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug"
],
"type": "object"
},
"name": "delete_artifact"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete a key-value cache item.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"cache_item_id": {
"description": "Key of the cache item",
"type": "string"
}
},
"required": [
"app_slug",
"cache_item_id"
],
"type": "object"
},
"name": "delete_cache_item"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Delete the outgoing webhook of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"webhook_slug": {
"description": "Identifier of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"webhook_slug"
],
"type": "object"
},
"name": "delete_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Finish the setup of a Bitrise app. If this is successful, a build can be triggered via trigger_bitrise_build. If you have access to the repository, decide the project type, the stack ID, and the config to use, based on https://stacks.bitrise.io/, and the config should be also based on the project type.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "The slug of the Bitrise app to finish setup for.",
"type": "string"
},
"config": {
"default": "other-config",
"description": "The configuration preset to use for the app.",
"enum": [
"default-android-config",
"default-android-config-kts",
"default-cordova-config",
"default-fastlane-android-config",
"default-fastlane-ios-config",
"flutter-config-test-android-2",
"flutter-config-test-both-0",
"flutter-config-test-ios-1",
"default-ionic-config",
"default-ios-config",
"default-java-gradle-config",
"default-java-maven-config",
"default-kotlin-multiplatform-config",
"default-kotlin-multiplatform-config-ios",
"default-kotlin-multiplatform-config-android",
"default-kotlin-multiplatform-config-android-ios",
"default-macos-config",
"default-node-js-npm-config",
"default-node-js-yarn-config",
"default-react-native-config",
"default-react-native-expo-config"
],
"type": "string"
},
"project_type": {
"default": "other",
"description": "The type of project",
"enum": [
"android",
"cordova",
"fastlane",
"flutter",
"ios",
"ionic",
"java",
"kotlin-multiplatform",
"macos",
"node-js",
"react-native",
"other"
],
"type": "string"
},
"stack_id": {
"default": "linux-docker-android-22.04",
"description": "The stack ID to use for the app.",
"type": "string"
}
},
"required": [
"app_slug",
"project_type",
"stack_id"
],
"type": "object"
},
"name": "finish_bitrise_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Generates a signed upload url valid for 1 hour for an installable artifact to be uploaded to Bitrise Release Management. The response will contain an url that can be used to upload an artifact to Bitrise Release Management using a simple curl request with the file data that should be uploaded. The necessary headers and http method will also be in the response. This artifact will need to be processed after upload to be usable. The status of processing can be checked by making another request to a different url giving back the processed status of an installable artifact.",
"inputSchema": {
"properties": {
"branch": {
"description": "Optionally you can add the name of the CI branch the installable artifact has been generated on.",
"type": "string"
},
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"file_name": {
"description": "The name of the installable artifact file (with extension) to be uploaded to Bitrise. This field is mandatory.",
"type": "string"
},
"file_size_bytes": {
"description": "The byte size of the installable artifact file to be uploaded.",
"type": "string"
},
"installable_artifact_id": {
"description": "An uuidv4 identifier generated on the client side for the installable artifact. This field is mandatory.",
"type": "string"
},
"with_public_page": {
"default": false,
"description": "Optionally, you can enable public install page for your artifact. This can only be enabled by Bitrise Project Admins, Bitrise Project Owners and Bitrise Workspace Admins. Changing this value without proper permissions will result in an error. The default value is false.",
"type": "boolean"
},
"workflow": {
"description": "Optionally you can add the name of the CI workflow this installable artifact has been generated by.",
"type": "string"
}
},
"required": [
"connected_app_id",
"installable_artifact_id",
"file_name",
"file_size_bytes"
],
"type": "object"
},
"name": "generate_installable_artifact_upload_url"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the details of a specific app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "get_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a specific build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug"
],
"type": "object"
},
"name": "get_artifact"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the current Bitrise YML config file of a specified Bitrise app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "get_bitrise_yml"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a specific build of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the bitrise.yml of a build.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_bitrise_yml"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the build log of a specified build of a Bitrise app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"build_slug": {
"description": "Identifier of the Bitrise build",
"type": "string"
},
"limit": {
"default": 2000,
"description": "The number of lines to read. Defaults to 2000. Set to a high value to read the entire log.",
"type": "number"
},
"offset": {
"default": 0,
"description": "The line number to start reading from. Defaults to 0. Set -1 to read from the end of the log. Failures are usually at the end of the log.",
"type": "number"
},
"step_uuid": {
"description": "UUID of the step to get the log for. If not provided, the full build log is returned. Always provide this value whenever possible to avoid large log responses and running out of the LLM context window.",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_log",
"outputSchema": {
"properties": {
"log_lines": {
"description": "The requested lines of the build log.",
"type": "string"
},
"next_offset": {
"description": "The offset to use to read the next portion of the log, if any.",
"type": "integer"
},
"total_lines": {
"description": "The total number of lines in the build log.",
"type": "integer"
}
},
"required": [
"log_lines",
"total_lines"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get step statuses of a specific build of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "get_build_steps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the download URL for a cache item.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"cache_item_id": {
"description": "Key of the cache item",
"type": "string"
}
},
"required": [
"app_slug",
"cache_item_id"
],
"type": "object"
},
"name": "get_cache_item_download_url"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a Release Management connected app for the authenticated account.",
"inputSchema": {
"properties": {
"id": {
"description": "Identifier of the Release Management connected app",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_connected_app"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gets the processing and upload status of an installable artifact. An artifact will need to be processed after upload to be usable. This endpoint helps understanding when an uploaded installable artifacts becomes usable for later purposes.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"installable_artifact_id": {
"description": "The uuidv4 identifier for the installable artifact. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"installable_artifact_id"
],
"type": "object"
},
"name": "get_installable_artifact_upload_and_proc_status"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a pipeline of a given app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "get_pipeline"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gets a list of potential testers whom can be added as testers to a specific tester group. The list consists of Bitrise users having access to the related Release Management connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of potential testers to return having access to a specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"search": {
"description": "Searches for potential testers based on email or username using a case-insensitive approach.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "get_potential_testers"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back the details of the selected tester group.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "get_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of testers that has been associated with a tester group related to a specific connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of testers to be returned that have been added to a tester group related to the specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"tester_group_id": {
"description": "The uuidV4 identifier of a tester group. If given, only testers within this specific tester group will be returned.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "get_testers"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get details for one workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the groups in a workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace_groups"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get the members of a workspace",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "get_workspace_members"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Invite new Bitrise users to a workspace.",
"inputSchema": {
"properties": {
"email": {
"description": "Email address of the user",
"type": "string"
},
"workspace_slug": {
"description": "Slug of the Bitrise workspace",
"type": "string"
}
},
"required": [
"workspace_slug",
"email"
],
"type": "object"
},
"name": "invite_member_to_workspace"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all apps for the currently authenticated user account",
"inputSchema": {
"properties": {
"limit": {
"default": 50,
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first app in the response",
"type": "string"
},
"project_type": {
"description": "Filter apps by project type (e.g., 'ios', 'android')",
"type": "string"
},
"sort_by": {
"default": "last_build_at",
"description": "Order of the apps. If set, you should accept the response as sorted",
"enum": [
"last_build_at",
"created_at"
],
"type": "string"
},
"title": {
"description": "Filter apps by title",
"type": "string"
}
},
"type": "object"
},
"name": "list_apps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get a list of all build artifacts.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first artifact in the response",
"type": "string"
}
},
"required": [
"app_slug",
"build_slug"
],
"type": "object"
},
"name": "list_artifacts"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List available stacks with their machine configurations and version information. When a workspace_slug is provided, returns stacks available for that workspace including any custom stacks. When omitted, returns globally available stacks.",
"inputSchema": {
"properties": {
"workspace_slug": {
"description": "Slug of the Bitrise workspace. When provided, lists stacks available for that workspace (including custom stacks). When omitted, lists globally available stacks.",
"type": "string"
}
},
"type": "object"
},
"name": "list_available_stacks"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the branches with existing builds of an app's repository.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_branches"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of test builds for the given build distribution version.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the build distribution is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of test builds to return for a build distribution version per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"version": {
"description": "The version of the build distribution. This field is mandatory.",
"type": "string"
}
},
"required": [
"connected_app_id",
"version"
],
"type": "object"
},
"name": "list_build_distribution_version_test_builds"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Lists Build Distribution versions. Release Management offers a convenient, secure solution to distribute the builds of your mobile apps to testers without having to engage with either TestFlight or Google Play. Once you have installable artifacts, Bitrise can generate both private and public install links that testers or other stakeholders can use to install the app on real devices via over-the-air installation. Build distribution allows you to define tester groups that can receive notifications about installable artifacts. The email takes the notified testers to the test build page, from where they can install the app on their own device. Build distribution versions are the app versions available for testers.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the build distribution is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of build distribution versions returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_build_distribution_versions"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the workflows of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_build_workflows"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all the builds of a specified Bitrise app or all accessible builds.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"branch": {
"description": "Filter builds by branch",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first build in the response",
"type": "string"
},
"sort_by": {
"default": "created_at",
"description": "Order of builds: created_at (default), running_first",
"enum": [
"created_at",
"running_first"
],
"type": "string"
},
"status": {
"description": "Filter builds by status (0: not finished, 1: successful, 2: failed, 3: aborted, 4: in-progress)",
"enum": [
"0",
"1",
"2",
"3",
"4"
],
"type": "number"
},
"workflow": {
"description": "Filter builds by workflow",
"type": "string"
}
},
"type": "object"
},
"name": "list_builds"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the key-value cache items belonging to an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"limit": {
"default": 100,
"description": "Max number of elements per page (default: 100)",
"type": "number"
},
"next": {
"description": "Getting cache items created before the given parameter (RFC3339 time format)",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_cache_items"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List Release Management connected apps available for the authenticated account within a workspace.",
"inputSchema": {
"properties": {
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of connected apps returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"platform": {
"description": "Filters for a specific mobile platform for the list of connected apps. Available values are: 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"project_id": {
"description": "Specifies which Bitrise Project you want to get associated connected apps for",
"type": "string"
},
"search": {
"description": "Search by bundle ID (for ios), package name (for android), or app title (for both platforms). The filter is case-sensitive.",
"type": "string"
},
"workspace_slug": {
"description": "Identifier of the Bitrise workspace for the Release Management connected apps. This field is mandatory.",
"type": "string"
}
},
"required": [
"workspace_slug"
],
"type": "object"
},
"name": "list_connected_apps"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List group roles for an app",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"role_name": {
"description": "Name of the role",
"type": "string"
}
},
"required": [
"app_slug",
"role_name"
],
"type": "object"
},
"name": "list_group_roles"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List Release Management installable artifacts of a connected app available for the authenticated account.",
"inputSchema": {
"properties": {
"after_date": {
"description": "A date in ISO 8601 string format specifying the start of the interval when the installable artifact to be returned was created or uploaded. This value will be defaulted to 1 month ago if distribution_ready filter is not set or set to false.",
"type": "string"
},
"artifact_type": {
"description": "Filters for a specific artifact type or file extension for the list of installable artifacts. Available values are: 'aab' and 'apk' for android artifacts and 'ipa' for ios artifacts.",
"enum": [
"aab",
"apk",
"ipa"
],
"type": "string"
},
"before_date": {
"description": "A date in ISO 8601 string format specifying the end of the interval when the installable artifact to be returned was created or uploaded. This value will be defaulted to the current time if distribution_ready filter is not set or set to false.",
"type": "string"
},
"branch": {
"description": "Filters for the Bitrise CI branch of the installable artifact on which it has been generated on.",
"type": "string"
},
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifacts. This field is mandatory.",
"type": "string"
},
"distribution_ready": {
"description": "Filters for distribution ready installable artifacts. This means .apk and .ipa (with distribution type ad-hoc, development, or enterprise) installable artifacts.",
"type": "boolean"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of installable artifacts to be returned per page. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
},
"platform": {
"description": "Filters for a specific mobile platform for the list of installable artifacts. Available values are: 'ios' and 'android'.",
"enum": [
"ios",
"android"
],
"type": "string"
},
"search": {
"description": "Search by version, filename or build number (Bitrise CI). The filter is case-sensitive.",
"type": "string"
},
"source": {
"description": "Filters for the source of installable artifacts to be returned. Available values are 'api' and 'ci'.",
"enum": [
"api",
"ci"
],
"type": "string"
},
"store_signed": {
"description": "Filters for store ready installable artifacts. This means signed .aab and .ipa (with distribution type app-store) installable artifacts.",
"type": "boolean"
},
"version": {
"description": "Filters for the version this installable artifact was created for. This field is required if the distribution_ready filter is set to true.",
"type": "string"
},
"workflow": {
"description": "Filters for the Bitrise CI workflow of the installable artifact it has been generated by.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_installable_artifacts"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the outgoing webhooks of an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 50)",
"type": "number"
},
"next": {
"description": "Slug of the first outgoing webhook in the response",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_outgoing_webhooks"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List all pipelines and standalone builds of an app.",
"inputSchema": {
"properties": {
"after": {
"description": "List pipelines/standalone builds run after a given date (RFC3339 time format)",
"type": "string"
},
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"before": {
"description": "List pipelines/standalone builds run before a given date (RFC3339 time format)",
"type": "string"
},
"branch": {
"description": "Filter by the branch which was built",
"type": "string"
},
"build_number": {
"description": "Filter by the pipeline/standalone build number",
"type": "number"
},
"commit_message": {
"description": "Filter by the commit message of the pipeline/standalone build",
"type": "string"
},
"limit": {
"description": "Max number of elements per page (default: 10)",
"type": "number"
},
"pipeline": {
"description": "Filter by the name of the pipeline",
"type": "string"
},
"status": {
"description": "Filter by the status of the pipeline/standalone build",
"enum": [
"on_hold",
"running",
"succeeded",
"failed",
"aborted",
"succeeded_with_abort"
],
"type": "string"
},
"trigger_event_type": {
"description": "Filter by the event that triggered the pipeline/standalone build",
"enum": [
"push",
"pull-request",
"tag"
],
"type": "string"
},
"workflow": {
"description": "Filter by the name of the workflow used for the pipeline/standalone build",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "list_pipelines"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Gives back a list of tester groups related to a specific Release Management connected app.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the app the tester group is connected to. This field is mandatory.",
"type": "string"
},
"items_per_page": {
"default": 10,
"description": "Specifies the maximum number of tester groups to return related to a specific connected app. Default value is 10.",
"type": "number"
},
"page": {
"default": 1,
"description": "Specifies which page should be returned from the whole result set in a paginated scenario. Default value is 1.",
"type": "number"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "list_tester_groups"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List the workspaces the user has access to",
"inputSchema": {
"type": "object"
},
"name": "list_workspaces"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Get user info for the currently authenticated user account",
"inputSchema": {
"type": "object"
},
"name": "me"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Notifies a tester group about a new test build.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group whose members will be notified about the test build.",
"type": "string"
},
"test_build_id": {
"description": "The unique identifier of the test build what will be sent in the notification of the tester group.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id",
"test_build_id"
],
"type": "object"
},
"name": "notify_tester_group"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Rebuild a pipeline.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"partial": {
"default": false,
"description": "Whether to rebuild only unsuccessful workflows and their dependents",
"type": "boolean"
},
"pipeline_id": {
"description": "Identifier of the pipeline",
"type": "string"
},
"triggered_by": {
"description": "Who triggered the rebuild",
"type": "string"
}
},
"required": [
"app_slug",
"pipeline_id"
],
"type": "object"
},
"name": "rebuild_pipeline"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add a new app to Bitrise. After this app should be finished on order to be registered completely on Bitrise (via the finish_bitrise_app tool). Before doing this step, try understanding the repository details from the repository URL. This is a two-step process. First, you register the app with the Bitrise API, and then you finish the setup. The first step creates a new app in Bitrise, and the second step configures it with the necessary settings. If the user has multiple workspaces, always prompt the user to choose which one you should use. Don't prompt the user for finishing the app, just do it automatically.",
"inputSchema": {
"properties": {
"default_branch_name": {
"default": "master",
"description": "The default branch of the repository. Verify this branch exists in the remote repository.",
"type": "string"
},
"is_public": {
"description": "Whether the app's builds visibility is \"public\"",
"type": "boolean"
},
"manual_approval_enabled": {
"default": true,
"description": "Toggles whether manual approval should be enabled for the app's builds",
"type": "boolean"
},
"organization_slug": {
"description": "The organization (aka workspace) the app to add to",
"type": "string"
},
"provider": {
"default": "github",
"description": "The git provider of the repository",
"enum": [
"bitbucket",
"bitbucket-server",
"custom",
"github",
"github-app",
"github-self-hosted",
"gitlab",
"gitlab-self-hosted"
],
"type": "string"
},
"repo_url": {
"description": "Repository URL",
"type": "string"
},
"title": {
"description": "The title of the application (if not specified, will use the git repository's name)",
"type": "string"
}
},
"required": [
"repo_url",
"is_public",
"organization_slug"
],
"type": "object"
},
"name": "register_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Add an SSH-key to a specific app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"auth_ssh_private_key": {
"description": "Private SSH key",
"type": "string"
},
"auth_ssh_public_key": {
"description": "Public SSH key",
"type": "string"
},
"is_register_key_into_provider_service": {
"description": "Register the key in the provider service",
"type": "boolean"
}
},
"required": [
"app_slug",
"auth_ssh_private_key",
"auth_ssh_public_key"
],
"type": "object"
},
"name": "register_ssh_key"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Register an incoming webhook for a specific application.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "register_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Replace group roles for an app.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"group_slugs": {
"description": "List of group slugs",
"items": {
"type": "string"
},
"type": "array"
},
"role_name": {
"description": "Name of the role",
"type": "string"
}
},
"required": [
"app_slug",
"role_name",
"group_slugs"
],
"type": "object"
},
"name": "replace_group_roles"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Changes whether public install page should be available for the installable artifact or not.",
"inputSchema": {
"properties": {
"connected_app_id": {
"description": "Identifier of the Release Management connected app for the installable artifact. This field is mandatory.",
"type": "string"
},
"installable_artifact_id": {
"description": "The uuidv4 identifier for the installable artifact. This field is mandatory.",
"type": "string"
},
"with_public_page": {
"description": "Boolean flag for enabling/disabling public install page for the installable artifact. This field is mandatory.",
"type": "boolean"
}
},
"required": [
"connected_app_id",
"installable_artifact_id",
"with_public_page"
],
"type": "object"
},
"name": "set_installable_artifact_public_install_page"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "List inputs of a step with their defaults, allowed values etc.",
"inputSchema": {
"properties": {
"step_ref": {
"description": "Step reference formatted as `step_lib_source::step_id@version`. `step_id` and an exact `version` are required, `step_lib_source` is only necessary for custom step sources.",
"type": "string"
}
},
"required": [
"step_ref"
],
"type": "object"
},
"name": "step_inputs"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Find steps for building workflows or step bundles in a Bitrise YML config file. Finds steps based on name, description, tags or maintainers.",
"inputSchema": {
"properties": {
"categories": {
"description": "Categories to filter steps.",
"items": {
"enum": [
"build",
"code-sign",
"test",
"deploy",
"notification",
"access-control",
"artifact-info",
"installer",
"dependency",
"utility"
],
"type": "string"
},
"type": "array"
},
"maintainers": {
"description": "Filter steps by maintainers. Use `bitrise` to only look for official steps.",
"items": {
"enum": [
"bitrise",
"verified",
"community"
],
"type": "string"
},
"type": "array"
},
"query": {
"description": "The phrase to search steps for like `clone`, `npm`, `deploy` etc.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "step_search"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Trigger a new build/pipeline for a specified Bitrise app",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"branch": {
"default": "main",
"description": "The branch to build",
"type": "string"
},
"commit_hash": {
"description": "The commit hash for the build",
"type": "string"
},
"commit_message": {
"description": "The commit message for the build",
"type": "string"
},
"environments": {
"description": "Custom environment variables for the build.",
"items": {
"properties": {
"is_expand": {
"description": "Whether to expand environment variable references in the value",
"type": "boolean"
},
"mapped_to": {
"description": "The name of the environment variable",
"type": "string"
},
"value": {
"description": "The value of the environment variable",
"type": "string"
}
},
"required": [
"mapped_to",
"value"
],
"type": "object"
},
"type": "array"
},
"pipeline_id": {
"description": "The pipeline to build",
"type": "string"
},
"workflow_id": {
"description": "The workflow to build",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "trigger_bitrise_build"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update an app. Only app_slug is required, add only fields you wish to update",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"default_branch": {
"description": "The new default branch for the application",
"type": "string"
},
"repository_url": {
"description": "The new repository URL for the application",
"type": "string"
},
"title": {
"description": "The new title of the application",
"type": "string"
}
},
"required": [
"app_slug"
],
"type": "object"
},
"name": "update_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update a build artifact.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"artifact_slug": {
"description": "Identifier of the artifact",
"type": "string"
},
"build_slug": {
"description": "Identifier of the build",
"type": "string"
},
"is_public_page_enabled": {
"description": "Enable public page for the artifact",
"type": "boolean"
}
},
"required": [
"app_slug",
"build_slug",
"artifact_slug",
"is_public_page_enabled"
],
"type": "object"
},
"name": "update_artifact"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update the Bitrise YML config stored on Bitrise. This has no effect if it is stored in the repository.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app (e.g., \"d8db74e2675d54c4\" or \"8eb495d0-f653-4eed-910b-8d6b56cc0ec7\")",
"type": "string"
},
"bitrise_yml_as_json": {
"description": "The new Bitrise YML config file content to be updated. It must be a string. Important: these configs are large files, so get these by running: cat <filepath> via the Bash tool.",
"type": "string"
}
},
"required": [
"app_slug",
"bitrise_yml_as_json"
],
"type": "object"
},
"name": "update_bitrise_yml"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Updates a connected app.",
"inputSchema": {
"properties": {
"connect_to_store": {
"default": false,
"description": "If true, will check connected app validity against the Apple App Store or Google Play Store (dependent on the platform of your connected app). This means, that the already set or just given store_app_id will be validated against the Store, using the already set or just given store credential id.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier for your connected app.",
"type": "string"
},
"store_app_id": {
"description": "The store identifier for your app. You can change the previously set store_app_id to match the one in the App Store or Google Play depending on the app platform. This is especially useful if you want to connect your app with the store as the system will validate the given store_app_id against the Store. In case of iOS platform it is the bundle id. In case of Android platform it is the package name.",
"type": "string"
},
"store_credential_id": {
"description": "If you have credentials added on Bitrise, you can decide to select one for your app. In case of ios platform it will be an Apple API credential id. In case of android platform it will be a Google Service credential id.",
"type": "string"
}
},
"required": [
"connected_app_id"
],
"type": "object"
},
"name": "update_connected_app"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Update an outgoing webhook for an app. Even if you do not want to change one of the parameters, you still have to provide that parameter as well: simply use its existing value.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Identifier of the Bitrise app",
"type": "string"
},
"events": {
"description": "List of events to trigger the webhook",
"items": {
"type": "string"
},
"type": "array"
},
"headers": {
"description": "Headers to be sent with the webhook",
"properties": {},
"type": "object"
},
"url": {
"description": "URL of the webhook",
"type": "string"
},
"webhook_slug": {
"description": "Identifier of the webhook",
"type": "string"
}
},
"required": [
"app_slug",
"webhook_slug"
],
"type": "object"
},
"name": "update_outgoing_webhook"
},
{
"annotations": {
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": true,
"readOnlyHint": false
},
"description": "Updates the given tester group. The name and the auto notification setting can be updated optionally.",
"inputSchema": {
"properties": {
"auto_notify": {
"default": false,
"description": "If set to true it indicates the tester group will receive email notifications automatically from now on about new installable builds.",
"type": "boolean"
},
"connected_app_id": {
"description": "The uuidV4 identifier of the related Release Management connected app.",
"type": "string"
},
"id": {
"description": "The uuidV4 identifier of the tester group to which testers will be added.",
"type": "string"
},
"name": {
"description": "The new name for the tester group. Must be unique in the scope of the related connected app.",
"type": "string"
}
},
"required": [
"connected_app_id",
"id"
],
"type": "object"
},
"name": "update_tester_group"
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true
},
"description": "Validate a Bitrise YML config file. Use this tool to verify any changes made in bitrise.yml.",
"inputSchema": {
"properties": {
"app_slug": {
"description": "Slug of a Bitrise app (as returned by the list_apps tool). Specifying this value allows for validating the YML against workspace-specific settings like available stacks, machine types, license pools etc.",
"type": "string"
},
"bitrise_yml": {
"description": "The Bitrise YML config file content to be validated. It must be a string. Important: these configs are large files, so get these by running: cat <filepath> via the Bash tool.",
"type": "string"
}
},
"required": [
"bitrise_yml"
],
"type": "object"
},
"name": "validate_bitrise_yml"
}
]
}
},
"bad_protocol_status_code": 200,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
}
},
"remote_url": "https://mcp.bitrise.io/",
"server_card_payload": null,
"server_identifier": "io.github.bitrise-io/bitrise-mcp"
}
Known versions
v2.4.1
Validation history
7 day score delta
+0.0
30 day score delta
+0.0
Recent healthy ratio
100%
Freshness
605.9h
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| Apr 09, 2026 12:54:03 AM UTC | Healthy | 74.8 | 1306.9 ms | 67 |
| Apr 08, 2026 12:50:51 AM UTC | Healthy | 74.8 | 1051.4 ms | 67 |
| Apr 07, 2026 12:45:59 AM UTC | Healthy | 74.8 | 971.6 ms | 67 |
| Apr 06, 2026 12:42:51 AM UTC | Healthy | 74.8 | 985.9 ms | 67 |
| Apr 05, 2026 12:39:57 AM UTC | Healthy | 74.8 | 938.1 ms | 67 |
| Apr 04, 2026 12:39:29 AM UTC | Healthy | 74.8 | 984.7 ms | 67 |
| Apr 03, 2026 12:32:36 AM UTC | Healthy | 74.8 | 923.6 ms | 67 |
| Apr 02, 2026 12:20:48 AM UTC | Healthy | 74.8 | 1111.4 ms | 67 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Apr 09, 2026 12:54:03 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Apr 08, 2026 12:50:51 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Apr 07, 2026 12:45:59 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Apr 06, 2026 12:42:51 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Apr 05, 2026 12:39:57 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Apr 04, 2026 12:39:29 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Apr 03, 2026 12:32:36 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Apr 02, 2026 12:20:48 AM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Mar 31, 2026 11:43:45 PM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Mar 30, 2026 11:35:06 PM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Mar 29, 2026 11:24:04 PM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
| Mar 28, 2026 10:03:46 PM UTC | Healthy | 74.8 | 2025-03-26 | public | 67 | 11 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Apr 09, 2026 12:54:02 AM UTC | Completed | Healthy | 1306.9 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 08, 2026 12:50:50 AM UTC | Completed | Healthy | 1051.4 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 07, 2026 12:45:58 AM UTC | Completed | Healthy | 971.6 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 06, 2026 12:42:50 AM UTC | Completed | Healthy | 985.9 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 05, 2026 12:39:56 AM UTC | Completed | Healthy | 938.1 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 04, 2026 12:39:28 AM UTC | Completed | Healthy | 984.7 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 03, 2026 12:32:35 AM UTC | Completed | Healthy | 923.6 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Apr 02, 2026 12:20:47 AM UTC | Completed | Healthy | 1111.4 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Mar 31, 2026 11:43:43 PM UTC | Completed | Healthy | 1023.7 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Mar 30, 2026 11:35:05 PM UTC | Completed | Healthy | 1192.2 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |