From 2f4344e1977eaeee58b86773a4599a593a9ba5ef Mon Sep 17 00:00:00 2001 From: Diane Diaz Date: Mon, 14 Jul 2025 21:55:29 -0700 Subject: [PATCH 1/6] update steps --- documentation/docs/mcp/github-mcp.md | 310 +++++++++++++++++++++++---- 1 file changed, 273 insertions(+), 37 deletions(-) diff --git a/documentation/docs/mcp/github-mcp.md b/documentation/docs/mcp/github-mcp.md index 497ebe15ea99..cf3eaf2e25e7 100644 --- a/documentation/docs/mcp/github-mcp.md +++ b/documentation/docs/mcp/github-mcp.md @@ -10,66 +10,302 @@ import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructi -This tutorial covers how to add the [GitHub MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/github) as a Goose extension to enable file operations, repository management, search functionality, and more. +This tutorial covers how to add the [GitHub MCP Server](https://github.com/github/github-mcp-server) as a Goose extension to enable file operations, repository management, search functionality, and more. + +:::warning Migration Notice +The GitHub MCP Server has moved from the deprecated NPM package `@modelcontextprotocol/server-github` to GitHub's official repository. The server is now available as a remote hosted service (recommended) with no local installation required. +::: :::tip TLDR - [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40modelcontextprotocol%2Fserver-github&id=github&name=GitHub&description=GitHub%20API&env=GITHUB_PERSONAL_ACCESS_TOKEN%3DGitHub%20Personal%20Access%20Token) + Use `Add custom extension` in Settings → Extensions to add a `Streamable HTTP` extension type with: - **Command** - ```sh - npx -y @modelcontextprotocol/server-github - ``` + Use `goose configure` to add a `Remote Extension (Streaming HTTP)` extension type with: - **Environment Variable** + **Endpoint URL** + ``` + https://api.githubcopilot.com/mcp/ ``` - GITHUB_PERSONAL_ACCESS_TOKEN: + **Custom Request Header** + ``` + Authorization: Bearer ``` ::: ## Configuration - -:::info -Note that you'll need [Node.js](https://nodejs.org/) installed on your system to run this command, as it uses `npx`. -::: +These steps configure the Remote MCP Server. For other deployment options, see the [official GitHub MCP Server documentation](https://github.com/github/github-mcp-server). - 1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40modelcontextprotocol%2Fserver-github&id=github&name=GitHub&description=GitHub%20API&env=GITHUB_PERSONAL_ACCESS_TOKEN%3DGitHub%20Personal%20Access%20Token) - 2. Press `Yes` to confirm the installation - 3. Obtain a [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens) and paste it in - 4. Click `Save Configuration` - 5. Scroll to the top and click `Exit` from the upper left corner + 1. Click the gear icon `⚙️` in the top right corner + 2. Under `Extensions`, click `Add custom extension` + 3. On the `Add custom extension` modal, enter the following: + - **Extension Name**: GitHub + - **Type**: Streamable HTTP + - **Endpoint**: `https://api.githubcopilot.com/mcp/` + - **Request Headers**: + - **Header name**: `Authorization` + - **Value**: `Bearer ` + 4. Click `+ Add` to save the header + 5. Click `Add Extension` to save the extension + + 1. Run the `configure` command: + ```sh + goose configure + ``` + + 2. Choose to add a `Remote Extension (Streaming HTTP)` + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◆ What type of extension would you like to add? + │ ○ Built-in Extension + │ ○ Command-line Extension (Run a local command or script) + │ ○ Remote Extension (SSE) + // highlight-start + │ ● Remote Extension (Streaming HTTP) + // highlight-end + └ + ``` + + 3. Give your extension a name + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + // highlight-start + ◆ What would you like to call this extension? + │ github + // highlight-end + └ + ``` + + 4. Enter the Streaming HTTP endpoint URI + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + ◇ What would you like to call this extension? + │ github + │ + // highlight-start + ◆ What is the Streaming HTTP endpoint URI? + │ https://api.githubcopilot.com/mcp/ + // highlight-end + └ + ``` + + 5. Set the timeout (recommended: 100 seconds) + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + ◇ What would you like to call this extension? + │ github + │ + ◇ What is the Streaming HTTP endpoint URI? + │ https://api.githubcopilot.com/mcp/ + │ + // highlight-start + ◆ Please set the timeout for this tool (in secs): + │ 300 + // highlight-end + └ + ``` + + 6. Choose whether to add a description + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + ◇ What would you like to call this extension? + │ github + │ + ◇ What is the Streaming HTTP endpoint URI? + │ https://api.githubcopilot.com/mcp/ + │ + ◇ Please set the timeout for this tool (in secs): + │ 300 + │ + // highlight-start + ◆ Would you like to add a description? + │ No + // highlight-end + └ + ``` + + 7. Add custom headers for authentication + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + ◇ What would you like to call this extension? + │ github + │ + ◇ What is the Streaming HTTP endpoint URI? + │ https://api.githubcopilot.com/mcp/ + │ + ◇ Please set the timeout for this tool (in secs): + │ 300 + │ + ◇ Would you like to add a description? + │ No + │ + // highlight-start + ◆ Would you like to add custom headers? + │ Yes + // highlight-end + └ + ``` + + 8. Enter the Authorization header + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + ◇ What would you like to call this extension? + │ github + │ + ◇ What is the Streaming HTTP endpoint URI? + │ https://api.githubcopilot.com/mcp/ + │ + ◇ Please set the timeout for this tool (in secs): + │ 300 + │ + ◇ Would you like to add a description? + │ No + │ + ◇ Would you like to add custom headers? + │ Yes + │ + // highlight-start + ◆ Header name: + │ Authorization + // highlight-end + └ + ``` - - When creating your access token, you can specify the repositories and granular permissions you'd like Goose to have access to.{" "} - - Create one here - . - - } - /> + 9. Enter your GitHub Personal Access Token + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + ◇ What would you like to call this extension? + │ github + │ + ◇ What is the Streaming HTTP endpoint URI? + │ https://api.githubcopilot.com/mcp/ + │ + ◇ Please set the timeout for this tool (in secs): + │ 300 + │ + ◇ Would you like to add a description? + │ No + │ + ◇ Would you like to add custom headers? + │ Yes + │ + ◇ Header name: + │ Authorization + │ + // highlight-start + ◆ Header value: + │ Bearer ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + // highlight-end + └ + ``` + :::tip Get Your Token + Replace `ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` with your actual [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens). + ::: + 10. Choose not to add another header + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Remote Extension (Streaming HTTP) + │ + ◇ What would you like to call this extension? + │ github + │ + ◇ What is the Streaming HTTP endpoint URI? + │ https://api.githubcopilot.com/mcp/ + │ + ◇ Please set the timeout for this tool (in secs): + │ 100 + │ + ◇ Would you like to add a description? + │ No + │ + ◇ Would you like to add custom headers? + │ Yes + │ + ◇ Header name: + │ Authorization + │ + ◇ Header value: + │ Bearer ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + │ + // highlight-start + ◆ Add another header? + │ No + │ + // highlight-end + └ Added github extension + ``` + + :::info + Replace `` with your actual token from [GitHub Settings](https://github.com/settings/personal-access-tokens). When creating your access token, you can specify the repositories and granular permissions you'd like Goose to have access to. + ::: ## Example Usage From 48039216908e2666370fac1118a8cc8672ef6255 Mon Sep 17 00:00:00 2001 From: Diane Diaz Date: Tue, 15 Jul 2025 08:09:24 -0700 Subject: [PATCH 2/6] final steps --- documentation/docs/mcp/github-mcp.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/documentation/docs/mcp/github-mcp.md b/documentation/docs/mcp/github-mcp.md index cf3eaf2e25e7..29882616a553 100644 --- a/documentation/docs/mcp/github-mcp.md +++ b/documentation/docs/mcp/github-mcp.md @@ -13,7 +13,7 @@ import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructi This tutorial covers how to add the [GitHub MCP Server](https://github.com/github/github-mcp-server) as a Goose extension to enable file operations, repository management, search functionality, and more. :::warning Migration Notice -The GitHub MCP Server has moved from the deprecated NPM package `@modelcontextprotocol/server-github` to GitHub's official repository. The server is now available as a remote hosted service (recommended) with no local installation required. +The GitHub MCP Server has moved from the deprecated NPM package `@modelcontextprotocol/server-github` to GitHub's official repository. The server is now available as a remote hosted service with no local installation required. ::: :::tip TLDR @@ -42,16 +42,17 @@ These steps configure the Remote MCP Server. For other deployment options, see t 1. Click the gear icon `⚙️` in the top right corner - 2. Under `Extensions`, click `Add custom extension` - 3. On the `Add custom extension` modal, enter the following: + 2. Click `Advanced settings` + 3. Under `Extensions`, click `Add custom extension` + 4. On the `Add custom extension` modal, enter the following: - **Extension Name**: GitHub - **Type**: Streamable HTTP - **Endpoint**: `https://api.githubcopilot.com/mcp/` - **Request Headers**: - **Header name**: `Authorization` - **Value**: `Bearer ` - 4. Click `+ Add` to save the header - 5. Click `Add Extension` to save the extension + 5. Click `+ Add` to save the header + 6. Click `Add Extension` to save the extension @@ -114,7 +115,7 @@ These steps configure the Remote MCP Server. For other deployment options, see t └ ``` - 5. Set the timeout (recommended: 100 seconds) + 5. Set the timeout ```sh ┌ goose-configure │ @@ -163,7 +164,7 @@ These steps configure the Remote MCP Server. For other deployment options, see t └ ``` - 7. Add custom headers for authentication + 7. Add a custom header for authentication ```sh ┌ goose-configure │ @@ -258,9 +259,6 @@ These steps configure the Remote MCP Server. For other deployment options, see t // highlight-end └ ``` - :::tip Get Your Token - Replace `ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` with your actual [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens). - ::: 10. Choose not to add another header ```sh @@ -303,7 +301,7 @@ These steps configure the Remote MCP Server. For other deployment options, see t - :::info + :::info Get Your Access Token Replace `` with your actual token from [GitHub Settings](https://github.com/settings/personal-access-tokens). When creating your access token, you can specify the repositories and granular permissions you'd like Goose to have access to. ::: From 2065d20fb4bd12aaf2a9b7a47841add4adea7de9 Mon Sep 17 00:00:00 2001 From: dianed-square <73617011+dianed-square@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:39:45 -0700 Subject: [PATCH 3/6] Update documentation/docs/mcp/github-mcp.md Co-authored-by: Rizel Scarlett --- documentation/docs/mcp/github-mcp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/docs/mcp/github-mcp.md b/documentation/docs/mcp/github-mcp.md index 29882616a553..71d90899e4f3 100644 --- a/documentation/docs/mcp/github-mcp.md +++ b/documentation/docs/mcp/github-mcp.md @@ -225,7 +225,7 @@ These steps configure the Remote MCP Server. For other deployment options, see t └ ``` - 9. Enter your GitHub Personal Access Token + 9. Enter your [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens) ```sh ┌ goose-configure │ From 2643baeba187b600e660a17d769f32a13740089f Mon Sep 17 00:00:00 2001 From: dianed-square <73617011+dianed-square@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:39:53 -0700 Subject: [PATCH 4/6] Update documentation/docs/mcp/github-mcp.md Co-authored-by: Rizel Scarlett --- documentation/docs/mcp/github-mcp.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/documentation/docs/mcp/github-mcp.md b/documentation/docs/mcp/github-mcp.md index 71d90899e4f3..33239142d03c 100644 --- a/documentation/docs/mcp/github-mcp.md +++ b/documentation/docs/mcp/github-mcp.md @@ -301,9 +301,6 @@ These steps configure the Remote MCP Server. For other deployment options, see t - :::info Get Your Access Token - Replace `` with your actual token from [GitHub Settings](https://github.com/settings/personal-access-tokens). When creating your access token, you can specify the repositories and granular permissions you'd like Goose to have access to. - ::: ## Example Usage From 351c15f8b78de88e769ae2c4a159487df43f7d2b Mon Sep 17 00:00:00 2001 From: Diane Diaz Date: Tue, 15 Jul 2025 11:43:39 -0700 Subject: [PATCH 5/6] add get token step for Desktop config --- documentation/docs/mcp/github-mcp.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/documentation/docs/mcp/github-mcp.md b/documentation/docs/mcp/github-mcp.md index 33239142d03c..4f58e7f36520 100644 --- a/documentation/docs/mcp/github-mcp.md +++ b/documentation/docs/mcp/github-mcp.md @@ -41,18 +41,19 @@ These steps configure the Remote MCP Server. For other deployment options, see t - 1. Click the gear icon `⚙️` in the top right corner - 2. Click `Advanced settings` - 3. Under `Extensions`, click `Add custom extension` - 4. On the `Add custom extension` modal, enter the following: + 1. Obtain a [GitHub Personal Access Token](https://github.com/settings/personal-access-tokens) + 2. Click the gear icon `⚙️` in the top right corner + 3. Click `Advanced settings` + 4. Under `Extensions`, click `Add custom extension` + 5. On the `Add custom extension` modal, enter the following: - **Extension Name**: GitHub - **Type**: Streamable HTTP - **Endpoint**: `https://api.githubcopilot.com/mcp/` - **Request Headers**: - **Header name**: `Authorization` - **Value**: `Bearer ` - 5. Click `+ Add` to save the header - 6. Click `Add Extension` to save the extension + 6. Click `+ Add` to save the header + 7. Click `Add Extension` to save the extension From d62dfd0c8840886c499920d8b68307cd130efaca Mon Sep 17 00:00:00 2001 From: Diane Diaz Date: Tue, 15 Jul 2025 11:49:45 -0700 Subject: [PATCH 6/6] remove deprecated npx warning --- documentation/docs/mcp/github-mcp.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/documentation/docs/mcp/github-mcp.md b/documentation/docs/mcp/github-mcp.md index 4f58e7f36520..5403521e2adf 100644 --- a/documentation/docs/mcp/github-mcp.md +++ b/documentation/docs/mcp/github-mcp.md @@ -12,10 +12,6 @@ import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructi This tutorial covers how to add the [GitHub MCP Server](https://github.com/github/github-mcp-server) as a Goose extension to enable file operations, repository management, search functionality, and more. -:::warning Migration Notice -The GitHub MCP Server has moved from the deprecated NPM package `@modelcontextprotocol/server-github` to GitHub's official repository. The server is now available as a remote hosted service with no local installation required. -::: - :::tip TLDR