Skip to main content

GitHub Extension

🎥Plug & Play
Watch the demo

This tutorial covers how to add the GitHub MCP Server as a Goose extension to enable file operations, repository management, search functionality, and more.

TLDR

Environment Variable

GITHUB_PERSONAL_ACCESS_TOKEN: <YOUR_TOKEN>

Configuration

info

Note that you'll need Node.js installed on your system to run this command, as it uses npx.

  1. Launch the installer
  2. Press Yes to confirm the installation
  3. Obtain a GitHub Personal Access Token and paste it in
  4. Click Save Configuration
  5. Scroll to the top and click Exit from the upper left corner

Example Usage

When creating my GitHub Personal Access Token, I gave it the following access:

  • Repository: goose-demo
  • Read access to metadata
  • Read and Write access to code, commit status, issues, and pull requests

Goose Prompt

create a new branch called hello-world in my angiejones/goose-demo repository. Update the README.md file to say "this was written by goose" and commit it. Open a pull request with your changes.

Goose Output

I'll help you create a new branch, update the README, and open a pull request. Let me break this down into steps:

1. First, let's create the new branch called "hello-world" in your repository
2. Then update the README.md file
3. Finally, create a pull request

Let me execute these steps:

1. Creating the new branch:

─── create_branch | github ──────────────────────────
branch: hello-world
owner: angiejones
repo: goose-demo

2. Now, updating the README.md file in the new branch:

─── create_or_update_file | github ──────────────────────────
branch: hello-world
content: this was written by goose
message: Update README.md with Goose message
owner: angiejones
path: README.md
repo: goose-demo



3. Finally, creating the pull request:

─── create_pull_request | github ──────────────────────────
base: main
body: ...
head: hello-world
owner: angiejones
repo: goose-demo
title: Update README.md



Great! I've completed all the requested tasks:
1. Created a new branch called "hello-world"
2. Updated the README.md file with the text "this was written by goose"
3. Created a pull request to merge these changes into the main branch

You can view the pull request at: https://github.com/angiejones/goose-demo/pull/1

The pull request is now ready for your review. Would you like me to do anything else with it?