Skip to main content
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

I