GithubTools enables an Agent to access Github repositories and perform tasks such as listing open pull requests, issues and more.

Prerequisites

The following examples requires the PyGithub library and a Github access token which can be obtained from here.
pip install -U PyGithub
export GITHUB_ACCESS_TOKEN=***

Example

The following agent will search Google for the latest news about “Mistral AI”:
cookbook/tools/github_tools.py
from agno.agent import Agent
from agno.tools.github import GithubTools

agent = Agent(
    instructions=[
        "Use your tools to answer questions about the repo: agno-agi/agno",
        "Do not create any issues or pull requests unless explicitly asked to do so",
    ],
    tools=[GithubTools()],
    )

agent.print_response("List open pull requests", markdown=True)

Toolkit Params

ParameterTypeDefaultDescription
access_tokenOptional[str]NoneGitHub access token for authentication. If not provided, will use GITHUB_ACCESS_TOKEN environment variable.
base_urlOptional[str]NoneOptional base URL for GitHub Enterprise installations.

Toolkit Functions

FunctionDescription
search_repositoriesSearches Github repositories based on a query.
list_repositoriesLists repositories for a given user or organization.
get_repositoryGets details about a specific repository.
list_pull_requestsLists pull requests for a repository.
get_pull_requestGets details about a specific pull request.
get_pull_request_changesGets the file changes in a pull request.
create_issueCreates a new issue in a repository.
You can use include_tools or exclude_tools to modify the list of tools the agent has access to. Learn more about selecting tools.

Developer Resources