GitHub MCP Server - Local Docker Setup
LocalAbout GitHub MCP Server - Local Docker Setup
A Docker Compose setup for running GitHub MCP Server locally with HTTP access on port 3000. It supports configuration of GitHub toolsets and automatic container restarts.
Key features
- 01Docker Compose startup
- 02HTTP access on port 3000
- 03Configurable GitHub toolsets
- 04Automatic container restart
Use cases
- 01Run GitHub MCP Server locally
- 02Enable selected GitHub toolsets
- 03Connect an HTTP MCP client
MCP support
Runs GitHub MCP Server and accepts MCP protocol requests over HTTP at `/mcp`, exposing the configured GitHub toolsets to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGitHub MCP Server - Local Docker Setup
This repository provides an easy way to run the GitHub MCP Server locally using Docker Compose with HTTP access on port 3000.
What is GitHub MCP Server?
The GitHub MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with GitHub APIs, enabling advanced automation and interaction capabilities for developers and tools.
Features
- Easy Setup: Just run
docker-compose upto start the server - HTTP Access: Access the MCP server via HTTP on port 3000
- Configurable: Support for all GitHub MCP Server configuration options
- Auto-restart: Containers automatically restart on failure
Quick Start
Prerequisites
- Docker installed and running
- Docker Compose installed
- A GitHub Personal Access Token
Setup
-
Clone this repository:
git clone https://github.com/shesadri/github-mcp-server-local.git cd github-mcp-server-local -
Create environment file:
cp .env.example .env -
Configure your GitHub token: Edit
.envfile and replaceyour_github_token_herewith your actual GitHub Personal Access Token. -
Start the server:
docker-compose up -d -
Access the server: The server will be available at
http://localhost:3000
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
GITHUB_PERSONAL_ACCESS_TOKEN | Your GitHub Personal Access Token | Required |
GITHUB_TOOLSETS | Comma-separated list of toolsets to enable | all |
GITHUB_DYNAMIC_TOOLSETS | Enable dynamic toolset discovery (0 or 1) | 0 |
PORT | HTTP server port | 3000 |
Available Toolsets
repos- Repository-related tools (file operations, branches, commits)issues- Issue-related tools (create, read, update, comment)users- Anything relating to GitHub Userspull_requests- Pull request operations (create, merge, review)code_security- Code scanning alerts and security featuresexperiments- Experimental features (not considered stable)
To enable specific toolsets, set GITHUB_TOOLSETS=repos,issues,pull_requests in your .env file.
Usage
Check Server Status
curl http://localhost:3000/health
Make MCP Requests
The server accepts MCP protocol requests via HTTP POST:
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'
Docker Commands
Start services
docker-compose up -d
Stop services
docker-compose down
View logs
docker-compose logs -f
Rebuild and restart
docker-compose down
docker-compose build --no-cache
docker-compose up -d
Troubleshooting
Check if containers are running
docker-compose ps
View container logs
docker-compose logs github-mcp-server
docker-compose logs mcp-http-proxy
Reset everything
docker-compose down -v
docker-compose up -d
Security Notes
- Keep your GitHub Personal Access Token secure
- Only grant the minimum permissions necessary for your use case
- Consider using GitHub App tokens for production deployments
- The server runs on localhost by default - configure firewall rules appropriately
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the original GitHub MCP Server for license details.
Related Projects
- GitHub MCP Server - The original GitHub MCP Server
- Model Context Protocol - Learn more about MCP
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.