MCP tool reference
The Codebahn MCP server exposes 102 tools across 9 groups. Each tool's name matches what your AI assistant calls directly.
User
get_my_user_info
Get current user info
No parameters.
Repo
create_repo
Create repo
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | Repo name | |
description | string | No | Description | |
owner | string | No | Owner/org name | |
private | boolean | No | Private repo | |
issue_labels | string | No | Issue label set | |
auto_init | boolean | No | Auto-initialize | |
template | boolean | No | Template repo | |
gitignores | string | No | Gitignore templates | |
license | string | No | License | |
readme | string | No | README content | |
default_branch | string | No | Default branch |
list_my_repos
List my repos
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 100 | Page size |
update_repo
Update repository settings (common subset): name, description, website, default_branch, private, archived, has_issues, has_pull_requests, has_releases, has_packages, has_actions, allow_merge_commits, allow_rebase, allow_squash_merge, default_merge_style, default_delete_branch_after_merge. All fields optional; omitted fields are left unchanged. Accepts the full Forgejo EditRepoOption surface beyond the common subset.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
name | string | No | New repository name | |
description | string | No | Description | |
website | string | No | Website URL | |
default_branch | string | No | Default branch | |
default_merge_style | string | No | Default merge style (merge, rebase, rebase-merge, squash, fast-forward-only) | |
mirror_interval | string | No | Mirror sync interval (e.g. 8h, 0 to disable) | |
external_tracker_url | string | No | External issue tracker URL | |
external_tracker_format | string | No | External issue tracker URL format | |
external_tracker_style | string | No | External issue tracker numbering style | |
external_tracker_regexp_pattern | string | No | External issue tracker regexp pattern | |
external_wiki_url | string | No | External wiki URL | |
private | boolean | No | Private repo | |
template | boolean | No | Template repo | |
archived | boolean | No | Archived (read-only) | |
has_issues | boolean | No | Enable issue tracker | |
has_wiki | boolean | No | Enable wiki | |
has_pull_requests | boolean | No | Enable pull requests | |
has_projects | boolean | No | Enable projects | |
has_releases | boolean | No | Enable releases | |
has_packages | boolean | No | Enable package registry | |
has_actions | boolean | No | Enable Actions CI | |
ignore_whitespace_conflicts | boolean | No | Ignore whitespace-only conflicts when merging | |
allow_merge_commits | boolean | No | Allow merge commits | |
allow_rebase | boolean | No | Allow rebase merging | |
allow_rebase_explicit | boolean | No | Allow rebase with explicit merge commit | |
allow_rebase_update | boolean | No | Allow rebase of PR head branch when behind base | |
allow_squash_merge | boolean | No | Allow squash merging | |
allow_fast_forward_only_merge | boolean | No | Allow fast-forward-only merging | |
default_delete_branch_after_merge | boolean | No | Delete head branch by default after merge | |
default_allow_maintainer_edit | boolean | No | Allow maintainer edits on PRs by default | |
enable_prune | boolean | No | Enable automatic pruning of obsolete mirror branches |
get_file_content
Get file content as plain text by default. Set with_metadata=true for binary files, or when you need the SHA/encoding/links from the full ContentsResponse (e.g. before a follow-up update_file call). Optional start_line and end_line request a 1-indexed inclusive line range; out-of-range values clamp to the file extent. Range parameters are ignored when with_metadata=true.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
ref | string | Yes | Ref (branch/tag/commit) | |
filePath | string | Yes | File path | |
with_metadata | boolean | No | Return the full ContentsResponse (sha, encoding, links, type, size, base64 content) instead of plain text. | |
start_line | number | No | Optional 1-indexed first line of the slice (inclusive). Defaults to 1 when only end_line is set. | |
end_line | number | No | Optional 1-indexed last line of the slice (inclusive). Defaults to the file's last line when only start_line is set. |
create_file
Create file
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
filePath | string | Yes | File path | |
content | string | Yes | Content (plain text, base64-encoded automatically) | |
message | string | Yes | Commit message | |
branch_name | string | Yes | Branch name | |
new_branch_name | string | No | New branch name |
update_file
Update file
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
filePath | string | Yes | File path | |
content | string | Yes | Content (plain text, base64-encoded automatically) | |
message | string | Yes | Commit message | |
branch_name | string | Yes | Branch name | |
sha | string | Yes | File SHA | |
new_branch_name | string | No | New branch name |
delete_fileDestructive
Delete file
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
filePath | string | Yes | File path | |
message | string | Yes | Commit message | |
branch_name | string | Yes | Branch name | |
sha | string | Yes | File SHA | |
new_branch_name | string | No | New branch name |
create_branch
Create branch
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
branch | string | Yes | Branch name | |
old_branch | string | Yes | Source branch |
delete_branchDestructive
Delete branch
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
branch | string | Yes | Branch name |
list_branches
List branches
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 100 | Page size |
list_repo_commits
List commits, newest first, starting from sha (a branch, tag or commit; defaults to the default branch). Set path to a file or directory to get only the commits that touched it: file-scoped history shows who changed a file recently and how often, which tells you how much scrutiny a change there deserves.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
path | string | No | Optional file or directory path. Only commits that touched it are returned. | |
sha | string | No | Branch, tag or commit SHA to start from (default: the default branch) | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 100 | Page size |
get_commit_diff
Get the unified diff of a single commit (its changes against its first parent). Pass an optional file_path to receive only the hunks for that file (match is exact on either the pre- or post-rename path). Pair with list_pr_commits to review a pull request commit by commit instead of only its squashed diff.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
sha | string | Yes | Commit SHA (full or abbreviated) | |
file_path | string | No | Optional. Return only the diff section for this file (matched on the diff --git boundary). Omit for the full diff. |
compare_refs
Compare two refs (branches, tags or commit SHAs) as base...head: the commits reachable from head but not from base (newest first), and the files those commits touched with their status. No pull request is needed, so use it to preview a PR before it exists, to check what actually landed between two releases or deploys, or to measure how far two branches have diverged. For the hunks themselves use get_commit_diff on the listed commits.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
base | string | Yes | Base ref (branch, tag or commit SHA) | |
head | string | Yes | Head ref (branch, tag or commit SHA); the result is what head has that base does not |
list_repo_contents
List the files and directories at a given path in a repository. Use path="" to list the repository root. Returns one level of entries at the specified path; for a full recursive file tree use get_repo_tree with recursive=true.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
ref | string | Yes | Ref (branch/tag/commit) | |
path | string | Yes | Directory path within the repository (empty string lists the repository root) |
get_repo_tree
Get the Git tree of a repository. With recursive=true, returns the complete file tree in a single response (subject to the server's tree-endpoint size cap); use this when you need all paths at once. With recursive=false (default), returns only the top-level entries of the tree.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
ref | string | Yes | Ref (branch/tag/commit) | |
recursive | boolean | No | Return the complete file tree in one response (subject to server cap); default false returns top-level entries only | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 1000 | Page size |
Issue
get_issue_by_index
Get issue by index
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | Issue index |
list_repo_issues
List repo issues
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
state | string | No | open | State (open|closed|all) |
type | string | No | Type (issues|pulls) | |
milestones | string | No | Milestone names/IDs (comma-separated) | |
labels | string | No | Labels (comma-separated) | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 20 | Page size |
create_issue
Create issue
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
title | string | Yes | Title | |
body | string | No | Content body |
create_issue_comment
Create issue comment
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | Issue/PR index | |
body | string | Yes | Content body |
update_issue
Update issue
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | Issue index | |
title | string | No | Title | |
body | string | No | Content body | |
assignee | string | No | Assignee username (convenience for a single user; equivalent to a one-element 'assignees') | |
assignees | string | No | Assignee usernames (comma-separated). Overrides 'assignee' if both are set. Pass an empty string to clear all assignees. | |
milestone | string | No | Milestone ID |
add_issue_labels
Add labels to issue
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | Issue index | |
labels | string | Yes | Labels to add (comma-separated) |
remove_issue_labelsDestructive
Remove labels from issue
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | Issue index | |
labels | string | Yes | Labels to remove (comma-separated label IDs) |
issue_state_change
Change issue state
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | Issue index | |
state | string | Yes | State (open|closed) |
list_issue_comments
List issue/PR comments. Returns all comments; the API does not support pagination for this endpoint.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | Issue/PR index | |
since | string | No | After (RFC 3339) | |
before | string | No | Before (RFC 3339) |
get_issue_comment
Get comment by ID
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
comment_id | number | Yes | Comment ID |
edit_issue_comment
Edit issue/PR comment
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
comment_id | number | Yes | Comment ID | |
body | string | Yes | Content body |
delete_issue_commentDestructive
Delete issue/PR comment
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
comment_id | number | Yes | Comment ID |
list_repo_milestones
List repository milestones
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 100 | Page size |
state | string | No | open | Milestone state (open|closed|all) |
list_repo_labels
List repository labels. When the owner is an organization and include_org_labels is true (default), org-level labels are merged into the response. Each label carries a scope field of "repo" or "org".
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 100 | Page size |
include_org_labels | boolean | No | true | Merge org-level labels into the response when the owner is an organization. Default true. |
create_label
Create a label on a repository or organization
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner or organization name | |
name | string | Yes | Label name | |
color | string | Yes | Label color hex code (e.g. #00aabb) | |
repo | string | No | Repository name. Omit to create an org-level label. | |
description | string | No | Label description | |
exclusive | boolean | No | false | Whether this label is exclusive (only one label with the same scope can be applied) |
edit_label
Edit a label on a repository or organization
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner or organization name | |
id | number | Yes | Label ID | |
repo | string | No | Repository name. Omit to edit an org-level label. | |
name | string | No | New label name | |
color | string | No | New label color hex code | |
description | string | No | New label description | |
exclusive | boolean | No | Whether this label is exclusive |
delete_labelDestructive
Delete a label from a repository or organization
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner or organization name | |
id | number | Yes | Label ID | |
repo | string | No | Repository name. Omit to delete an org-level label. |
PR
get_pull_request_by_index
Get pull request by index
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index |
list_repo_pull_requests
List repo pull requests
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
state | string | No | open | State (open|closed|all) |
sort | string | No | Sort (oldest|recentupdate|leastupdate|mostcomment) | |
milestone | string | No | Milestone ID | |
labels | string | No | Label IDs | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 20 | Page size |
create_pull_request
Create pull request
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
head | string | Yes | Head branch | |
base | string | Yes | Base branch | |
title | string | Yes | Title | |
body | string | No | Content body |
update_pull_request
Update pull request
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
title | string | No | Title | |
body | string | No | Content body | |
base | string | No | Base branch | |
assignee | string | No | Assignee username | |
milestone | string | No | Milestone ID |
list_pull_reviews
List reviews for a pull request
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 20 | Page size |
get_pull_review
Get a specific pull request review
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
id | number | Yes | Review ID |
list_pull_review_comments
List comments on a pull request review
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
id | number | Yes | Review ID |
merge_pull_request
Merge a pull request
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
style | string | Yes | Merge style (merge, rebase, rebase-merge, squash) | |
title | string | No | Merge commit title | |
message | string | No | Merge commit message | |
delete_branch_after_merge | boolean | No | Delete head branch after merge | |
force_merge | boolean | No | Force merge even if checks have not passed | |
merge_when_checks_succeed | boolean | No | Schedule merge for when all checks succeed |
list_pull_request_files
List changed files in a pull request
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 50 | Page size |
get_pull_request_diff
Get the unified diff of a pull request. Pass an optional file_path to receive only the hunks for that file (match is exact on either the pre- or post-rename path). Use list_pull_request_files first to discover the file paths in the PR.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
file_path | string | No | Optional. Return only the diff section for this file (matched on the diff --git boundary). Omit for the full diff. |
list_pr_commits
List the individual commits of a pull request, newest first, with SHA, message, author and date. Use it to review a PR commit by commit (pair with get_commit_diff), and to spot fixup commits, commits that do not belong, or changes introduced and then reverted within the PR, none of which are visible in the squashed diff.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 50 | Page size |
create_pull_review
Create a pull request review with optional inline comments
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
state | string | Yes | Review state (APPROVED, REQUEST_CHANGES, COMMENT) | |
body | string | No | Review body | |
comments | string | No | Inline comments as JSON array, e.g. [{"path":"file.go","body":"Fix this","new_position":10}] |
submit_pull_review
Submit a pending pull request review
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
id | number | Yes | Review ID | |
state | string | Yes | Review state (APPROVED, REQUEST_CHANGES, COMMENT) | |
body | string | No | Review body |
dismiss_pull_review
Dismiss a pull request review
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
id | number | Yes | Review ID | |
message | string | Yes | Dismissal message |
delete_pull_reviewDestructive
Delete a pending pull request review
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
id | number | Yes | Review ID |
create_review_requests
Request reviews from specific users or teams
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
reviewers | string | No | Reviewer usernames (comma-separated) | |
team_reviewers | string | No | Team reviewer names (comma-separated) |
delete_review_requestsDestructive
Cancel pending review requests
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
index | number | Yes | PR index | |
reviewers | string | No | Reviewer usernames (comma-separated) | |
team_reviewers | string | No | Team reviewer names (comma-separated) |
Search
search
Search across all types (code, repos, issues, users, organizations). Returns hit counts and a preview of results for each type. Use search_code or search_repos for paginated results.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | Yes | Search keyword |
search_code
Search code across all accessible repositories
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | Yes | Search keyword | |
language | string | No | Filter by programming language | |
filename | string | No | Filter by filename or path | |
mode | string | No | exact | Search mode: exact, union, fuzzy |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 30 | Page size |
search_repos
Search repositories by name or description
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | Yes | Search keyword | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 30 | Page size |
CI
dispatch_workflow
Trigger a workflow run. Returns the run ID.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
workflow | string | Yes | Workflow file (e.g. ci.yml) | |
ref | string | No | Git ref to build (branch/tag). Defaults to repo default branch. | |
inputs | string | No | Workflow inputs as JSON object, e.g. {"key": "value"} |
list_workflow_runs
List workflow runs for a repository
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
status | string | No | Filter by status (waiting, running, success, failure, cancelled) | |
event | string | No | Filter by event (push, pull_request, workflow_dispatch) | |
run_number | number | No | Filter by run number | |
head_sha | string | No | Filter by HEAD SHA | |
page | number | No | 1 | Page number (1-based) |
limit | number | No | 30 | Page size |
get_workflow_run
Get details of a specific workflow run
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
run_id | number | Yes | Run ID |
get_job_logs
Get logs for a CI build run, grouped by job
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
run_id | number | Yes | Workflow run ID | |
job | string | No | Filter logs to a specific job name | |
tail_lines | number | No | Max log lines per job (default 200, max 500) |
cancel_buildDestructive
Cancel a running CI build
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
run_id | number | Yes | Workflow run ID |
list_secrets
List repository Actions secret names (values are write-only and never returned)
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
set_secret
Create or update a repository Actions secret. Secrets are write-only: there is no get_secret tool because the value cannot be read back.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
secret_name | string | Yes | Secret name | |
data | string | Yes | Secret value. Write-only: there is no way to read it back once set. |
delete_secretDestructive
Delete a repository Actions secret
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
secret_name | string | Yes | Secret name |
list_variables
List repository Actions variables
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
get_variable
Get a repository Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
variable_name | string | Yes | Variable name |
create_variable
Create a repository Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
variable_name | string | Yes | Variable name | |
value | string | Yes | Variable value |
update_variable
Update a repository Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
variable_name | string | Yes | Variable name | |
value | string | Yes | Variable value |
delete_variableDestructive
Delete a repository Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
variable_name | string | Yes | Variable name |
list_org_secrets
List organization Actions secret names (values are write-only and never returned)
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
set_org_secret
Create or update an organization Actions secret. Secrets are write-only: there is no get_org_secret tool because the value cannot be read back.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
secret_name | string | Yes | Secret name | |
data | string | Yes | Secret value. Write-only: there is no way to read it back once set. |
delete_org_secretDestructive
Delete an organization Actions secret
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
secret_name | string | Yes | Secret name |
list_org_variables
List organization Actions variables
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
get_org_variable
Get an organization Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
variable_name | string | Yes | Variable name |
create_org_variable
Create an organization Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
variable_name | string | Yes | Variable name | |
value | string | Yes | Variable value |
update_org_variable
Update an organization Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
variable_name | string | Yes | Variable name | |
value | string | Yes | Variable value |
delete_org_variableDestructive
Delete an organization Actions variable
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
variable_name | string | Yes | Variable name |
Release
list_releases
List releases for a repository
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
create_release
Create a release
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
tag_name | string | Yes | Tag name for the release | |
target_commitish | string | No | Target branch or commit SHA (defaults to the repo default branch) | |
name | string | No | Release title | |
body | string | No | Release notes body | |
draft | boolean | No | Create as a draft release | |
prerelease | boolean | No | Mark as a prerelease |
get_release
Get a release by ID
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Release ID |
get_latest_release
Get the latest release
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name |
get_release_by_tag
Get a release by tag name
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
tag | string | Yes | Tag name |
update_release
Update a release
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Release ID | |
tag_name | string | No | Tag name for the release | |
target_commitish | string | No | Target branch or commit SHA | |
name | string | No | Release title | |
body | string | No | Release notes body | |
draft | boolean | No | Mark as a draft release | |
prerelease | boolean | No | Mark as a prerelease |
delete_releaseDestructive
Delete a release
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Release ID |
list_release_attachments
List attachments (assets) of a release
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Release ID |
delete_release_attachmentDestructive
Delete a release attachment (asset)
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Release ID | |
attachment_id | number | Yes | Attachment (asset) ID |
list_tags
List tags for a repository
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
create_tag
Create a tag
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
tag_name | string | Yes | Tag name | |
target | string | No | Target branch or commit SHA (defaults to the repo default branch) | |
message | string | No | Tag message |
delete_tagDestructive
Delete a tag
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
tag | string | Yes | Tag name |
Webhook
list_hooks
List webhooks for a repository
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
get_hook
Get a repository webhook by ID
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Webhook ID |
create_hook
Create a repository webhook
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
type | string | Yes | gitea | Webhook type (e.g. gitea, slack, discord) |
url | string | Yes | Target URL the webhook payload is delivered to | |
content_type | string | No | json | Payload content type (json or form) |
secret | string | No | Secret used to sign the payload | |
events | string | Yes | Events that trigger the webhook (comma-separated, e.g. push,pull_request) | |
active | boolean | No | Whether the webhook is active | |
branch_filter | string | No | Glob pattern restricting which branches trigger the webhook | |
authorization_header | string | No | Authorization header value sent with each delivery |
update_hook
Update a repository webhook
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Webhook ID | |
type | string | No | Webhook type (e.g. gitea, slack, discord) | |
url | string | No | Target URL the webhook payload is delivered to | |
content_type | string | No | Payload content type (json or form) | |
secret | string | No | Secret used to sign the payload | |
events | string | No | Events that trigger the webhook (comma-separated, e.g. push,pull_request) | |
active | boolean | No | Whether the webhook is active | |
branch_filter | string | No | Glob pattern restricting which branches trigger the webhook | |
authorization_header | string | No | Authorization header value sent with each delivery |
delete_hookDestructive
Delete a repository webhook
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Webhook ID |
test_hook
Send a test delivery to a repository webhook
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
id | number | Yes | Webhook ID |
list_org_hooks
List webhooks for an organization
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
page | number | Yes | 1 | Page number (1-based) |
limit | number | Yes | 30 | Page size |
get_org_hook
Get an organization webhook by ID
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
id | number | Yes | Webhook ID |
create_org_hook
Create an organization webhook
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
type | string | Yes | gitea | Webhook type (e.g. gitea, slack, discord) |
url | string | Yes | Target URL the webhook payload is delivered to | |
content_type | string | No | json | Payload content type (json or form) |
secret | string | No | Secret used to sign the payload | |
events | string | Yes | Events that trigger the webhook (comma-separated, e.g. push,pull_request) | |
active | boolean | No | Whether the webhook is active | |
branch_filter | string | No | Glob pattern restricting which branches trigger the webhook | |
authorization_header | string | No | Authorization header value sent with each delivery |
update_org_hook
Update an organization webhook
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
id | number | Yes | Webhook ID | |
type | string | No | Webhook type (e.g. gitea, slack, discord) | |
url | string | No | Target URL the webhook payload is delivered to | |
content_type | string | No | Payload content type (json or form) | |
secret | string | No | Secret used to sign the payload | |
events | string | No | Events that trigger the webhook (comma-separated, e.g. push,pull_request) | |
active | boolean | No | Whether the webhook is active | |
branch_filter | string | No | Glob pattern restricting which branches trigger the webhook | |
authorization_header | string | No | Authorization header value sent with each delivery |
delete_org_hookDestructive
Delete an organization webhook
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Organization name | |
id | number | Yes | Webhook ID |
Protection
list_branch_protections
List branch protection rules for a repository
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name |
get_branch_protection
Get a branch protection rule by name
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
name | string | Yes | Branch protection rule name (glob pattern) |
create_branch_protection
Create a branch protection rule
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
rule_name | string | Yes | Branch name glob pattern this rule protects | |
enable_push | boolean | No | Allow whitelisted users/teams to push directly | |
enable_push_whitelist | boolean | No | Restrict direct pushes to the push whitelist | |
push_whitelist_usernames | string | No | Usernames allowed to push directly (comma-separated) | |
push_whitelist_teams | string | No | Teams allowed to push directly (comma-separated) | |
push_whitelist_deploy_keys | boolean | No | Allow deploy keys to push directly | |
enable_merge_whitelist | boolean | No | Restrict merging to the merge whitelist | |
merge_whitelist_usernames | string | No | Usernames allowed to merge (comma-separated) | |
merge_whitelist_teams | string | No | Teams allowed to merge (comma-separated) | |
enable_status_check | boolean | No | Require status checks to pass before merging | |
status_check_contexts | string | No | Required status check contexts (comma-separated) | |
required_approvals | number | No | Minimum number of approving reviews required | |
enable_approvals_whitelist | boolean | No | Restrict qualifying approvals to the approvals whitelist | |
approvals_whitelist_username | string | No | Usernames whose approvals count (comma-separated) | |
approvals_whitelist_teams | string | No | Teams whose approvals count (comma-separated) | |
block_on_rejected_reviews | boolean | No | Block merging when there are pending rejected reviews | |
block_on_official_review_requests | boolean | No | Block merging when there are pending official review requests | |
block_on_outdated_branch | boolean | No | Block merging when the head branch is outdated | |
dismiss_stale_approvals | boolean | No | Dismiss approvals when new commits are pushed | |
require_signed_commits | boolean | No | Require commits to be signed | |
protected_file_patterns | string | No | Glob patterns of files that cannot be changed directly (semicolon-separated) | |
unprotected_file_patterns | string | No | Glob patterns of files exempt from protection (semicolon-separated) |
update_branch_protection
Update a branch protection rule
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
name | string | Yes | Branch protection rule name (glob pattern) | |
enable_push | boolean | No | Allow whitelisted users/teams to push directly | |
enable_push_whitelist | boolean | No | Restrict direct pushes to the push whitelist | |
push_whitelist_usernames | string | No | Usernames allowed to push directly (comma-separated) | |
push_whitelist_teams | string | No | Teams allowed to push directly (comma-separated) | |
push_whitelist_deploy_keys | boolean | No | Allow deploy keys to push directly | |
enable_merge_whitelist | boolean | No | Restrict merging to the merge whitelist | |
merge_whitelist_usernames | string | No | Usernames allowed to merge (comma-separated) | |
merge_whitelist_teams | string | No | Teams allowed to merge (comma-separated) | |
enable_status_check | boolean | No | Require status checks to pass before merging | |
status_check_contexts | string | No | Required status check contexts (comma-separated) | |
required_approvals | number | No | Minimum number of approving reviews required | |
enable_approvals_whitelist | boolean | No | Restrict qualifying approvals to the approvals whitelist | |
approvals_whitelist_username | string | No | Usernames whose approvals count (comma-separated) | |
approvals_whitelist_teams | string | No | Teams whose approvals count (comma-separated) | |
block_on_rejected_reviews | boolean | No | Block merging when there are pending rejected reviews | |
block_on_official_review_requests | boolean | No | Block merging when there are pending official review requests | |
block_on_outdated_branch | boolean | No | Block merging when the head branch is outdated | |
dismiss_stale_approvals | boolean | No | Dismiss approvals when new commits are pushed | |
require_signed_commits | boolean | No | Require commits to be signed | |
protected_file_patterns | string | No | Glob patterns of files that cannot be changed directly (semicolon-separated) | |
unprotected_file_patterns | string | No | Glob patterns of files exempt from protection (semicolon-separated) |
delete_branch_protectionDestructive
Delete a branch protection rule
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
owner | string | Yes | Repository owner | |
repo | string | Yes | Repository name | |
name | string | Yes | Branch protection rule name (glob pattern) |

