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.
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_TOKENwith 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:
- Query Parameter (recommended):
?token=YOUR_TOKEN - Header:
X-GitHub-Token: YOUR_TOKEN - Environment Variable:
GITHUB_PERSONAL_ACCESS_TOKEN(server default)
Available Tools
Repository Tools
Tools for managing GitHub repositories:
get_commit: Get details for a specific commitlist_commits: Get list of commits in a branchlist_branches: List branches in a repositorycreate_or_update_file: Create or update a file in a repositorycreate_repository: Create a new GitHub repositoryget_file_contents: Get contents of a file or directoryfork_repository: Fork a repository to your account or organization
Search Tools
Tools for searching GitHub:
search_repositories: Search for GitHub repositoriessearch_code: Search for code across GitHub repositoriessearch_users: Search for GitHub users
Issue Tools
Tools for managing GitHub issues:
get_issue: Get details of a specific issueadd_issue_comment: Add a comment to an issuesearch_issues: Search for issues across repositoriescreate_issue: Create a new issuelist_issues: List issues in a repositoryupdate_issue: Update an existing issue
Pull Request Tools
Tools for managing pull requests:
get_pull_request: Get details of a specific pull requestupdate_pull_request: Update an existing pull requestlist_pull_requests: List pull requests in a repositorymerge_pull_request: Merge a pull requestget_pull_request_files: Get files changed in a pull requestget_pull_request_status: Get the status of a pull requestget_pull_request_review_comments: Get review comments (line-by-line code comments) for a pull requestcreate_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
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.