Skip to main content
Glama
keyona-rerev

GitHub MCP Server

by keyona-rerev

GitHub MCP Server

A self-hosted MCP server that gives Claude access to your GitHub account — read files, browse repos, commit changes, and manage issues and pull requests, all from a conversation.

You deploy it to your own Railway account under your own GitHub token, so your code and credentials stay yours.

Setup

→ SETUP.md — full walkthrough, about 15 minutes.

Short version:

  1. Create a fine-grained GitHub personal access token

  2. Fork this repo (already forked it? sync your fork first)

  3. Generate an auth token — a new random string you invent, not your GitHub token (openssl rand -hex 32)

  4. Deploy to Railway with both tokens as variables

  5. Add https://your-app.up.railway.app/mcp?key=your-auth-token as a custom connector in Claude

  6. Verify — /mcp without the key should return 403 Forbidden, with the key should return ok

Related MCP server: mcp-github-server

What Claude can do once it's connected

  • Read any file, directory, or full file tree in your repos

  • Create and update files with real commits

  • List and search repos, commits, and branches

  • Create, read, update, and comment on issues

  • List, read, and merge pull requests

  • Search code, repos, and issues across your account

Claude shows these as 15 read-only tools and 5 write/delete tools, and lets you require approval per tool. Worth gating the write ones.

Security

The /mcp endpoint requires a shared secret passed as ?key=. Without it, requests are rejected with 403 Forbidden. The server will not start at all unless MCP_AUTH_TOKEN is set, so it can never run unprotected.

Generate your own auth token. Do not reuse one from another deployment. Your Railway URL is public, and this server holds a GitHub token with write access to your repos — the auth token is the only thing standing between that and anyone who happens to have your URL.

/health is intentionally open so Railway's healthcheck can reach it. It exposes no data and runs no tools.

Requirements

  • A GitHub account

  • A Railway account (the free tier is enough to start)

  • A Claude plan that supports custom connectors

Stack

TypeScript, Express, and the official MCP SDK over streamable HTTP. Deployed via Dockerfile; Railway config is in railway.toml.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives Claude Desktop complete intelligence about any public GitHub repository. Research libraries, compare packages, audit dependencies, and explore codebases through natural conversation.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that gives Claude live access to your GitHub workspace — PR reviews, issue triaging, repo search, and weekly digest reports through natural language.
    7
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that lets Claude Code manage GitHub issues, branches, and pull requests through natural language, automating the full development workflow from planning to closing.
    239 npm
    2
    MIT