Home / MCP / GitHub MCP Server
Provides an MCP server to list and create GitHub issues in a repository using a GitHub token.
Configuration
View docs{
"mcpServers": {
"github_mcp": {
"command": "python",
"args": [
"-m",
"src.mcp_github.server"
],
"env": {
"GITHUB_TOKEN": "YOUR_TOKEN"
}
}
}
}You can run a dedicated MCP server that interacts with GitHub issues, allowing you to list repository issues and create new ones directly through your MCP client. This server handles authentication, validation, and error reporting to make building workflows around GitHub issues smooth and reliable.
You will run the MCP server locally and connect to it from your MCP client. The server exposes two capabilities: listing issues from a GitHub repository and creating new issues in a repository. Use these endpoints to integrate GitHub issue management into your workflows, dashboards, or automation tasks. Ensure your GitHub token is configured so the server can authenticate to GitHub on your behalf.
Prerequisites: Python is required to run the MCP server. You also need a tool for managing Python environments and dependencies as shown in the steps.
# Install uv (tooling for Python MCP runtimes)
pip install uv
# Create and activate a virtual environment using uv
uv venv
# On Windows use: .venv\Scripts\activate
source .venv/bin/activate
# Install project dependencies
uv pip install -r requirements.txtConfigure your GitHub token by copying a template and editing the value.
cp .env.template .env
```
Edit the environment file to include your GitHub Personal Access Token in the following form:GITHUB_TOKEN=your_token_hereStart the MCP server so it begins listening for requests from your MCP client.
python -m src.mcp_github.serverThe server uses a GitHub Personal Access Token for authentication. You should keep this token secure and avoid exposing it in logs or shared configurations.
Required environment variable for the server: GITHUB_TOKEN. This token must have the repo scope to list and create issues.
Fetches and returns a list of issues from a specified GitHub repository, enabling you to view open issues and their metadata.
Creates a new issue in a specified GitHub repository with a title and body, allowing you to automate issue creation from your MCP client.