Provides comprehensive tools for managing GitHub repositories, issues, pull requests, branches, commits, and file operations, as well as searching across repositories, code, and users on the GitHub platform.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitHub MCP Serverlist pull requests in the claude-desktop repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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_TOKENTest 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_TOKENHeader:
X-GitHub-Token: YOUR_TOKENEnvironment 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:httpLocal 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/healthProject 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