GitHub MCP Server for Cloudflare Workers
138 tools available in the GitHub MCP server. Each tool can be called by AI assistants to perform specific actions.
github_list_workflowsList workflows in a repository.
Args:
Returns: Paginated list of workflows.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_workflowGet a specific workflow.
Args:
Returns: Workflow details.
{
"type": "object",
"required": [
"owner",
"repo",
"workflow_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"workflow_id": {
"type": "string",
"description": "Workflow ID or filename (e.g., main.yml)"
}
}
}github_enable_workflowEnable a workflow.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"workflow_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"workflow_id": {
"type": "string",
"description": "Workflow ID or filename"
}
}
}github_disable_workflowDisable a workflow.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"workflow_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"workflow_id": {
"type": "string",
"description": "Workflow ID or filename"
}
}
}github_trigger_workflowTrigger a workflow dispatch event.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"workflow_id",
"ref"
],
"properties": {
"ref": {
"type": "string",
"description": "Git reference (branch or tag)"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"inputs": {
"type": "object",
"description": "Input parameters for the workflow"
},
"workflow_id": {
"type": "string",
"description": "Workflow ID or filename"
}
}
}github_list_workflow_runsList workflow runs in a repository.
Args:
Returns: Paginated list of workflow runs.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"actor": {
"type": "string",
"description": "Filter by actor"
},
"event": {
"type": "string",
"description": "Filter by event"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"branch": {
"type": "string",
"description": "Filter by branch"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"status": {
"enum": [
"queued",
"in_progress",
"completed",
"waiting",
"requested",
"pending"
],
"type": "string",
"description": "Filter by status"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"workflow_id": {
"type": "string",
"description": "Filter by workflow ID or filename"
}
}
}github_get_workflow_runGet a specific workflow run.
Args:
Returns: Workflow run details.
{
"type": "object",
"required": [
"owner",
"repo",
"run_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"run_id": {
"type": "integer",
"description": "Run ID"
}
}
}github_cancel_workflow_runCancel a workflow run.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"run_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"run_id": {
"type": "integer",
"description": "Run ID"
}
}
}github_rerun_workflowRe-run a workflow.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"run_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"run_id": {
"type": "integer",
"description": "Run ID"
}
}
}github_rerun_failed_jobsRe-run only failed jobs in a workflow run.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"run_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"run_id": {
"type": "integer",
"description": "Run ID"
}
}
}github_delete_workflow_runDelete a workflow run.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"run_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"run_id": {
"type": "integer",
"description": "Run ID"
}
}
}github_list_workflow_jobsList jobs in a workflow run.
Args:
Returns: Paginated list of jobs.
{
"type": "object",
"required": [
"owner",
"repo",
"run_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"run_id": {
"type": "integer",
"description": "Run ID"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_workflow_jobGet a specific workflow job.
Args:
Returns: Job details.
{
"type": "object",
"required": [
"owner",
"repo",
"job_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"job_id": {
"type": "integer",
"description": "Job ID"
}
}
}github_download_workflow_logsDownload logs for a workflow run.
Args:
Returns: Log download URL.
{
"type": "object",
"required": [
"owner",
"repo",
"run_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"run_id": {
"type": "integer",
"description": "Run ID"
}
}
}github_list_gistsList gists for the authenticated user.
Returns: Paginated list of gists.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_user_gistsList gists for a specific user.
Args:
Returns: Paginated list of gists.
{
"type": "object",
"required": [
"username"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"username": {
"type": "string",
"description": "GitHub username"
}
}
}github_list_public_gistsList public gists.
Returns: Paginated list of public gists.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_starred_gistsList gists starred by the authenticated user.
Returns: Paginated list of starred gists.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_gistGet a specific gist.
Args:
Returns: Gist details including file contents.
{
"type": "object",
"required": [
"gist_id"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"gist_id": {
"type": "string",
"description": "Gist ID"
}
}
}github_create_gistCreate a new gist.
Args:
Returns: Created gist.
{
"type": "object",
"required": [
"files"
],
"properties": {
"files": {
"type": "object",
"description": "Object mapping filenames to { content: string }"
},
"public": {
"type": "boolean",
"default": false,
"description": "Whether the gist is public"
},
"description": {
"type": "string",
"description": "Gist description"
}
}
}github_update_gistUpdate an existing gist.
Args:
Returns: Updated gist.
{
"type": "object",
"required": [
"gist_id"
],
"properties": {
"files": {
"type": "object",
"description": "Object mapping filenames to { content, filename } or null to delete"
},
"gist_id": {
"type": "string",
"description": "Gist ID"
},
"description": {
"type": "string",
"description": "New description"
}
}
}github_delete_gistDelete a gist.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"gist_id"
],
"properties": {
"gist_id": {
"type": "string",
"description": "Gist ID"
}
}
}github_star_gistStar a gist.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"gist_id"
],
"properties": {
"gist_id": {
"type": "string",
"description": "Gist ID"
}
}
}github_unstar_gistUnstar a gist.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"gist_id"
],
"properties": {
"gist_id": {
"type": "string",
"description": "Gist ID"
}
}
}github_is_gist_starredCheck if a gist is starred by the authenticated user.
Args:
Returns: Whether the gist is starred.
{
"type": "object",
"required": [
"gist_id"
],
"properties": {
"gist_id": {
"type": "string",
"description": "Gist ID"
}
}
}github_fork_gistFork a gist.
Args:
Returns: Forked gist.
{
"type": "object",
"required": [
"gist_id"
],
"properties": {
"gist_id": {
"type": "string",
"description": "Gist ID"
}
}
}github_update_issue_commentUpdate an issue comment.
Args:
Returns: Updated comment.
{
"type": "object",
"required": [
"owner",
"repo",
"comment_id",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "New comment body"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"comment_id": {
"type": "integer",
"description": "Comment ID"
}
}
}github_list_issuesList issues in a repository.
Args:
Returns: Paginated list of issues.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"sort": {
"enum": [
"created",
"updated",
"comments"
],
"type": "string",
"default": "created",
"description": "Sort field"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed",
"all"
],
"type": "string",
"default": "open",
"description": "Filter by state"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"labels": {
"type": "string",
"description": "Comma-separated list of labels"
},
"assignee": {
"type": "string",
"description": "Filter by assignee"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort direction"
}
}
}github_get_issueGet a specific issue.
Args:
Returns: Issue details.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"issue_number": {
"type": "integer",
"description": "Issue number"
}
}
}github_create_issueCreate a new issue.
Args:
Returns: Created issue.
{
"type": "object",
"required": [
"owner",
"repo",
"title"
],
"properties": {
"body": {
"type": "string",
"description": "Issue body"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"title": {
"type": "string",
"description": "Issue title"
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of label names"
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of assignee usernames"
},
"milestone": {
"type": "integer",
"description": "Milestone number"
}
}
}github_update_issueUpdate an existing issue.
Args:
Returns: Updated issue.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number"
],
"properties": {
"body": {
"type": "string",
"description": "New body"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "New state"
},
"title": {
"type": "string",
"description": "New title"
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "New list of labels"
},
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"description": "New list of assignees"
},
"milestone": {
"type": "integer",
"description": "New milestone number"
},
"issue_number": {
"type": "integer",
"description": "Issue number"
},
"state_reason": {
"enum": [
"completed",
"not_planned",
"reopened"
],
"type": "string",
"description": "State reason"
}
}
}github_lock_issueLock an issue conversation.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"lock_reason": {
"enum": [
"off-topic",
"too heated",
"resolved",
"spam"
],
"type": "string",
"description": "Reason for locking"
},
"issue_number": {
"type": "integer",
"description": "Issue number"
}
}
}github_unlock_issueUnlock an issue conversation.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"issue_number": {
"type": "integer",
"description": "Issue number"
}
}
}github_list_issue_commentsList comments on an issue.
Args:
Returns: Paginated list of comments.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"issue_number": {
"type": "integer",
"description": "Issue number"
}
}
}github_create_issue_commentCreate a comment on an issue.
Args:
Returns: Created comment.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "Comment body"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"issue_number": {
"type": "integer",
"description": "Issue number"
}
}
}github_delete_issue_commentDelete an issue comment.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"comment_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"comment_id": {
"type": "integer",
"description": "Comment ID"
}
}
}github_list_labelsList labels in a repository.
Args:
Returns: Paginated list of labels.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_create_labelCreate a label in a repository.
Args:
Returns: Created label.
{
"type": "object",
"required": [
"owner",
"repo",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Label name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"color": {
"type": "string",
"description": "Label color (hex, without #)"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"description": {
"type": "string",
"description": "Label description"
}
}
}github_update_labelUpdate a label in a repository.
Args:
Returns: Updated label.
{
"type": "object",
"required": [
"owner",
"repo",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Current label name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"color": {
"type": "string",
"description": "New label color"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"new_name": {
"type": "string",
"description": "New label name"
},
"description": {
"type": "string",
"description": "New label description"
}
}
}github_delete_labelDelete a label from a repository.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Label name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
}
}
}github_add_labels_to_issueAdd labels to an issue.
Args:
Returns: Updated labels on the issue.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number",
"labels"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of label names"
},
"issue_number": {
"type": "integer",
"description": "Issue number"
}
}
}github_remove_labels_from_issueRemove labels from an issue.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"issue_number",
"labels"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of label names"
},
"issue_number": {
"type": "integer",
"description": "Issue number"
}
}
}github_list_milestonesList milestones in a repository.
Args:
Returns: Paginated list of milestones.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"sort": {
"enum": [
"due_on",
"completeness"
],
"type": "string",
"default": "due_on",
"description": "Sort field"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed",
"all"
],
"type": "string",
"default": "open",
"description": "Filter by state"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "asc",
"description": "Sort direction"
}
}
}github_create_milestoneCreate a milestone in a repository.
Args:
Returns: Created milestone.
{
"type": "object",
"required": [
"owner",
"repo",
"title"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"default": "open",
"description": "Milestone state"
},
"title": {
"type": "string",
"description": "Milestone title"
},
"due_on": {
"type": "string",
"description": "Due date (ISO 8601)"
},
"description": {
"type": "string",
"description": "Milestone description"
}
}
}github_update_milestoneUpdate a milestone in a repository.
Args:
Returns: Updated milestone.
{
"type": "object",
"required": [
"owner",
"repo",
"milestone_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "New state"
},
"title": {
"type": "string",
"description": "New title"
},
"due_on": {
"type": "string",
"description": "New due date (ISO 8601)"
},
"description": {
"type": "string",
"description": "New description"
},
"milestone_number": {
"type": "integer",
"description": "Milestone number"
}
}
}github_delete_milestoneDelete a milestone from a repository.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"milestone_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"milestone_number": {
"type": "integer",
"description": "Milestone number"
}
}
}github_list_org_packagesList packages for an organization.
Args:
Returns: Paginated list of packages.
{
"type": "object",
"required": [
"org"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_user_packagesList packages for a user.
Args:
Returns: Paginated list of packages.
{
"type": "object",
"required": [
"username"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"username": {
"type": "string",
"description": "GitHub username"
}
}
}github_get_packageGet a package.
Args:
Returns: Package details.
{
"type": "object",
"required": [
"package_name",
"owner"
],
"properties": {
"owner": {
"type": "string",
"description": "Package owner (user or org)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"is_org": {
"type": "boolean",
"default": false,
"description": "Whether the owner is an organization"
},
"package_name": {
"type": "string",
"description": "Package name"
}
}
}github_delete_packageDelete a package.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"package_name",
"owner"
],
"properties": {
"owner": {
"type": "string",
"description": "Package owner (user or org)"
},
"is_org": {
"type": "boolean",
"default": false,
"description": "Whether the owner is an organization"
},
"package_name": {
"type": "string",
"description": "Package name"
}
}
}github_list_package_versionsList versions of a package.
Args:
Returns: Paginated list of package versions.
{
"type": "object",
"required": [
"package_name",
"owner"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"owner": {
"type": "string",
"description": "Package owner (user or org)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"is_org": {
"type": "boolean",
"default": false,
"description": "Whether the owner is an organization"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"package_name": {
"type": "string",
"description": "Package name"
}
}
}github_get_package_versionGet a specific package version.
Args:
Returns: Package version details.
{
"type": "object",
"required": [
"package_name",
"owner",
"version_id"
],
"properties": {
"owner": {
"type": "string",
"description": "Package owner (user or org)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"is_org": {
"type": "boolean",
"default": false,
"description": "Whether the owner is an organization"
},
"version_id": {
"type": "integer",
"description": "Version ID"
},
"package_name": {
"type": "string",
"description": "Package name"
}
}
}github_delete_package_versionDelete a specific package version.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"package_name",
"owner",
"version_id"
],
"properties": {
"owner": {
"type": "string",
"description": "Package owner (user or org)"
},
"is_org": {
"type": "boolean",
"default": false,
"description": "Whether the owner is an organization"
},
"version_id": {
"type": "integer",
"description": "Version ID"
},
"package_name": {
"type": "string",
"description": "Package name"
}
}
}github_delete_repoDelete a repository. This action is irreversible.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
}
}
}github_list_pr_commitsList commits on a pull request.
Args:
Returns: Paginated list of commits.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"pr_number": {
"type": "integer",
"description": "PR number"
}
}
}github_list_repo_projectsList projects for a repository (Classic Projects).
Args:
Returns: Paginated list of projects.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed",
"all"
],
"type": "string",
"default": "open",
"description": "Filter by state"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_org_projectsList projects for an organization (Classic Projects).
Args:
Returns: Paginated list of projects.
{
"type": "object",
"required": [
"org"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"state": {
"enum": [
"open",
"closed",
"all"
],
"type": "string",
"default": "open",
"description": "Filter by state"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_projectGet a project by ID (Classic Projects).
Args:
Returns: Project details.
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"project_id": {
"type": "integer",
"description": "Project ID"
}
}
}github_create_repo_projectCreate a project for a repository (Classic Projects).
Args:
Returns: Created project.
{
"type": "object",
"required": [
"owner",
"repo",
"name"
],
"properties": {
"body": {
"type": "string",
"description": "Project description"
},
"name": {
"type": "string",
"description": "Project name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
}
}
}github_create_org_projectCreate a project for an organization (Classic Projects).
Args:
Returns: Created project.
{
"type": "object",
"required": [
"org",
"name"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"body": {
"type": "string",
"description": "Project description"
},
"name": {
"type": "string",
"description": "Project name"
}
}
}github_update_projectUpdate a project (Classic Projects).
Args:
Returns: Updated project.
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"body": {
"type": "string",
"description": "New description"
},
"name": {
"type": "string",
"description": "New name"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "New state"
},
"project_id": {
"type": "integer",
"description": "Project ID"
}
}
}github_delete_projectDelete a project (Classic Projects).
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "integer",
"description": "Project ID"
}
}
}github_list_pull_requestsList pull requests in a repository.
Args:
Returns: Paginated list of pull requests.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"base": {
"type": "string",
"description": "Filter by base branch"
},
"head": {
"type": "string",
"description": "Filter by head branch (format: user:ref-name)"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"sort": {
"enum": [
"created",
"updated",
"popularity",
"long-running"
],
"type": "string",
"default": "created",
"description": "Sort field"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed",
"all"
],
"type": "string",
"default": "open",
"description": "Filter by state"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort direction"
}
}
}github_get_pull_requestGet a specific pull request.
Args:
Returns: Pull request details.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"pr_number": {
"type": "integer",
"description": "Pull request number"
}
}
}github_create_pull_requestCreate a new pull request.
Args:
Returns: Created pull request.
{
"type": "object",
"required": [
"owner",
"repo",
"title",
"head",
"base"
],
"properties": {
"base": {
"type": "string",
"description": "Base branch"
},
"body": {
"type": "string",
"description": "PR description"
},
"head": {
"type": "string",
"description": "Head branch (or username:branch for cross-repo)"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"draft": {
"type": "boolean",
"default": false,
"description": "Create as draft"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"title": {
"type": "string",
"description": "PR title"
},
"maintainer_can_modify": {
"type": "boolean",
"default": true,
"description": "Allow maintainer edits"
}
}
}github_update_pull_requestUpdate an existing pull request.
Args:
Returns: Updated pull request.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"base": {
"type": "string",
"description": "New base branch"
},
"body": {
"type": "string",
"description": "New description"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string",
"description": "New state"
},
"title": {
"type": "string",
"description": "New title"
},
"pr_number": {
"type": "integer",
"description": "PR number"
},
"maintainer_can_modify": {
"type": "boolean",
"description": "Allow maintainer edits"
}
}
}github_list_pr_filesList files changed in a pull request.
Args:
Returns: Paginated list of changed files.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"pr_number": {
"type": "integer",
"description": "PR number"
}
}
}github_check_pr_merge_statusCheck if a pull request has been merged.
Args:
Returns: Whether the PR has been merged.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"pr_number": {
"type": "integer",
"description": "PR number"
}
}
}github_merge_pull_requestMerge a pull request.
Args:
Returns: Merge result.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"sha": {
"type": "string",
"description": "SHA that PR head must match"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"pr_number": {
"type": "integer",
"description": "PR number"
},
"commit_title": {
"type": "string",
"description": "Title for the merge commit"
},
"merge_method": {
"enum": [
"merge",
"squash",
"rebase"
],
"type": "string",
"default": "merge",
"description": "Merge method"
},
"commit_message": {
"type": "string",
"description": "Message for the merge commit"
}
}
}github_update_pr_branchUpdate a pull request branch with the base branch.
Args:
Returns: Update result.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"pr_number": {
"type": "integer",
"description": "PR number"
}
}
}github_list_reviewsList reviews on a pull request.
Args:
Returns: Paginated list of reviews.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"pr_number": {
"type": "integer",
"description": "PR number"
}
}
}github_create_reviewCreate a review on a pull request.
Args:
Returns: Created review.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number"
],
"properties": {
"body": {
"type": "string",
"description": "Review body"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"event": {
"enum": [
"APPROVE",
"REQUEST_CHANGES",
"COMMENT"
],
"type": "string",
"description": "Review event"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"commit_id": {
"type": "string",
"description": "SHA of commit to review"
},
"pr_number": {
"type": "integer",
"description": "PR number"
}
}
}github_submit_reviewSubmit a pending review on a pull request.
Args:
Returns: Submitted review.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number",
"review_id",
"body",
"event"
],
"properties": {
"body": {
"type": "string",
"description": "Review body"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"event": {
"enum": [
"APPROVE",
"REQUEST_CHANGES",
"COMMENT"
],
"type": "string",
"description": "Review event"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"pr_number": {
"type": "integer",
"description": "PR number"
},
"review_id": {
"type": "integer",
"description": "Review ID"
}
}
}github_dismiss_reviewDismiss a review on a pull request.
Args:
Returns: Dismissed review.
{
"type": "object",
"required": [
"owner",
"repo",
"pr_number",
"review_id",
"message"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"message": {
"type": "string",
"description": "Dismissal message"
},
"pr_number": {
"type": "integer",
"description": "PR number"
},
"review_id": {
"type": "integer",
"description": "Review ID"
}
}
}github_list_releasesList releases in a repository.
Args:
Returns: Paginated list of releases.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_releaseGet a specific release by ID.
Args:
Returns: Release details.
{
"type": "object",
"required": [
"owner",
"repo",
"release_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"release_id": {
"type": "integer",
"description": "Release ID"
}
}
}github_get_latest_releaseGet the latest published release.
Args:
Returns: Latest release details.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_get_release_by_tagGet a release by tag name.
Args:
Returns: Release details.
{
"type": "object",
"required": [
"owner",
"repo",
"tag"
],
"properties": {
"tag": {
"type": "string",
"description": "Tag name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_create_releaseCreate a new release.
Args:
Returns: Created release.
{
"type": "object",
"required": [
"owner",
"repo",
"tag_name"
],
"properties": {
"body": {
"type": "string",
"description": "Release description"
},
"name": {
"type": "string",
"description": "Release name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"draft": {
"type": "boolean",
"default": false,
"description": "Create as draft"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"tag_name": {
"type": "string",
"description": "Tag name"
},
"prerelease": {
"type": "boolean",
"default": false,
"description": "Mark as prerelease"
},
"target_commitish": {
"type": "string",
"description": "Target branch or commit SHA"
},
"generate_release_notes": {
"type": "boolean",
"default": false,
"description": "Auto-generate release notes"
}
}
}github_update_releaseUpdate an existing release.
Args:
Returns: Updated release.
{
"type": "object",
"required": [
"owner",
"repo",
"release_id"
],
"properties": {
"body": {
"type": "string",
"description": "New description"
},
"name": {
"type": "string",
"description": "New release name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"draft": {
"type": "boolean",
"description": "Update draft status"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"tag_name": {
"type": "string",
"description": "New tag name"
},
"prerelease": {
"type": "boolean",
"description": "Update prerelease status"
},
"release_id": {
"type": "integer",
"description": "Release ID"
},
"target_commitish": {
"type": "string",
"description": "New target"
}
}
}github_delete_releaseDelete a release.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"release_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"release_id": {
"type": "integer",
"description": "Release ID"
}
}
}github_generate_release_notesGenerate release notes content.
Args:
Returns: Generated release notes.
{
"type": "object",
"required": [
"owner",
"repo",
"tag_name"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"tag_name": {
"type": "string",
"description": "Tag name for the release"
},
"target_commitish": {
"type": "string",
"description": "Target branch or commit SHA"
},
"previous_tag_name": {
"type": "string",
"description": "Previous tag to compare against"
}
}
}github_list_user_reposList repositories for the authenticated user.
Returns: Paginated list of repositories.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1,
"description": "Results per page"
}
}
}github_list_org_reposList repositories for an organization.
Args:
Returns: Paginated list of repositories.
{
"type": "object",
"required": [
"org"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_repoGet a repository by owner and name.
Args:
Returns: Repository details.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_create_repoCreate a new repository for the authenticated user.
Args:
Returns: Created repository.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Repository name"
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private"
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Enable wiki"
},
"homepage": {
"type": "string",
"description": "Homepage URL"
},
"auto_init": {
"type": "boolean",
"default": false,
"description": "Initialize with README"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Enable issues"
},
"description": {
"type": "string",
"description": "Repository description"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Enable projects"
},
"license_template": {
"type": "string",
"description": "License template name"
},
"gitignore_template": {
"type": "string",
"description": "Gitignore template name"
}
}
}github_get_contentGet the contents of a file or directory.
Args:
Returns: File or directory contents.
{
"type": "object",
"required": [
"owner",
"repo",
"path"
],
"properties": {
"ref": {
"type": "string",
"description": "Git reference (branch, tag, or SHA)"
},
"path": {
"type": "string",
"description": "Path to file or directory"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_create_org_repoCreate a new repository in an organization.
Args:
Returns: Created repository.
{
"type": "object",
"required": [
"org",
"name"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"name": {
"type": "string",
"description": "Repository name"
},
"private": {
"type": "boolean",
"default": false,
"description": "Whether the repository is private"
},
"has_wiki": {
"type": "boolean",
"default": true,
"description": "Enable wiki"
},
"homepage": {
"type": "string",
"description": "Homepage URL"
},
"auto_init": {
"type": "boolean",
"default": false,
"description": "Initialize with README"
},
"has_issues": {
"type": "boolean",
"default": true,
"description": "Enable issues"
},
"description": {
"type": "string",
"description": "Repository description"
},
"has_projects": {
"type": "boolean",
"default": true,
"description": "Enable projects"
},
"license_template": {
"type": "string",
"description": "License template name"
},
"gitignore_template": {
"type": "string",
"description": "Gitignore template name"
}
}
}github_update_repoUpdate a repository.
Args:
Returns: Updated repository.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"name": {
"type": "string",
"description": "New repository name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"private": {
"type": "boolean",
"description": "Whether the repository is private"
},
"archived": {
"type": "boolean",
"description": "Whether to archive the repository"
},
"has_wiki": {
"type": "boolean",
"description": "Enable wiki"
},
"homepage": {
"type": "string",
"description": "New homepage URL"
},
"has_issues": {
"type": "boolean",
"description": "Enable issues"
},
"description": {
"type": "string",
"description": "New description"
},
"has_projects": {
"type": "boolean",
"description": "Enable projects"
},
"default_branch": {
"type": "string",
"description": "Default branch name"
}
}
}github_list_branchesList branches in a repository.
Args:
Returns: Paginated list of branches.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_branchGet a specific branch.
Args:
Returns: Branch details.
{
"type": "object",
"required": [
"owner",
"repo",
"branch"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"branch": {
"type": "string",
"description": "Branch name"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_rename_branchRename a branch.
Args:
Returns: Renamed branch.
{
"type": "object",
"required": [
"owner",
"repo",
"branch",
"new_name"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"branch": {
"type": "string",
"description": "Current branch name"
},
"new_name": {
"type": "string",
"description": "New branch name"
}
}
}github_merge_branchesMerge one branch into another.
Args:
Returns: Merge commit.
{
"type": "object",
"required": [
"owner",
"repo",
"base",
"head"
],
"properties": {
"base": {
"type": "string",
"description": "Base branch"
},
"head": {
"type": "string",
"description": "Head branch to merge"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"commit_message": {
"type": "string",
"description": "Commit message"
}
}
}github_list_commitsList commits in a repository.
Args:
Returns: Paginated list of commits.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"sha": {
"type": "string",
"description": "SHA or branch to start listing from"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"path": {
"type": "string",
"description": "Only commits containing this file path"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"since": {
"type": "string",
"description": "Only commits after this date (ISO 8601)"
},
"until": {
"type": "string",
"description": "Only commits before this date (ISO 8601)"
},
"author": {
"type": "string",
"description": "GitHub login or email address"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_commitGet a specific commit.
Args:
Returns: Commit details.
{
"type": "object",
"required": [
"owner",
"repo",
"ref"
],
"properties": {
"ref": {
"type": "string",
"description": "Commit SHA, branch, or tag"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_compare_commitsCompare two commits.
Args:
Returns: Comparison details including commits and files changed.
{
"type": "object",
"required": [
"owner",
"repo",
"base",
"head"
],
"properties": {
"base": {
"type": "string",
"description": "Base commit/branch"
},
"head": {
"type": "string",
"description": "Head commit/branch"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_create_or_update_fileCreate or update a file in a repository.
Args:
Returns: Created/updated file and commit.
{
"type": "object",
"required": [
"owner",
"repo",
"path",
"message",
"content"
],
"properties": {
"sha": {
"type": "string",
"description": "SHA of the file being replaced (required for updates)"
},
"path": {
"type": "string",
"description": "Path to the file"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"branch": {
"type": "string",
"description": "Branch to commit to"
},
"content": {
"type": "string",
"description": "File content"
},
"message": {
"type": "string",
"description": "Commit message"
}
}
}github_delete_fileDelete a file from a repository.
Args:
Returns: Deletion commit.
{
"type": "object",
"required": [
"owner",
"repo",
"path",
"message",
"sha"
],
"properties": {
"sha": {
"type": "string",
"description": "SHA of the file to delete"
},
"path": {
"type": "string",
"description": "Path to the file"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"branch": {
"type": "string",
"description": "Branch to commit to"
},
"message": {
"type": "string",
"description": "Commit message"
}
}
}github_get_readmeGet the README file for a repository.
Args:
Returns: README content.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"ref": {
"type": "string",
"description": "Git reference (branch, tag, or SHA)"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_list_forksList forks of a repository.
Args:
Returns: Paginated list of forks.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_create_forkFork a repository.
Args:
Returns: Forked repository.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"organization": {
"type": "string",
"description": "Organization to fork to"
}
}
}github_list_contributorsList contributors to a repository.
Args:
Returns: Paginated list of contributors.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_languagesList languages used in a repository.
Args:
Returns: Map of language names to bytes of code.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_list_topicsList topics for a repository.
Args:
Returns: List of topics.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_replace_topicsReplace all topics for a repository.
Args:
Returns: Updated list of topics.
{
"type": "object",
"required": [
"owner",
"repo",
"topics"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of topic names"
}
}
}github_search_reposSearch for repositories.
Args:
Returns: Search results with repositories.
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"sort": {
"enum": [
"stars",
"forks",
"help-wanted-issues",
"updated"
],
"type": "string",
"description": "Sort by"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order"
},
"query": {
"type": "string",
"description": "Search query (supports GitHub search syntax)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_search_codeSearch for code across GitHub repositories.
Args:
Returns: Search results with code matches.
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"sort": {
"enum": [
"indexed"
],
"type": "string",
"description": "Sort by"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order"
},
"query": {
"type": "string",
"description": "Search query (supports GitHub code search syntax)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_add_team_memberAdd a member to a team.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"org",
"team_slug",
"username"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"role": {
"enum": [
"member",
"maintainer"
],
"type": "string",
"default": "member",
"description": "Role"
},
"username": {
"type": "string",
"description": "Username to add"
},
"team_slug": {
"type": "string",
"description": "Team slug"
}
}
}github_search_issuesSearch for issues and pull requests.
Args:
Returns: Search results with issues and pull requests.
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"sort": {
"enum": [
"comments",
"reactions",
"reactions-+1",
"reactions--1",
"reactions-smile",
"reactions-thinking_face",
"reactions-heart",
"reactions-tada",
"interactions",
"created",
"updated"
],
"type": "string",
"description": "Sort by"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order"
},
"query": {
"type": "string",
"description": "Search query (supports GitHub issues search syntax)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_search_usersSearch for users.
Args:
Returns: Search results with users.
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"sort": {
"enum": [
"followers",
"repositories",
"joined"
],
"type": "string",
"description": "Sort by"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order"
},
"query": {
"type": "string",
"description": "Search query (supports GitHub users search syntax)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_search_commitsSearch for commits.
Args:
Returns: Search results with commits.
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"sort": {
"enum": [
"author-date",
"committer-date"
],
"type": "string",
"description": "Sort by"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order"
},
"query": {
"type": "string",
"description": "Search query (supports GitHub commits search syntax)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_search_topicsSearch for topics.
Args:
Returns: Search results with topics.
{
"type": "object",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"query": {
"type": "string",
"description": "Search query"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_teamsList teams in an organization.
Args:
Returns: Paginated list of teams.
{
"type": "object",
"required": [
"org"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_teamGet a team by slug.
Args:
Returns: Team details.
{
"type": "object",
"required": [
"org",
"team_slug"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"team_slug": {
"type": "string",
"description": "Team slug"
}
}
}github_create_teamCreate a team in an organization.
Args:
Returns: Created team.
{
"type": "object",
"required": [
"org",
"name"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"name": {
"type": "string",
"description": "Team name"
},
"privacy": {
"enum": [
"secret",
"closed"
],
"type": "string",
"default": "secret",
"description": "Team privacy"
},
"description": {
"type": "string",
"description": "Team description"
},
"parent_team_id": {
"type": "integer",
"description": "Parent team ID"
}
}
}github_update_teamUpdate a team.
Args:
Returns: Updated team.
{
"type": "object",
"required": [
"org",
"team_slug"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"name": {
"type": "string",
"description": "New team name"
},
"privacy": {
"enum": [
"secret",
"closed"
],
"type": "string",
"description": "New privacy setting"
},
"team_slug": {
"type": "string",
"description": "Team slug"
},
"description": {
"type": "string",
"description": "New description"
},
"parent_team_id": {
"type": "integer",
"description": "New parent team ID"
}
}
}github_delete_teamDelete a team.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"org",
"team_slug"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"team_slug": {
"type": "string",
"description": "Team slug"
}
}
}github_list_team_membersList members of a team.
Args:
Returns: Paginated list of team members.
{
"type": "object",
"required": [
"org",
"team_slug"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"team_slug": {
"type": "string",
"description": "Team slug"
}
}
}github_remove_team_memberRemove a member from a team.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"org",
"team_slug",
"username"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"username": {
"type": "string",
"description": "Username to remove"
},
"team_slug": {
"type": "string",
"description": "Team slug"
}
}
}github_list_team_reposList repositories a team has access to.
Args:
Returns: Paginated list of repositories.
{
"type": "object",
"required": [
"org",
"team_slug"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"team_slug": {
"type": "string",
"description": "Team slug"
}
}
}github_add_team_repoAdd a repository to a team.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"org",
"team_slug",
"owner",
"repo"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"team_slug": {
"type": "string",
"description": "Team slug"
},
"permission": {
"enum": [
"pull",
"push",
"admin",
"maintain",
"triage"
],
"type": "string",
"default": "push",
"description": "Permission level"
}
}
}github_remove_team_repoRemove a repository from a team.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"org",
"team_slug",
"owner",
"repo"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"team_slug": {
"type": "string",
"description": "Team slug"
}
}
}github_get_authenticated_userGet the authenticated user's profile.
Returns: User profile details.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_get_userGet a user's public profile.
Args:
Returns: User profile details.
{
"type": "object",
"required": [
"username"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"username": {
"type": "string",
"description": "GitHub username"
}
}
}github_list_usersList all GitHub users (public).
Args:
Returns: Paginated list of users.
{
"type": "object",
"properties": {
"since": {
"type": "integer",
"description": "User ID to start after"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_followersList followers of a user.
Args:
Returns: Paginated list of followers.
{
"type": "object",
"required": [
"username"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"username": {
"type": "string",
"description": "GitHub username"
}
}
}github_list_followingList users that a user is following.
Args:
Returns: Paginated list of users.
{
"type": "object",
"required": [
"username"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"username": {
"type": "string",
"description": "GitHub username"
}
}
}github_list_user_orgsList organizations for the authenticated user.
Returns: Paginated list of organizations.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_orgGet an organization.
Args:
Returns: Organization details.
{
"type": "object",
"required": [
"org"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}github_list_org_membersList members of an organization.
Args:
Returns: Paginated list of members.
{
"type": "object",
"required": [
"org"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"role": {
"enum": [
"all",
"admin",
"member"
],
"type": "string",
"default": "all",
"description": "Filter by role"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_list_repo_webhooksList webhooks for a repository.
Args:
Returns: Paginated list of webhooks.
{
"type": "object",
"required": [
"owner",
"repo"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_get_repo_webhookGet a specific repository webhook.
Args:
Returns: Webhook details.
{
"type": "object",
"required": [
"owner",
"repo",
"hook_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"hook_id": {
"type": "integer",
"description": "Webhook ID"
}
}
}github_create_repo_webhookCreate a webhook for a repository.
Args:
Returns: Created webhook.
{
"type": "object",
"required": [
"owner",
"repo",
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Payload URL"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"active": {
"type": "boolean",
"default": true,
"description": "Whether the webhook is active"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"push"
],
"description": "Events to trigger the webhook"
},
"secret": {
"type": "string",
"description": "Webhook secret"
},
"content_type": {
"enum": [
"json",
"form"
],
"type": "string",
"default": "json",
"description": "Content type"
}
}
}github_update_repo_webhookUpdate a repository webhook.
Args:
Returns: Updated webhook.
{
"type": "object",
"required": [
"owner",
"repo",
"hook_id"
],
"properties": {
"url": {
"type": "string",
"description": "New payload URL"
},
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"active": {
"type": "boolean",
"description": "New active status"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"description": "New list of events"
},
"secret": {
"type": "string",
"description": "New secret"
},
"hook_id": {
"type": "integer",
"description": "Webhook ID"
},
"add_events": {
"type": "array",
"items": {
"type": "string"
},
"description": "Events to add"
},
"content_type": {
"enum": [
"json",
"form"
],
"type": "string",
"description": "New content type"
},
"remove_events": {
"type": "array",
"items": {
"type": "string"
},
"description": "Events to remove"
}
}
}github_delete_repo_webhookDelete a repository webhook.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"hook_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"hook_id": {
"type": "integer",
"description": "Webhook ID"
}
}
}github_ping_repo_webhookPing a repository webhook.
Args:
Returns: Confirmation.
{
"type": "object",
"required": [
"owner",
"repo",
"hook_id"
],
"properties": {
"repo": {
"type": "string",
"description": "Repository name"
},
"owner": {
"type": "string",
"description": "Repository owner"
},
"hook_id": {
"type": "integer",
"description": "Webhook ID"
}
}
}github_list_org_webhooksList webhooks for an organization.
Args:
Returns: Paginated list of webhooks.
{
"type": "object",
"required": [
"org"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"per_page": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
}
}
}github_create_org_webhookCreate a webhook for an organization.
Args:
Returns: Created webhook.
{
"type": "object",
"required": [
"org",
"url"
],
"properties": {
"org": {
"type": "string",
"description": "Organization name"
},
"url": {
"type": "string",
"description": "Payload URL"
},
"active": {
"type": "boolean",
"default": true,
"description": "Whether the webhook is active"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"default": [
"push"
],
"description": "Events to trigger the webhook"
},
"secret": {
"type": "string",
"description": "Webhook secret"
},
"content_type": {
"enum": [
"json",
"form"
],
"type": "string",
"default": "json",
"description": "Content type"
}
}
}