From f233bbaf072ec92166db23f4e720d8253b8faa5b Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 11 Feb 2026 11:43:27 +0000 Subject: [PATCH 1/4] feat: add GitHub remote MCP server and merge enterprise into local - com.github-mcp: Merge local + enterprise into one definition with optional GITHUB_HOST input (leave empty for GitHub.com, set for GHES/ghe.com) - com.github-mcp-http: Add remote HTTP server at api.githubcopilot.com/mcp/ with OAuth (note: DCR not supported, requires pre-registered OAuth app) https://claude.ai/code/session_013AxurW8hPAfnUNvik354Xx --- servers/com.github-mcp-http.json | 47 ++++++++++++++++++++++++++++++++ servers/com.github-mcp.json | 23 ++++++++++++---- 2 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 servers/com.github-mcp-http.json diff --git a/servers/com.github-mcp-http.json b/servers/com.github-mcp-http.json new file mode 100644 index 0000000..5686263 --- /dev/null +++ b/servers/com.github-mcp-http.json @@ -0,0 +1,47 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.github-mcp-http", + "name": "GitHub (Remote)", + "alias": "gh-remote", + "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through GitHub's hosted remote MCP server. No local installation required. Requires an MCP host with a pre-registered GitHub OAuth App (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.).", + "icon": "https://avatars.githubusercontent.com/u/9919?v=4", + "schema_version": "2.1", + "categories": ["developer-tools", "version-control"], + "tags": ["git", "github", "code", "issues", "pull-requests", "repos", "actions", "code-review", "remote"], + + "transport": { + "type": "http", + "url": "https://api.githubcopilot.com/mcp/", + "metadata": { + "inputs": [] + } + }, + + "auth": { + "type": "oauth", + "instructions": "Your MCP host must have a pre-registered GitHub OAuth App. GitHub does not support Dynamic Client Registration (DCR). Compatible hosts include VS Code 1.101+, Claude Desktop, Cursor, and Windsurf. For hosts without pre-registered OAuth, use the local Docker version instead." + }, + + "contributor": { + "name": "GitHub", + "github": "github", + "url": "https://github.com" + }, + + "links": { + "repository": "https://github.com/github/github-mcp-server", + "homepage": "https://github.com", + "documentation": "https://github.com/github/github-mcp-server#readme" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": true, + "prompts": true, + "read_only_mode": false + }, + + "changelog_url": "https://github.com/github/github-mcp-server/releases" +} diff --git a/servers/com.github-mcp.json b/servers/com.github-mcp.json index c14b20e..185e913 100644 --- a/servers/com.github-mcp.json +++ b/servers/com.github-mcp.json @@ -1,24 +1,26 @@ { "$schema": "../schemas/server-definition.schema.json", "id": "com.github-mcp", - "name": "GitHub", + "name": "GitHub (Local)", "alias": "gh", - "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through the official GitHub MCP server.", + "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through the official GitHub MCP server running locally via Docker. Supports GitHub.com, GitHub Enterprise Server, and GitHub Enterprise Cloud (ghe.com).", "icon": "https://avatars.githubusercontent.com/u/9919?v=4", "schema_version": "2.1", "categories": ["developer-tools", "version-control"], - "tags": ["git", "github", "code", "issues", "pull-requests", "repos", "actions", "code-review"], + "tags": ["git", "github", "code", "issues", "pull-requests", "repos", "actions", "code-review", "enterprise"], "transport": { "type": "stdio", "command": "docker", "args": [ - "run", "-i", "--rm", "-e", - "GITHUB_PERSONAL_ACCESS_TOKEN", + "run", "-i", "--rm", + "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", + "-e", "GITHUB_HOST", "ghcr.io/github/github-mcp-server" ], "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:GITHUB_TOKEN}" + "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:GITHUB_TOKEN}", + "GITHUB_HOST": "${input:GITHUB_HOST}" }, "metadata": { "inputs": [ @@ -35,6 +37,15 @@ "instructions": "1. Click 'Generate new token (classic)'\n2. Give it a name like 'McpMux'\n3. Select scopes: repo, read:org\n4. Click 'Generate token'\n5. Copy the token (starts with ghp_)", "button_label": "Create Token" } + }, + { + "id": "GITHUB_HOST", + "label": "GitHub Host (Optional)", + "description": "Leave empty for GitHub.com. For GitHub Enterprise Server, use https://YOUR-HOSTNAME. For GitHub Enterprise Cloud with data residency, use https://SUBDOMAIN.ghe.com.", + "type": "text", + "required": false, + "secret": false, + "placeholder": "https://github.example.com or https://octocorp.ghe.com" } ] } From 3531bce813156ee9288ebbd689040d2bb2bc66cc Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 11 Feb 2026 13:17:40 +0000 Subject: [PATCH 2/4] Add bearer auth token input to GitHub remote MCP server GitHub's remote MCP endpoint supports both OAuth and PAT bearer token authentication. Added optional GITHUB_TOKEN input for hosts that don't have pre-registered GitHub OAuth Apps. https://claude.ai/code/session_013AxurW8hPAfnUNvik354Xx --- servers/com.github-mcp-http.json | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/servers/com.github-mcp-http.json b/servers/com.github-mcp-http.json index 5686263..1523af2 100644 --- a/servers/com.github-mcp-http.json +++ b/servers/com.github-mcp-http.json @@ -3,7 +3,7 @@ "id": "com.github-mcp-http", "name": "GitHub (Remote)", "alias": "gh-remote", - "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through GitHub's hosted remote MCP server. No local installation required. Requires an MCP host with a pre-registered GitHub OAuth App (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.).", + "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through GitHub's hosted remote MCP server. No local installation required. Supports OAuth or Personal Access Token (Bearer) authentication.", "icon": "https://avatars.githubusercontent.com/u/9919?v=4", "schema_version": "2.1", "categories": ["developer-tools", "version-control"], @@ -13,13 +13,28 @@ "type": "http", "url": "https://api.githubcopilot.com/mcp/", "metadata": { - "inputs": [] + "inputs": [ + { + "id": "GITHUB_TOKEN", + "label": "GitHub Personal Access Token", + "description": "Personal Access Token for bearer authentication. Required if your MCP host does not support GitHub OAuth. Create a fine-grained PAT with the scopes needed for the tools you want to use.", + "type": "password", + "required": false, + "secret": true, + "placeholder": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "obtain": { + "url": "https://github.com/settings/tokens?type=beta", + "instructions": "1. Go to github.com/settings/tokens\n2. Click 'Generate new token' > 'Fine-grained token'\n3. Set expiration, select repositories, and choose permissions\n4. Click 'Generate token' and copy it", + "button_label": "Create Token" + } + } + ] } }, "auth": { "type": "oauth", - "instructions": "Your MCP host must have a pre-registered GitHub OAuth App. GitHub does not support Dynamic Client Registration (DCR). Compatible hosts include VS Code 1.101+, Claude Desktop, Cursor, and Windsurf. For hosts without pre-registered OAuth, use the local Docker version instead." + "instructions": "Primary: OAuth via a pre-registered GitHub OAuth App (VS Code 1.101+, Claude Desktop, Cursor, Windsurf). GitHub does not support DCR. Alternative: Provide a GitHub Personal Access Token (PAT) as a Bearer token in the Authorization header for hosts that don't support GitHub OAuth." }, "contributor": { From fa16b5fc24f883c06531e1e3d482396e6faf2fab Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 11 Feb 2026 13:27:55 +0000 Subject: [PATCH 3/4] Add headers support to HTTP transport schema, use PAT bearer for GitHub Schema change: - Added optional 'headers' field to HTTP transport with ${input:ID} placeholder support GitHub remote definition: - Added Authorization header: "Bearer ${input:GITHUB_TOKEN}" - Changed auth type from oauth to api_key (PAT-only, no DCR/OAuth) - Made GITHUB_TOKEN required - Platform does not use DCR or pre-registered OAuth clients https://claude.ai/code/session_013AxurW8hPAfnUNvik354Xx --- schemas/server-definition.schema.json | 5 +++++ servers/com.github-mcp-http.json | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/schemas/server-definition.schema.json b/schemas/server-definition.schema.json index 52b7ee1..b99d768 100644 --- a/schemas/server-definition.schema.json +++ b/schemas/server-definition.schema.json @@ -167,6 +167,11 @@ "format": "uri", "description": "HTTP endpoint URL (supports Streamable HTTP)" }, + "headers": { + "type": "object", + "additionalProperties": { "type": "string" }, + "description": "HTTP headers to include with requests. Values support ${input:ID} placeholders for user-provided values." + }, "metadata": { "$ref": "#/$defs/metadata" } diff --git a/servers/com.github-mcp-http.json b/servers/com.github-mcp-http.json index 1523af2..62ad4f3 100644 --- a/servers/com.github-mcp-http.json +++ b/servers/com.github-mcp-http.json @@ -3,7 +3,7 @@ "id": "com.github-mcp-http", "name": "GitHub (Remote)", "alias": "gh-remote", - "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through GitHub's hosted remote MCP server. No local installation required. Supports OAuth or Personal Access Token (Bearer) authentication.", + "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through GitHub's hosted remote MCP server. No local installation required. Authenticates with a Personal Access Token (PAT) via Bearer header.", "icon": "https://avatars.githubusercontent.com/u/9919?v=4", "schema_version": "2.1", "categories": ["developer-tools", "version-control"], @@ -12,14 +12,17 @@ "transport": { "type": "http", "url": "https://api.githubcopilot.com/mcp/", + "headers": { + "Authorization": "Bearer ${input:GITHUB_TOKEN}" + }, "metadata": { "inputs": [ { "id": "GITHUB_TOKEN", "label": "GitHub Personal Access Token", - "description": "Personal Access Token for bearer authentication. Required if your MCP host does not support GitHub OAuth. Create a fine-grained PAT with the scopes needed for the tools you want to use.", + "description": "Personal Access Token for GitHub. Create a fine-grained PAT with the scopes needed for the tools you want to use.", "type": "password", - "required": false, + "required": true, "secret": true, "placeholder": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "obtain": { @@ -33,8 +36,8 @@ }, "auth": { - "type": "oauth", - "instructions": "Primary: OAuth via a pre-registered GitHub OAuth App (VS Code 1.101+, Claude Desktop, Cursor, Windsurf). GitHub does not support DCR. Alternative: Provide a GitHub Personal Access Token (PAT) as a Bearer token in the Authorization header for hosts that don't support GitHub OAuth." + "type": "api_key", + "instructions": "Create a GitHub Personal Access Token (fine-grained) at https://github.com/settings/tokens with the scopes needed for the tools you want to use. The token is sent as a Bearer token in the Authorization header." }, "contributor": { From f15579d6f96eb72d8412cd78cfebc65a7e427229 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 12 Feb 2026 15:13:42 +0000 Subject: [PATCH 4/4] Add default field to schema, fix GITHUB_HOST default and input ID mismatch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add `default` property to input schema - Add default value "https://api.github.com" to GITHUB_HOST input - Fix input ID mismatch: GITHUB_TOKEN → GITHUB_PERSONAL_ACCESS_TOKEN to match env var https://claude.ai/code/session_013AxurW8hPAfnUNvik354Xx --- schemas/server-definition.schema.json | 4 ++++ servers/com.github-mcp.json | 13 +++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/schemas/server-definition.schema.json b/schemas/server-definition.schema.json index b99d768..50d972d 100644 --- a/schemas/server-definition.schema.json +++ b/schemas/server-definition.schema.json @@ -223,6 +223,10 @@ "type": "string", "description": "Help text for this input" }, + "default": { + "type": "string", + "description": "Default value for this input. Used when the user does not provide a value." + }, "placeholder": { "type": "string", "description": "Placeholder text" diff --git a/servers/com.github-mcp.json b/servers/com.github-mcp.json index 185e913..a52ae06 100644 --- a/servers/com.github-mcp.json +++ b/servers/com.github-mcp.json @@ -19,13 +19,13 @@ "ghcr.io/github/github-mcp-server" ], "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:GITHUB_TOKEN}", + "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:GITHUB_PERSONAL_ACCESS_TOKEN}", "GITHUB_HOST": "${input:GITHUB_HOST}" }, "metadata": { "inputs": [ { - "id": "GITHUB_TOKEN", + "id": "GITHUB_PERSONAL_ACCESS_TOKEN", "label": "GitHub Personal Access Token", "description": "Token used to authenticate with the GitHub API. Requires repo and read:org scopes.", "type": "password", @@ -40,12 +40,13 @@ }, { "id": "GITHUB_HOST", - "label": "GitHub Host (Optional)", - "description": "Leave empty for GitHub.com. For GitHub Enterprise Server, use https://YOUR-HOSTNAME. For GitHub Enterprise Cloud with data residency, use https://SUBDOMAIN.ghe.com.", - "type": "text", + "label": "GitHub Host", + "description": "GitHub hostname. Set this for GitHub Enterprise Server or GitHub Enterprise Cloud with data residency. Leave empty for github.com.", + "type": "url", "required": false, "secret": false, - "placeholder": "https://github.example.com or https://octocorp.ghe.com" + "default": "https://api.github.com", + "placeholder": "https://github.example.com" } ] }