Model Context Protocol (MCP) Server + Github OAuth
@fredrikp999
About Model Context Protocol (MCP) Server + Github OAuth
Example MCP server with OAuth based on https://developers.cloudflare.com/agents/guides/remote-mcp-server/
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-github-oauth.<your-subdomain>.workers.dev/sse"
]
}
}
}Tools
No tools detected
Fetch the live tool list by running this server in a temporary sandbox using the button above.
Overview
What is Model Context Protocol (MCP) Server + Github OAuth?
This is a Model Context Protocol (MCP) server that supports remote MCP connections with built-in GitHub OAuth, deployable to your own Cloudflare account. It serves as a reference example for integrating other OAuth providers with an MCP server deployed to Cloudflare.
How to use Model Context Protocol (MCP) Server + Github OAuth?
Clone the repo and install dependencies with npm install. Create a GitHub OAuth App, set secrets via Wrangler, create a KV namespace, and deploy with wrangler deploy. Test using the MCP Inspector by connecting to the SSE endpoint. Configure Claude Desktop or other MCP clients to connect using the mcp-remote command.
Key features of Model Context Protocol (MCP) Server + Github OAuth
- Built‑in GitHub OAuth authentication for remote MCP connections
- Deployable to Cloudflare Workers with persistent KV storage
- Supports conditional tool availability based on GitHub usernames
- Acts as both OAuth server to clients and OAuth client to GitHub
- Uses Durable Objects for persistent state and authentication context
- Exposes tools via Server‑Sent Events (SSE) protocol
Use cases of Model Context Protocol (MCP) Server + Github OAuth
- Deploy a remote MCP server authenticated via GitHub login
- Restrict sensitive tools (e.g., image generation) to specific GitHub users
- Connect MCP clients like Claude Desktop or Cursor to a protected remote server
- Use as a reference for integrating other OAuth providers with Cloudflare Workers
FAQ from Model Context Protocol (MCP) Server + Github OAuth
What OAuth providers are supported?
The server ships with GitHub OAuth built‑in, but the README notes it can be used as a reference for integrating other OAuth providers.
What runtime and dependencies are required?
The server runs on Cloudflare Workers. Dependencies include the workers-oauth-provider library, Durable MCP, and the MCP Remote library. Local development requires Node.js and Wrangler.
Where does authentication state data live?
Tokens and authentication state are stored in a Cloudflare KV namespace (called OAUTH_KV) configured during deployment.
Are there any known limits?
The README notes that Claude Desktop does not yet fully support remote MCP servers and may show error messages, though tools still work. Cursor supports HTTP+SSE servers but not authentication, so the mcp-remote command is still required.
What transports and authentication are supported?
The server uses Server‑Sent Events (SSE) as the transport. Authentication is handled via GitHub OAuth; all authenticated GitHub users can access basic tools, while the generateImage tool is restricted to usernames listed in the ALLOWED_USERNAMES configuration.
Frequently asked questions
What OAuth providers are supported?
The server ships with GitHub OAuth built‑in, but the README notes it can be used as a reference for integrating other OAuth providers.
What runtime and dependencies are required?
The server runs on Cloudflare Workers. Dependencies include the `workers-oauth-provider` library, Durable MCP, and the MCP Remote library. Local development requires Node.js and Wrangler.
Where does authentication state data live?
Tokens and authentication state are stored in a Cloudflare KV namespace (called `OAUTH_KV`) configured during deployment.
Are there any known limits?
The README notes that Claude Desktop does not yet fully support remote MCP servers and may show error messages, though tools still work. Cursor supports HTTP+SSE servers but not authentication, so the `mcp-remote` command is still required.
What transports and authentication are supported?
The server uses Server‑Sent Events (SSE) as the transport. Authentication is handled via GitHub OAuth; all authenticated GitHub users can access basic tools, while the `generateImage` tool is restricted to usernames listed in the `ALLOWED_USERNAMES` configuration.
Basic information
More Developer Tools MCP servers

CircleCI MCP Server
CircleCIManage CI/CD pipelines, debug failed builds, and optimize test suites directly from your AI agents - no terminal required. The CircleCI MCP Server is a remote server hosted by CircleCI that connects AI tools and agents
LocalCan
LocalCanGives AI agents public URLs (tunnels) for localhost, live HTTP traffic inspection, snapshot publishing, and access control. Part of LocalCan, the ngrok alternative for Mac, Windows and Linux. Free plan.

Routebase
RoutebaseRoutebase keeps your API's design, docs, contract tests, mocks and monitoring in one living OpenAPI spec so they can't drift apart. Agents work on that same source of truth, under your team's permissions.

Skycloak
Manage your Skycloak-hosted Keycloak: clusters, realms, apps, SSO and users, from any MCP client.

Perfex CRM
themesicTurn Perfex CRM into an AI-ready workspace. This MCP server exposes your full REST API to Claude, ChatGPT and any AI agent, so leads, invoices and tasks are one prompt away.
Comments