GitHub MCP Server

GitHub MCP Server

Enables interaction with GitHub repositories, issues, pull requests, and code search through natural language. Supports self-hosted deployment with built-in analytics and flexible authentication options.

Category
Visit Server

README

GitHub MCP Server

MCP (Model Context Protocol) server for interacting with GitHub.

Note: This is a fork of smithery-ai/mcp-servers/github.

What's Changed in This Fork

  • Self-hosted VPS deployment - Added Streamable HTTP transport for hosting on your own server
  • Docker support - Dockerfile and docker-compose.yml for containerized deployment
  • Nginx reverse proxy config - Ready-to-use nginx location block
  • GitHub Actions auto-deploy - Automatic deployment on push to main
  • Analytics dashboard - Built-in usage tracking and visual dashboard
  • Flexible authentication - Support for token via query param, header, or environment variable

MCP Endpoint: https://mcp.techmavie.digital/github/mcp

Analytics Dashboard: https://mcp.techmavie.digital/github/analytics/dashboard

Quick Start (Hosted Server)

The easiest way to use this MCP server is via the hosted endpoint. No installation required!

Client Configuration

For Claude Desktop / Cursor / Windsurf, add to your MCP configuration:

{
  "mcpServers": {
    "github": {
      "transport": "streamable-http",
      "url": "https://mcp.techmavie.digital/github/mcp?token=YOUR_GITHUB_TOKEN"
    }
  }
}

Note: Replace YOUR_GITHUB_TOKEN with your GitHub Personal Access Token.

Test with MCP Inspector

npx @modelcontextprotocol/inspector
# Select "Streamable HTTP"
# Enter URL: https://mcp.techmavie.digital/github/mcp?token=YOUR_GITHUB_TOKEN

Test with curl

# List all available tools
curl -X POST "https://mcp.techmavie.digital/github/mcp?token=YOUR_GITHUB_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# Call the hello tool
curl -X POST "https://mcp.techmavie.digital/github/mcp?token=YOUR_GITHUB_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"hello","arguments":{}}}'

Authentication

The server supports three ways to provide a GitHub token:

  1. Query Parameter (recommended): ?token=YOUR_TOKEN
  2. Header: X-GitHub-Token: YOUR_TOKEN
  3. Environment Variable: GITHUB_PERSONAL_ACCESS_TOKEN (server default)

Available Tools

Repository Tools

Tools for managing GitHub repositories:

  • get_commit: Get details for a specific commit
  • list_commits: Get list of commits in a branch
  • list_branches: List branches in a repository
  • create_or_update_file: Create or update a file in a repository
  • create_repository: Create a new GitHub repository
  • get_file_contents: Get contents of a file or directory
  • fork_repository: Fork a repository to your account or organization

Search Tools

Tools for searching GitHub:

  • search_repositories: Search for GitHub repositories
  • search_code: Search for code across GitHub repositories
  • search_users: Search for GitHub users

Issue Tools

Tools for managing GitHub issues:

  • get_issue: Get details of a specific issue
  • add_issue_comment: Add a comment to an issue
  • search_issues: Search for issues across repositories
  • create_issue: Create a new issue
  • list_issues: List issues in a repository
  • update_issue: Update an existing issue

Pull Request Tools

Tools for managing pull requests:

  • get_pull_request: Get details of a specific pull request
  • update_pull_request: Update an existing pull request
  • list_pull_requests: List pull requests in a repository
  • merge_pull_request: Merge a pull request
  • get_pull_request_files: Get files changed in a pull request
  • get_pull_request_status: Get the status of a pull request
  • get_pull_request_review_comments: Get review comments (line-by-line code comments) for a pull request
  • create_pull_request_review_comment: Create a review comment on a pull request

Self-Hosting (VPS)

If you prefer to run your own instance, see deploy/DEPLOYMENT.md for detailed VPS deployment instructions with Docker and Nginx.

# Using Docker
docker compose up -d --build

# Or run directly
npm run build:tsc
npm run start:http

Local Development

# Install dependencies
npm install

# Run HTTP server in development mode
npm run dev:http

# Or build and run production version
npm run build:tsc
npm run start:http

# Test health endpoint
curl http://localhost:8080/health

Project Structure

├── src/
│   ├── index.ts              # Main MCP server entry point (Smithery)
│   ├── http-server.ts        # Streamable HTTP server for VPS
│   └── tools/
│       ├── issues.ts         # Issue management tools
│       ├── pullrequests.ts   # Pull request tools
│       ├── repositories.ts   # Repository tools
│       └── search.ts         # Search tools
├── deploy/
│   ├── DEPLOYMENT.md         # VPS deployment guide
│   └── nginx-mcp.conf        # Nginx reverse proxy config
├── .github/
│   └── workflows/
│       └── deploy-vps.yml    # GitHub Actions auto-deploy
├── docker-compose.yml        # Docker deployment config
├── Dockerfile                # Container build config
├── package.json              # Project dependencies
├── tsconfig.json             # TypeScript configuration
└── README.md                 # This file

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured