Skip to main content
Glama
ShyaM-SqS

GitHub MCP Server

by ShyaM-SqS
README.md
# MCP: GitHub MCP Server

This project exposes **GitHub repository actions** (like listing PRs, issues, creating issues, and merging PRs) as **OpenAPI endpoints** using **FastAPI**.  
It is designed to be deployed as a **Managed Control Plane (MCP) server** for use with an LLM agent orchestration framework.

---

## Features

- List open pull requests for a repo
- List open issues
- Create new issues
- Merge pull requests

---

## Tech Stack

- Python 3.12
- FastAPI
- Docker
- Google Cloud Run
- GitHub REST API

---

## Project Structure

```
MCP/
 ├── server.py
 ├── requirements.txt
 ├── Dockerfile
 ├── .gitignore
 ├── .env (NOT committed, use Cloud Run env vars)
```

---

## Setup & Run Locally

1. Clone the repo:
   ```bash
   git clone https://github.com/ShyaM-SqS/MCP.git
   cd MCP
   ```

2. Create a virtual environment:
   ```bash
   python -m venv .venv
   ```

3. Activate your environment:
   ```bash
   # Windows PowerShell
   .venv\Scripts\Activate

   # Or on Mac/Linux
   source .venv/bin/activate
   ```

4. Install dependencies:
   ```bash
   pip install -r requirements.txt
   ```

5. Create a `.env` file with your GitHub token:
   ```env
   GITHUB_TOKEN=<your_personal_access_token>
   ```

6. Run the server locally:
   ```bash
   uvicorn server:app --reload --host 0.0.0.0 --port 8080
   ```

---

## Deployment

- Build and push your container image to Artifact Registry, Docker Hub, or Cloud Build.
- Deploy to **Google Cloud Run**.
- Pass `GITHUB_TOKEN` securely as an environment variable in your Cloud Run service configuration.

---

## License

Apache 2.0