home / mcp / github mcp server

Github MCP Server

Provides a remote MCP server with GitHub OAuth for authentication and tool access control.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "conshus-mcp-github-oauth": {
      "url": "https://mcp-github-oauth.<your-subdomain>.workers.dev/mcp",
      "headers": {
        "GITHUB_CLIENT_ID": "YOUR_CLIENT_ID",
        "GITHUB_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

This MCP server provides remote MCP connections with GitHub OAuth built-in, enabling you to deploy your own OAuth-enabled MCP server on Cloudflare Workers and let users sign in with GitHub to access tools you expose.

How to use

You connect to your MCP server from an MCP client or Inspector. After you sign in with GitHub, you gain access to the tools you have enabled for your authenticated users. Access is controlled by GitHub usernames, so you can restrict powerful actions to trusted contributors. When you test with the Inspector, you’ll go through the OAuth flow and then you will see the Tools listed in the interface.

How to install

Prerequisites you need before starting: Node.js and npm, and Wrangler for Cloudflare Workers development and deployment.

Install dependencies and set up a remote MCP server on Cloudflare:

Access control

GitHub OAuth determines who can access the MCP server’s tools. Basic tools like add and userInfoOctokit are available to all authenticated users, while more powerful actions can be restricted to specific GitHub usernames using a configured allowlist.

Access the remote MCP server from Claude Desktop

Open Claude Desktop and go to Settings → Developer → Edit Config to replace the MCP server list. After you restart Claude Desktop, a browser window opens for OAuth login. Complete the flow to grant Claude access to your MCP server. When authentication succeeds, the tools become available for use.

How to develop and test locally

To iterate and test locally, you can run the server with Cloudflare’s development environment. You will create a development GitHub OAuth app and store credentials in a local file.

Start the local server with the development command shown here.

wrangler dev

Tools and access control details

The server exposes tools through the MCP protocol. You can control which GitHub usernames can access certain tools by configuring an allowlist for actions like image generation. Tools described include add, userInfoOctokit, and generateImage.

Available tools

add

Adds an item or data entry through the MCP client interface.

userInfoOctokit

Fetches authenticated user information using Octokit to tailor responses.

generateImage

Generates images using GitHub-authenticated user context with access control.