README.md•1.63 kB
# 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