About GitHub MCP Server Integration
GitHub MCP Server Integration is a FastAPI server for AI assistants that need to access GitHub. It supports profile lookup, repository listing, and issue creation through endpoints described with OpenAPI.
Key features
- 01Fetch authenticated GitHub user details
- 02List repositories by username
- 03Create repository issues
- 04Authenticate with a GitHub token
Use cases
- 01Retrieve a GitHub profile for an assistant
- 02Browse a user's repositories
- 03Create an issue from an AI assistant
MCP support
It implements an MCP server that exposes GitHub profile, repository-listing, and issue-creation operations to AI assistants. OpenAPI and ai-plugin.json describe its endpoints and metadata.
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 Integration
This project demonstrates a Model Context Protocol (MCP) Server that integrates with the GitHub API. It allows AI Assistants like Claude or OpenAI GPT to interact with GitHub using MCP.
🌐 Live Demo
👉 Deployed Server Link
👉 .well-known/ai-plugin.json endpoint:
https://github-mcp-server-production.up.railway.app/.well-known/ai-plugin.json
📖 Project Overview
This MCP Server exposes a REST API that allows AI Assistants to:
- Get user GitHub profile information
- List repositories for a user
- Create an issue in a repository
The server follows Model Context Protocol (MCP) standards to ensure interoperability with AI systems.
🔧 Tech Stack
- FastAPI (Python framework for building APIs)
- OpenAPI (Standard for describing REST APIs)
- ai-plugin.json (MCP metadata configuration)
- GitHub REST API v3
- Deployed on Railway
✨ Features
- MCP-compliant server with OpenAPI documentation
- Secure interaction with GitHub using a personal access token
- AI Assistants can:
- Fetch GitHub user details
- List repositories by username
- Create issues on repositories
📂 Project Structure
├── ai-plugin.json # MCP Plugin metadata for AI Assistants
├── openapi.yaml # OpenAPI spec describing the available endpoints
├── main.py # FastAPI MCP server code
├── requirements.txt # Python dependencies
└── README.md # Project documentation (this file)
🚀 How It Works
1. FastAPI Server
- Exposes REST API endpoints like:
/github/user/github/repos/{username}/github/repos/{owner}/{repo}/issues
2. ai-plugin.json
- Metadata for AI assistants to understand the MCP server:
- Plugin name, description
- Authentication method
- OpenAPI URL reference
3. openapi.yaml
- Defines all routes and parameters for the AI assistant to interact with.
🔐 Authentication
- GitHub Personal Access Token (PAT)
- Set as an environment variable:
GITHUB_TOKEN - Use in your
.envfile or directly in Railway's environment settings.
- Set as an environment variable:
⚙️ Setup Instructions (Local Development)
Prerequisites:
- Python 3.9+
- GitHub Personal Access Token (PAT) with
repopermissions
Clone the repo:
git clone https://github.com/yourusername/github-mcp-server.git
cd github-mcp-server
Install dependencies:
pip install -r requirements.txt
Create .env file:
GITHUB_TOKEN=your_personal_access_token
Run the FastAPI server:
uvicorn main:app --reload
Visit: http://localhost:8000/docs for the Swagger UI
🌍 Deployment (Railway)
- Login at Railway
- Create a new project → Deploy from GitHub → Select your MCP repo
- Add the
GITHUB_TOKENas an environment variable in Railway - Confirm the start command:
uvicorn main:app --host 0.0.0.0 --port 8000 - Deploy & get your production URL (e.g.,
https://github-mcp-server-production.up.railway.app)
🤖 Demonstration with AI Assistants
Claude AI / OpenAI GPT Plugin (optional based on access)
- Register your
.well-known/ai-plugin.jsonURL in the AI assistant settings. - Interact using natural language prompts:
"List my GitHub repositories." "Create an issue in my repo named 'sample-repo'."
📜 OpenAPI Endpoints
| Endpoint | Method | Description |
|---|---|---|
/github/user | GET | Get authenticated user info |
/github/repos/{username} | GET | List repositories of a user |
/github/repos/{owner}/{repo}/issues | POST | Create an issue in a repo |
📝 Example Requests
Get user info
curl -X GET https://github-mcp-server-production.up.railway.app/github/user
List repos
curl -X GET https://github-mcp-server-production.up.railway.app/github/repos/<username>
Create an issue
curl -X POST https://github-mcp-server-production.up.railway.app/github/repos/<owner>/<repo>/issues \
-H "Content-Type: application/json" \
-d '{"title": "Bug found!", "body": "Please fix this bug."}'
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.