You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added GitHub App authentication as an alternative to Personal Access
Token for GitHub MCP integration, supporting GitHub.com and Enterprise.
* **Documentation**
* Reworked GitHub MCP docs with clearer prerequisites, unified
in-cluster deployment guidance, and simplified Helm/config examples
using in-cluster MCP endpoints.
* **Chores**
* Moved token management to the in-cluster MCP component and removed the
legacy local token refresh mechanism.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: avi@robusta.dev <avi@robusta.dev>
@@ -4,9 +4,12 @@ The GitHub MCP server provides access to GitHub repositories, pull requests, iss
4
4
5
5
## Overview
6
6
7
-
The GitHub MCP server is deployed as a separate pod in your cluster when using the Holmes or Robusta Helm charts. For CLI users, you'll need to deploy the MCP server manually and configure Holmes to connect to it.
7
+
Holmes supports two authentication methods for GitHub. Both deploy a self-hosted MCP server pod in your cluster that wraps the [official GitHub MCP server](https://github.com/github/github-mcp-server):
8
8
9
-
The server supports both GitHub.com and GitHub Enterprise Server, making it suitable for both cloud and on-premises deployments.
9
+
-**Personal Access Token (PAT)**: Uses the standard `github-mcp` image. The PAT is passed directly to the MCP server.
10
+
-**GitHub App**: Uses the `github-app-mcp` image which automatically generates and refreshes short-lived installation tokens from GitHub App credentials.
11
+
12
+
Both methods support GitHub.com and GitHub Enterprise Server.
10
13
11
14
## Prerequisites
12
15
@@ -259,7 +262,7 @@ Before deploying the GitHub MCP server, you need a GitHub Personal Access Token
259
262
260
263
### Using a GitHub App
261
264
262
-
Instead of a Personal Access Token, you can authenticate using a [GitHub App](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps). This method uses GitHub's remote MCP endpoint (`api.githubcopilot.com/mcp`) with automatically refreshed installation tokens.
265
+
Instead of a Personal Access Token, you can authenticate using a [GitHub App](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps). This deploys the `github-app-mcp` image which wraps the official GitHub MCP server with automatic installation token generation and refresh.
263
266
264
267
**Step 1: Create a GitHub App**
265
268
@@ -296,52 +299,82 @@ Note the **Installation ID** from the URL after installation: `https://github.co
296
299
297
300
Find the **App ID** on the App's settings page (under "About").
298
301
299
-
**Step 5: Configure the GitHub MCP Server**
302
+
**Step 5: Configure Holmes**
300
303
301
-
Choose one of:
304
+
=== "Holmes CLI"
302
305
303
-
-**Self-hosted in cluster** — Deploy the MCP server using [Steps 1–2 from the PAT section above](#using-a-personal-access-token), then use its in-cluster URL.
304
-
-**GitHub's remote endpoint** — Use `https://api.githubcopilot.com/mcp` (no deployment needed).
306
+
For CLI usage, deploy the `github-app-mcp` server in your cluster and connect Holmes to it.
305
307
306
-
**Step 6: Configure Holmes**
308
+
**Create the Kubernetes secret:**
307
309
308
-
=== "Holmes CLI"
310
+
```bash
311
+
kubectl create namespace holmes-mcp # if not already created
309
312
310
-
Set the following environment variables and add the MCP server to **~/.holmes/config.yaml**:
A self-hosted MCP server pod is deployed using the `github-app-mcp` image, which generates and auto-refreshes installation tokens internally. The token refresh interval defaults to 30 minutes.
0 commit comments