[ { "scope": "actions", "access": "read", "name": "actions_config_read", "description": "Read Actions secrets and variables.", "inputSchema": { "properties": { "method": { "enum": [ "list_repo_secrets", "list_org_secrets", "list_repo_variables", "get_repo_variable", "list_org_variables", "get_org_variable" ], "type": "string" }, "name": { "description": "for get methods", "type": "string" }, "org": { "description": "for org methods", "type": "string" }, "owner": { "description": "for repo methods", "type": "string" }, "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "per_page": { "default": 30, "description": "results per page", "minimum": 1, "type": "number" }, "repo": { "description": "for repo methods", "type": "string" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Read Actions secrets and variables", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "actions", "access": "read", "name": "actions_run_read", "description": "Read Actions workflows, runs, jobs, logs, and artifacts.", "inputSchema": { "properties": { "artifact_id": { "description": "for 'get_artifact'/'download_artifact'", "type": "number" }, "artifact_name": { "description": "name filter for 'list_artifacts'/'list_run_artifacts'", "type": "string" }, "job_id": { "description": "for 'get_job'/log methods", "type": "number" }, "max_bytes": { "default": 65536, "description": "max log bytes", "minimum": 1024, "type": "number" }, "method": { "enum": [ "list_workflows", "get_workflow", "list_runs", "get_run", "list_jobs", "list_run_jobs", "get_job", "get_job_log_preview", "download_job_log", "list_artifacts", "list_run_artifacts", "get_artifact", "download_artifact" ], "type": "string" }, "output_path": { "description": "for 'download_job_log'/'download_artifact'", "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "per_page": { "default": 30, "description": "results per page", "minimum": 1, "type": "number" }, "repo": { "description": "repo name", "type": "string" }, "run_id": { "description": "for 'get_run'/'list_run_jobs'/'list_run_artifacts'", "type": "number" }, "status": { "description": "filter for 'list_runs'/'list_jobs'", "type": "string" }, "tail_lines": { "default": 200, "description": "log tail lines", "minimum": 1, "type": "number" }, "workflow_id": { "description": "ID or filename (for 'get_workflow')", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Read Actions workflow, run, job, and artifact data", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "actions", "access": "write", "name": "actions_config_write", "description": "Write Actions secrets and variables: upsert, create, update, delete.", "inputSchema": { "properties": { "data": { "description": "secret value (upsert)", "type": "string" }, "description": { "type": "string" }, "method": { "enum": [ "upsert_repo_secret", "delete_repo_secret", "upsert_org_secret", "delete_org_secret", "create_repo_variable", "update_repo_variable", "delete_repo_variable", "create_org_variable", "update_org_variable", "delete_org_variable" ], "type": "string" }, "name": { "description": "secret or variable name", "type": "string" }, "org": { "description": "for org methods", "type": "string" }, "owner": { "description": "for repo methods", "type": "string" }, "repo": { "description": "for repo methods", "type": "string" }, "value": { "description": "variable value", "type": "string" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Manage Actions secrets and variables", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "actions", "access": "write", "name": "actions_run_write", "description": "Write Actions runs: dispatch, cancel, rerun.", "inputSchema": { "properties": { "inputs": { "description": "for 'dispatch_workflow'", "properties": {}, "type": "object" }, "method": { "enum": [ "dispatch_workflow", "cancel_run", "rerun_run" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "ref": { "description": "branch or tag (for 'dispatch_workflow')", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "run_id": { "description": "for 'cancel_run'/'rerun_run'", "type": "number" }, "workflow_id": { "description": "ID or filename (for 'dispatch_workflow')", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Trigger, cancel, or rerun Actions workflows", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "branch", "access": "read", "name": "list_branches", "description": "List all branches in a repository, paginated.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }, "annotations": { "title": "List repository branches", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "branch", "access": "write", "name": "create_branch", "description": "Create a new branch in a repository, optionally from a specific source branch (defaults to the repository's default branch).", "inputSchema": { "properties": { "branch": { "type": "string" }, "old_branch": { "description": "source branch (default: repo default)", "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo", "branch" ], "type": "object" }, "annotations": { "title": "Create a new branch", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "branch", "access": "write", "name": "delete_branch", "description": "Permanently delete a branch from a repository. This action is destructive and cannot be undone.", "inputSchema": { "properties": { "branch": { "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo", "branch" ], "type": "object" }, "annotations": { "title": "Delete a branch", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "commit", "access": "read", "name": "get_commit", "description": "Get details for a single commit in a repository by its SHA.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "sha": { "type": "string" } }, "required": [ "owner", "repo", "sha" ], "type": "object" }, "annotations": { "title": "Get commit details", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "commit", "access": "read", "name": "list_commits", "description": "List commits in a repository, optionally starting from a specific branch or SHA and filtered to commits touching a given file path.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "path": { "description": "only commits touching this path", "type": "string" }, "per_page": { "default": 30, "description": "results per page", "minimum": 1, "type": "number" }, "repo": { "description": "repo name", "type": "string" }, "sha": { "description": "starting SHA or branch", "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }, "annotations": { "title": "List repository commits", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "file", "access": "read", "name": "get_dir_contents", "description": "List the entries (files and subdirectories) in a repository directory at a given ref (branch, tag, or commit SHA).", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "path": { "type": "string" }, "ref": { "description": "branch, tag, or commit SHA", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo", "ref", "path" ], "type": "object" }, "annotations": { "title": "Get directory contents", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "file", "access": "read", "name": "get_file_contents", "description": "Get file content and metadata", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "path": { "type": "string" }, "ref": { "description": "branch, tag, or commit SHA", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "withLines": { "description": "return numbered lines", "type": "boolean" } }, "required": [ "owner", "repo", "ref", "path" ], "type": "object" }, "annotations": { "title": "Get file content", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "file", "access": "write", "name": "create_or_update_file", "description": "Create or update a file (provide sha to update an existing file).", "inputSchema": { "properties": { "branch_name": { "type": "string" }, "content": { "type": "string" }, "message": { "description": "commit message", "type": "string" }, "new_branch_name": { "description": "new branch (create only)", "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "path": { "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "sha": { "description": "existing file SHA (omit to create)", "type": "string" } }, "required": [ "owner", "repo", "path", "content", "message", "branch_name" ], "type": "object" }, "annotations": { "title": "Create or update a file", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "file", "access": "write", "name": "delete_file", "description": "Delete a file from a repository by committing the removal to a branch. Requires the file's current SHA and a commit message.", "inputSchema": { "properties": { "branch_name": { "type": "string" }, "message": { "description": "commit message", "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "path": { "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "sha": { "type": "string" } }, "required": [ "owner", "repo", "path", "message", "branch_name", "sha" ], "type": "object" }, "annotations": { "title": "Delete a file", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "issue", "access": "read", "name": "attachment_read", "description": "Read issue/comment attachments: list metadata, get metadata, or download content.", "inputSchema": { "properties": { "attachment_id": { "description": "required for get and for download when attachment_uuid is not provided", "type": "number" }, "attachment_uuid": { "description": "attachment UUID for direct download path lookup", "type": "string" }, "comment_id": { "description": "required for comment attachment list/get or comment-scoped metadata lookup", "type": "number" }, "issue_number": { "description": "required for issue attachment list/get or issue-scoped metadata lookup", "type": "number" }, "method": { "enum": [ "list", "get", "download" ], "type": "string" }, "output_path": { "description": "write the attachment to this exact path", "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Read issue or comment attachments", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "issue", "access": "read", "name": "issue_read", "description": "Read issue: details, comments, or labels.", "inputSchema": { "properties": { "issue_number": { "type": "number" }, "method": { "enum": [ "get", "get_comments", "get_labels" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "method", "owner", "repo", "issue_number" ], "type": "object" }, "annotations": { "title": "Read issue details", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "issue", "access": "read", "name": "list_issues", "description": "List issues in a repository (or pull requests, via the 'type' filter), filterable by state, labels, milestones, and update time range.", "inputSchema": { "properties": { "before": { "description": "updated before ISO 8601", "type": "string" }, "labels": { "description": "label name filter", "items": { "type": "string" }, "type": "array" }, "milestones": { "description": "milestone name or ID filter", "items": { "type": "string" }, "type": "array" }, "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "repo": { "description": "repo name", "type": "string" }, "since": { "description": "updated after ISO 8601", "type": "string" }, "state": { "default": "all", "type": "string" }, "type": { "description": "issues or pulls", "enum": [ "issues", "pulls" ], "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }, "annotations": { "title": "List repository issues", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "issue", "access": "write", "name": "issue_write", "description": "Write issues: create, update, manage comments and labels.", "inputSchema": { "properties": { "assignees": { "items": { "type": "string" }, "type": "array" }, "body": { "description": "required for 'create'/'add_comment'/'edit_comment'", "type": "string" }, "commentID": { "description": "for 'edit_comment'", "type": "number" }, "deadline": { "description": "ISO 8601", "type": "string" }, "issue_number": { "description": "required except for 'create'", "type": "number" }, "label_id": { "description": "for 'remove_label'", "type": "number" }, "labels": { "description": "label IDs", "items": { "type": "number" }, "type": "array" }, "method": { "enum": [ "create", "update", "add_comment", "edit_comment", "add_labels", "remove_label", "replace_labels", "clear_labels" ], "type": "string" }, "milestone": { "type": "number" }, "owner": { "description": "repo owner", "type": "string" }, "ref": { "description": "branch to associate", "type": "string" }, "remove_deadline": { "type": "boolean" }, "repo": { "description": "repo name", "type": "string" }, "state": { "enum": [ "open", "closed", "all" ], "type": "string" }, "title": { "description": "required for 'create'", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Create or update issues, comments, and labels", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "label", "access": "read", "name": "label_read", "description": "Read repo or org labels.", "inputSchema": { "properties": { "id": { "description": "label ID (for 'get_repo_label')", "type": "number" }, "method": { "enum": [ "list_repo_labels", "get_repo_label", "list_org_labels" ], "type": "string" }, "org": { "description": "for org methods", "type": "string" }, "owner": { "description": "for repo methods", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "repo": { "description": "for repo methods", "type": "string" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Read labels", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "label", "access": "write", "name": "label_write", "description": "Write labels (repo or org): create, edit, delete.", "inputSchema": { "properties": { "color": { "description": "hex (#RRGGBB); required for create", "type": "string" }, "description": { "type": "string" }, "exclusive": { "description": "exclusive (org only)", "type": "boolean" }, "id": { "description": "for edit/delete", "type": "number" }, "is_archived": { "description": "archived (repo only)", "type": "boolean" }, "method": { "enum": [ "create_repo_label", "edit_repo_label", "delete_repo_label", "create_org_label", "edit_org_label", "delete_org_label" ], "type": "string" }, "name": { "description": "required for create", "type": "string" }, "org": { "description": "for org methods", "type": "string" }, "owner": { "description": "for repo methods", "type": "string" }, "repo": { "description": "for repo methods", "type": "string" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Create, update, or delete labels", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "milestone", "access": "read", "name": "milestone_read", "description": "Read milestones: get one or list.", "inputSchema": { "properties": { "id": { "description": "for 'get'", "type": "number" }, "method": { "enum": [ "get", "list" ], "type": "string" }, "name": { "description": "name filter (for 'list')", "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "repo": { "description": "repo name", "type": "string" }, "state": { "default": "all", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Read milestones", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "milestone", "access": "write", "name": "milestone_write", "description": "Write milestones: create, update, delete.", "inputSchema": { "properties": { "description": { "type": "string" }, "due_on": { "description": "due date", "type": "string" }, "id": { "description": "for 'update'/'delete'", "type": "number" }, "method": { "enum": [ "create", "update", "edit", "delete" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "state": { "enum": [ "open", "closed" ], "type": "string" }, "title": { "description": "for 'create'", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Create, update, or delete milestones", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "notification", "access": "read", "name": "notification_read", "description": "Read notifications: list (optionally scoped to a repo) or get a thread by ID.", "inputSchema": { "properties": { "before": { "description": "updated before ISO 8601", "type": "string" }, "id": { "description": "thread ID (for 'get')", "type": "number" }, "method": { "enum": [ "list", "get" ], "type": "string" }, "owner": { "description": "scope 'list' to a repo", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "repo": { "description": "scope 'list' to a repo", "type": "string" }, "since": { "description": "updated after ISO 8601", "type": "string" }, "status": { "enum": [ "unread", "read", "pinned" ], "type": "string" }, "subject_type": { "enum": [ "Issue", "Pull", "Commit", "Repository" ], "type": "string" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Read notifications", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "notification", "access": "write", "name": "notification_write", "description": "Mark a notification or all notifications as read.", "inputSchema": { "properties": { "id": { "description": "thread ID (for 'mark_read')", "type": "number" }, "last_read_at": { "description": "ISO 8601; defaults to now", "type": "string" }, "method": { "enum": [ "mark_read", "mark_all_read" ], "type": "string" }, "owner": { "description": "scope 'mark_all_read' to a repo", "type": "string" }, "repo": { "description": "scope 'mark_all_read' to a repo", "type": "string" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Manage notifications", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "packages", "access": "read", "name": "package_read", "description": "Read package registry: list packages (one entry per version, filter via 'q'/'type'), list versions, or get a version.", "inputSchema": { "properties": { "method": { "enum": [ "list", "list_versions", "get" ], "type": "string" }, "name": { "description": "slashes auto-encoded; required except 'list'", "type": "string" }, "owner": { "description": "user or org", "type": "string" }, "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "per_page": { "default": 30, "description": "results per page", "minimum": 1, "type": "number" }, "q": { "description": "search query", "type": "string" }, "type": { "description": "container/npm/maven/pypi/cargo/generic; required except 'list'", "type": "string" }, "version": { "description": "for 'get'", "type": "string" } }, "required": [ "method", "owner" ], "type": "object" }, "annotations": { "title": "Read package registry", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "packages", "access": "write", "name": "package_write", "description": "Delete a package version (irreversible).", "inputSchema": { "properties": { "method": { "enum": [ "delete" ], "type": "string" }, "name": { "description": "slashes auto-encoded", "type": "string" }, "owner": { "description": "user or org", "type": "string" }, "type": { "description": "container/npm/maven/pypi/cargo/generic", "type": "string" }, "version": { "type": "string" } }, "required": [ "method", "owner", "type", "name", "version" ], "type": "object" }, "annotations": { "title": "Delete a package version", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "pull_request", "access": "read", "name": "list_pull_requests", "description": "List pull requests in a repository, filterable by state and milestone, with configurable sort order (e.g. recently updated, most commented).", "inputSchema": { "properties": { "milestone": { "type": "number" }, "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "repo": { "description": "repo name", "type": "string" }, "sort": { "default": "recentupdate", "enum": [ "oldest", "recentupdate", "leastupdate", "mostcomment", "leastcomment", "priority" ], "type": "string" }, "state": { "default": "all", "enum": [ "open", "closed", "all" ], "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }, "annotations": { "title": "List pull requests", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "pull_request", "access": "read", "name": "pull_request_read", "description": "Read pull request: details, diff, changed files, head commit status, reviews, review comments.", "inputSchema": { "properties": { "binary": { "description": "include binary diff", "type": "boolean" }, "method": { "enum": [ "get", "get_diff", "get_files", "get_status", "get_reviews", "get_review", "get_review_comments" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "pull_number": { "type": "number" }, "repo": { "description": "repo name", "type": "string" }, "review_id": { "description": "for 'get_review'; optional for 'get_review_comments', omit to list all", "type": "number" } }, "required": [ "method", "owner", "repo", "pull_number" ], "type": "object" }, "annotations": { "title": "Read pull request details", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "pull_request", "access": "write", "name": "pull_request_review_write", "description": "Write PR reviews: create, submit, delete, dismiss, reply to and resolve review comments.", "inputSchema": { "properties": { "body": { "description": "review body, or reply text for 'reply_comment'", "type": "string" }, "comment_id": { "description": "comment ID from 'get_review_comments'; resolve takes the thread's first", "type": "number" }, "comments": { "description": "inline comments (for 'create')", "items": { "properties": { "body": { "type": "string" }, "new_line_num": { "description": "new-file line (additions)", "type": "number" }, "old_line_num": { "description": "old-file line (deletions)", "type": "number" }, "path": { "type": "string" } }, "type": "object" }, "type": "array" }, "commit_id": { "description": "for 'create'", "type": "string" }, "message": { "description": "dismissal reason", "type": "string" }, "method": { "enum": [ "create", "submit", "delete", "dismiss", "reply_comment", "resolve_thread", "unresolve_thread" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "pull_number": { "description": "required except for 'resolve_thread'/'unresolve_thread'", "type": "number" }, "repo": { "description": "repo name", "type": "string" }, "review_id": { "description": "for 'submit'/'delete'/'dismiss'", "type": "number" }, "state": { "enum": [ "APPROVED", "REQUEST_CHANGES", "COMMENT", "PENDING" ], "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Write pull request reviews", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "pull_request", "access": "write", "name": "pull_request_write", "description": "Write pull requests: create, update, close, reopen, merge, update branch from base, manage reviewers.", "inputSchema": { "properties": { "allow_maintainer_edit": { "description": "for 'update'", "type": "boolean" }, "assignee": { "description": "for 'update'", "type": "string" }, "assignees": { "description": "for 'update'", "items": { "type": "string" }, "type": "array" }, "base": { "description": "base branch (required for 'create')", "type": "string" }, "body": { "description": "required for 'create'; optional for 'update'", "type": "string" }, "deadline": { "description": "ISO 8601", "type": "string" }, "delete_branch": { "description": "for 'merge'", "type": "boolean" }, "draft": { "description": "uses 'WIP: ' title prefix", "type": "boolean" }, "force_merge": { "description": "merge even if checks fail", "type": "boolean" }, "head": { "description": "head branch (required for 'create')", "type": "string" }, "head_commit_id": { "description": "expected head SHA for conflict detection", "type": "string" }, "labels": { "description": "label IDs", "items": { "type": "number" }, "type": "array" }, "merge_style": { "default": "merge", "description": "for 'merge'", "enum": [ "merge", "rebase", "rebase-merge", "squash", "fast-forward-only" ], "type": "string" }, "merge_when_checks_succeed": { "description": "for 'merge'", "type": "boolean" }, "message": { "description": "merge commit message or dismissal reason", "type": "string" }, "method": { "enum": [ "create", "update", "close", "reopen", "merge", "update_branch", "add_reviewers", "remove_reviewers" ], "type": "string" }, "milestone": { "description": "for 'update'", "type": "number" }, "owner": { "description": "repo owner", "type": "string" }, "pull_number": { "description": "required except for 'create'", "type": "number" }, "remove_deadline": { "description": "for 'update'", "type": "boolean" }, "repo": { "description": "repo name", "type": "string" }, "reviewers": { "description": "for 'add_reviewers'/'remove_reviewers'", "items": { "type": "string" }, "type": "array" }, "state": { "description": "for 'update'", "enum": [ "open", "closed" ], "type": "string" }, "team_reviewers": { "description": "for 'add_reviewers'/'remove_reviewers'", "items": { "type": "string" }, "type": "array" }, "title": { "description": "required for 'create'; optional for 'update'/'merge'", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Create, update, close, reopen, or merge pull requests", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "release", "access": "read", "name": "get_latest_release", "description": "Get the most recent published (non-draft) release in a repository.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }, "annotations": { "title": "Get latest release", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "release", "access": "read", "name": "get_release", "description": "Get a release by ID", "inputSchema": { "properties": { "id": { "type": "number" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo", "id" ], "type": "object" }, "annotations": { "title": "Get release details", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "release", "access": "read", "name": "list_releases", "description": "List releases in a repository, optionally filtered to drafts or pre-releases.", "inputSchema": { "properties": { "is_draft": { "type": "boolean" }, "is_pre_release": { "type": "boolean" }, "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "per_page": { "default": 20, "description": "results per page", "minimum": 1, "type": "number" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }, "annotations": { "title": "List releases", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "release", "access": "write", "name": "create_release", "description": "Create a new release in a repository from a tag, optionally marking it as a draft or pre-release.", "inputSchema": { "properties": { "body": { "type": "string" }, "is_draft": { "type": "boolean" }, "is_pre_release": { "type": "boolean" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "tag_name": { "type": "string" }, "target": { "description": "commitish", "type": "string" }, "title": { "type": "string" } }, "required": [ "owner", "repo", "tag_name", "target", "title" ], "type": "object" }, "annotations": { "title": "Create a release", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "release", "access": "write", "name": "delete_release", "description": "Delete a release from a repository by its numeric ID. This action is destructive and cannot be undone.", "inputSchema": { "properties": { "id": { "type": "number" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo", "id" ], "type": "object" }, "annotations": { "title": "Delete a release", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "repository", "access": "read", "name": "get_repository_tree", "description": "Get the file tree of a repository at a given ref (SHA, branch, or tag), optionally recursively.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "recursive": { "type": "boolean" }, "repo": { "description": "repo name", "type": "string" }, "tree_sha": { "description": "SHA, branch, or tag", "type": "string" } }, "required": [ "owner", "repo", "tree_sha" ], "type": "object" }, "annotations": { "title": "Get repository file tree", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "repository", "access": "read", "name": "list_my_repos", "description": "List repositories owned by the authenticated user.", "inputSchema": { "properties": { "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "per_page": { "default": 30, "description": "results per page", "minimum": 1, "type": "number" } }, "required": [], "type": "object" }, "annotations": { "title": "List my repositories", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "repository", "access": "read", "name": "list_org_repos", "description": "List repositories belonging to an organization.", "inputSchema": { "properties": { "org": { "type": "string" }, "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "per_page": { "default": 100, "description": "results per page", "minimum": 1, "type": "number" } }, "required": [ "org" ], "type": "object" }, "annotations": { "title": "List organization repositories", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "repository", "access": "write", "name": "create_repo", "description": "Create a new Git repository, optionally under an organization (defaults to the authenticated user's account), with options for visibility, template, license, .gitignore, and initial README.", "inputSchema": { "properties": { "auto_init": { "type": "boolean" }, "default_branch": { "type": "string" }, "description": { "type": "string" }, "gitignores": { "type": "string" }, "issue_labels": { "type": "string" }, "license": { "type": "string" }, "name": { "type": "string" }, "object_format_name": { "enum": [ "sha1", "sha256" ], "type": "string" }, "organization": { "description": "defaults to personal account", "type": "string" }, "private": { "type": "boolean" }, "readme": { "type": "string" }, "template": { "type": "boolean" }, "trust_model": { "enum": [ "default", "collaborator", "committer", "collaboratorcommitter" ], "type": "string" } }, "required": [ "name" ], "type": "object" }, "annotations": { "title": "Create a new repository", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "repository", "access": "write", "name": "fork_repo", "description": "Fork an existing repository into the authenticated user's account or a target organization, optionally under a new name.", "inputSchema": { "properties": { "name": { "description": "fork name", "type": "string" }, "organization": { "description": "target org", "type": "string" }, "repo": { "type": "string" }, "user": { "description": "owner of source repo", "type": "string" } }, "required": [ "user", "repo" ], "type": "object" }, "annotations": { "title": "Fork a repository", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "search", "access": "read", "name": "search_issues", "description": "Search issues and PRs across repositories", "inputSchema": { "properties": { "labels": { "description": "comma-separated", "type": "string" }, "owner": { "description": "filter by owner", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "query": { "type": "string" }, "state": { "enum": [ "open", "closed", "all" ], "type": "string" }, "type": { "enum": [ "issues", "pulls" ], "type": "string" } }, "required": [ "query" ], "type": "object" }, "annotations": { "title": "Search issues", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "search", "access": "read", "name": "search_org_teams", "description": "Search for teams within an organization by name, optionally including each team's description in the results.", "inputSchema": { "properties": { "includeDescription": { "type": "boolean" }, "org": { "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "query": { "type": "string" } }, "required": [ "org", "query" ], "type": "object" }, "annotations": { "title": "Search organization teams", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "search", "access": "read", "name": "search_repos", "description": "Search for repositories by keyword, with filters for topic/description matching, owner, visibility, archived status, and sort order.", "inputSchema": { "properties": { "isArchived": { "type": "boolean" }, "isPrivate": { "type": "boolean" }, "keywordInDescription": { "type": "boolean" }, "keywordIsTopic": { "type": "boolean" }, "order": { "type": "string" }, "ownerID": { "type": "number" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "query": { "type": "string" }, "sort": { "type": "string" } }, "required": [ "query" ], "type": "object" }, "annotations": { "title": "Search repositories", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "search", "access": "read", "name": "search_users", "description": "Search for Gitea users by username or full name.", "inputSchema": { "properties": { "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "query": { "type": "string" } }, "required": [ "query" ], "type": "object" }, "annotations": { "title": "Search users", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "tag", "access": "read", "name": "get_tag", "description": "Get details for a single tag in a repository by name.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "tag_name": { "type": "string" } }, "required": [ "owner", "repo", "tag_name" ], "type": "object" }, "annotations": { "title": "Get tag details", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "tag", "access": "read", "name": "list_tags", "description": "List all tags in a repository, paginated.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "page": { "default": 1, "description": "page", "minimum": 1, "type": "number" }, "per_page": { "default": 20, "description": "results per page", "minimum": 1, "type": "number" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "owner", "repo" ], "type": "object" }, "annotations": { "title": "List tags", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "tag", "access": "write", "name": "create_tag", "description": "Create a new Git tag in a repository at a target commit, branch, or existing tag, with an optional annotation message.", "inputSchema": { "properties": { "message": { "description": "tag message", "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "tag_name": { "type": "string" }, "target": { "description": "commitish", "type": "string" } }, "required": [ "owner", "repo", "tag_name" ], "type": "object" }, "annotations": { "title": "Create a tag", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "tag", "access": "write", "name": "delete_tag", "description": "Permanently delete a tag from a repository. This action is destructive and cannot be undone.", "inputSchema": { "properties": { "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "tag_name": { "type": "string" } }, "required": [ "owner", "repo", "tag_name" ], "type": "object" }, "annotations": { "title": "Delete a tag", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "timetracking", "access": "read", "name": "timetracking_read", "description": "Read time tracking: issue times, repo times, active stopwatches, your tracked times.", "inputSchema": { "properties": { "issue_number": { "description": "for 'list_issue_times'", "type": "number" }, "method": { "enum": [ "list_issue_times", "list_repo_times", "get_my_stopwatches", "get_my_times" ], "type": "string" }, "owner": { "description": "for list_* methods", "type": "string" }, "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" }, "repo": { "description": "for list_* methods", "type": "string" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Read tracked time", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "timetracking", "access": "write", "name": "timetracking_write", "description": "Write time tracking: stopwatches and entries.", "inputSchema": { "properties": { "id": { "description": "entry ID (for 'delete_time')", "type": "number" }, "issue_number": { "type": "number" }, "method": { "enum": [ "start_stopwatch", "stop_stopwatch", "delete_stopwatch", "add_time", "delete_time" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "time": { "description": "seconds (for 'add_time')", "type": "number" } }, "required": [ "method" ], "type": "object" }, "annotations": { "title": "Add or manage tracked time", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "user", "access": "read", "name": "get_me", "description": "Get current user", "inputSchema": { "properties": {}, "required": [], "type": "object" }, "annotations": { "title": "Get current user information", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "user", "access": "read", "name": "get_user_orgs", "description": "List current user's organizations", "inputSchema": { "properties": { "page": { "default": 1, "description": "page", "type": "number" }, "per_page": { "default": 30, "description": "results per page", "type": "number" } }, "required": [], "type": "object" }, "annotations": { "title": "Get user organizations", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "version", "access": "read", "name": "get_gitea_mcp_server_version", "description": "Get the running version of the Gitea MCP Server itself (not the Gitea instance it connects to).", "inputSchema": { "properties": {}, "required": [], "type": "object" }, "annotations": { "title": "Get server version", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "wiki", "access": "read", "name": "wiki_read", "description": "Read wiki: list pages, get content, revision history.", "inputSchema": { "properties": { "method": { "enum": [ "list", "get", "get_revisions" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "pageName": { "description": "for 'get'/'get_revisions'", "type": "string" }, "repo": { "description": "repo name", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Read wiki pages", "readOnlyHint": true, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } }, { "scope": "wiki", "access": "write", "name": "wiki_write", "description": "Write wiki pages: create, update, delete.", "inputSchema": { "properties": { "content": { "description": "for 'create'/'update'", "type": "string" }, "message": { "description": "commit message", "type": "string" }, "method": { "enum": [ "create", "update", "delete" ], "type": "string" }, "owner": { "description": "repo owner", "type": "string" }, "pageName": { "description": "for 'update'/'delete'", "type": "string" }, "repo": { "description": "repo name", "type": "string" }, "title": { "description": "for 'create'", "type": "string" } }, "required": [ "method", "owner", "repo" ], "type": "object" }, "annotations": { "title": "Create, update, or delete wiki pages", "readOnlyHint": false, "destructiveHint": true, "idempotentHint": false, "openWorldHint": true } } ]