All data sources

GitHub

OAuthgithub

GitHub connector for managing repositories, issues, pull requests, commits, and code. CRITICAL USAGE RULES: 1. Use listRepositories() to discover available repos before other operations. 2. Repository names use owner/repo format (e.g., "anthropics/claude-code"). 3. Use searchCode() for finding code patterns across repositories. 4. Issue and PR numbers are integers, not IDs. 5. File contents are returned as base64 - decode if needed. AUTHENTICATION: - Uses OAuth token from user's connected GitHub account - Scopes: repo, read:user, user:email, read:org

Provenance

PublisherGitHub

Freshness & coverage

FreshnessFreshness not declared
GeographicNot declared
TemporalNot declared
AuthenticationCredentials required (OAuth)

Methods (18)

  • listRepositories

    read

    List repositories for a user or organization with sort and paging.

    Input schema
    {
      "type": "object",
      "properties": {
        "type": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "owner"
              ]
            },
            {
              "type": "string",
              "enum": [
                "member"
              ]
            },
            {
              "type": "string",
              "enum": [
                "private"
              ]
            },
            {
              "type": "string",
              "enum": [
                "all"
              ]
            },
            {
              "type": "string",
              "enum": [
                "public"
              ]
            }
          ]
        },
        "org": {
          "type": "string"
        },
        "sort": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "updated"
              ]
            },
            {
              "type": "string",
              "enum": [
                "created"
              ]
            },
            {
              "type": "string",
              "enum": [
                "pushed"
              ]
            },
            {
              "type": "string",
              "enum": [
                "full_name"
              ]
            }
          ]
        },
        "direction": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "asc"
              ]
            },
            {
              "type": "string",
              "enum": [
                "desc"
              ]
            }
          ]
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false
    }
  • getRepository

    read

    Retrieve a single repository by owner and repository name.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo"
      ]
    }
  • listIssues

    read

    List issues in a repository filtered by state, labels, and assignee.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "state": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "all"
              ]
            },
            {
              "type": "string",
              "enum": [
                "open"
              ]
            },
            {
              "type": "string",
              "enum": [
                "closed"
              ]
            }
          ]
        },
        "labels": {
          "type": "string"
        },
        "assignee": {
          "type": "string"
        },
        "sort": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "updated"
              ]
            },
            {
              "type": "string",
              "enum": [
                "created"
              ]
            },
            {
              "type": "string",
              "enum": [
                "comments"
              ]
            }
          ]
        },
        "direction": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "asc"
              ]
            },
            {
              "type": "string",
              "enum": [
                "desc"
              ]
            }
          ]
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo"
      ]
    }
  • createIssue

    write

    Create a new issue in a repository with title, body, and labels.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "assignees": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "milestone": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo",
        "title"
      ]
    }
  • updateIssue

    write

    Update an existing repository issue including title, body, state, and labels.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "issue_number": {
          "type": "number"
        },
        "title": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "state": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "open"
              ]
            },
            {
              "type": "string",
              "enum": [
                "closed"
              ]
            }
          ]
        },
        "assignees": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "milestone": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "number"
            }
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo",
        "issue_number"
      ]
    }
  • listPullRequests

    read

    List pull requests in a repository filtered by state, head, and base.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "state": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "all"
              ]
            },
            {
              "type": "string",
              "enum": [
                "open"
              ]
            },
            {
              "type": "string",
              "enum": [
                "closed"
              ]
            }
          ]
        },
        "head": {
          "type": "string"
        },
        "base": {
          "type": "string"
        },
        "sort": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "updated"
              ]
            },
            {
              "type": "string",
              "enum": [
                "created"
              ]
            },
            {
              "type": "string",
              "enum": [
                "popularity"
              ]
            },
            {
              "type": "string",
              "enum": [
                "long-running"
              ]
            }
          ]
        },
        "direction": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "asc"
              ]
            },
            {
              "type": "string",
              "enum": [
                "desc"
              ]
            }
          ]
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo"
      ]
    }
  • getPullRequest

    read

    Retrieve a single pull request by owner, repository, and number.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "pull_number": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo",
        "pull_number"
      ]
    }
  • createPullRequest

    write

    Create a pull request from a head branch into a base branch.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "head": {
          "type": "string"
        },
        "base": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "draft": {
          "type": "boolean"
        },
        "maintainer_can_modify": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo",
        "title",
        "head",
        "base"
      ]
    }
  • listCommits

    read

    List commits in a repository filtered by author, path, and date.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "sha": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "since": {
          "type": "string"
        },
        "until": {
          "type": "string"
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo"
      ]
    }
  • getCommit

    read

    Retrieve a single commit by repository owner and git ref.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "ref": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo",
        "ref"
      ]
    }
  • listBranches

    read

    List branches in a repository, optionally limited to protected branches.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "protected": {
          "type": "boolean"
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo"
      ]
    }
  • getFileContents

    read

    Retrieve file contents from a repository path at a git ref.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "ref": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo",
        "path"
      ]
    }
  • searchCode

    read

    Search code across repositories using a query string.

    Input schema
    {
      "type": "object",
      "properties": {
        "q": {
          "type": "string"
        },
        "sort": {
          "type": "string",
          "enum": [
            "indexed"
          ]
        },
        "order": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "asc"
              ]
            },
            {
              "type": "string",
              "enum": [
                "desc"
              ]
            }
          ]
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "q"
      ]
    }
  • searchIssues

    read

    Search issues and pull requests across repositories by query.

    Input schema
    {
      "type": "object",
      "properties": {
        "q": {
          "type": "string"
        },
        "sort": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "updated"
              ]
            },
            {
              "type": "string",
              "enum": [
                "created"
              ]
            },
            {
              "type": "string",
              "enum": [
                "comments"
              ]
            },
            {
              "type": "string",
              "enum": [
                "reactions"
              ]
            },
            {
              "type": "string",
              "enum": [
                "reactions-+1"
              ]
            },
            {
              "type": "string",
              "enum": [
                "reactions--1"
              ]
            },
            {
              "type": "string",
              "enum": [
                "interactions"
              ]
            }
          ]
        },
        "order": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "asc"
              ]
            },
            {
              "type": "string",
              "enum": [
                "desc"
              ]
            }
          ]
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "q"
      ]
    }
  • listWorkflows

    read

    List workflow definitions in a repository, including workflow ids.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo"
      ]
    }
  • listWorkflowRuns

    read

    List workflow run history filtered by workflow, branch, event, and status.

    Input schema
    {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "workflow_id": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            }
          ]
        },
        "actor": {
          "type": "string"
        },
        "branch": {
          "type": "string"
        },
        "event": {
          "type": "string"
        },
        "status": {
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "success"
              ]
            },
            {
              "type": "string",
              "enum": [
                "completed"
              ]
            },
            {
              "type": "string",
              "enum": [
                "action_required"
              ]
            },
            {
              "type": "string",
              "enum": [
                "cancelled"
              ]
            },
            {
              "type": "string",
              "enum": [
                "failure"
              ]
            },
            {
              "type": "string",
              "enum": [
                "neutral"
              ]
            },
            {
              "type": "string",
              "enum": [
                "skipped"
              ]
            },
            {
              "type": "string",
              "enum": [
                "stale"
              ]
            },
            {
              "type": "string",
              "enum": [
                "timed_out"
              ]
            },
            {
              "type": "string",
              "enum": [
                "in_progress"
              ]
            },
            {
              "type": "string",
              "enum": [
                "queued"
              ]
            },
            {
              "type": "string",
              "enum": [
                "requested"
              ]
            },
            {
              "type": "string",
              "enum": [
                "waiting"
              ]
            },
            {
              "type": "string",
              "enum": [
                "pending"
              ]
            }
          ]
        },
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "required": [
        "owner",
        "repo"
      ]
    }
  • getUser

    read

    Retrieve a public user profile by username, including metadata.

    Input schema
    {
      "type": "object",
      "properties": {
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  • listOrganizations

    read

    List organizations the authenticated user belongs to, with paging.

    Input schema
    {
      "type": "object",
      "properties": {
        "per_page": {
          "type": "number"
        },
        "page": {
          "type": "number"
        }
      },
      "additionalProperties": false
    }