Cover image
Try Now
2025-03-15

3 years

Works with Finder

1

Github Watches

0

Github Forks

1

Github Stars

🚀 GitHub MCP Server - FastAPI Implementation

🌟 Overview

This project implements a Model Context Protocol (MCP) server using FastAPI, enabling AI assistants like Claude to interact with GitHub. The server provides API endpoints to fetch user details, manage repositories, create issues, and automate GitHub workflows.

✨ Features

  • ✅ Fetch GitHub user details and repositories
  • Create and manage issues in repositories
  • List all issues in a repository
  • Star a repository
  • ✅ AI-powered GitHub Issue Summarization (Optional)
  • ✅ Secure API with GitHub OAuth Token
  • Asynchronous FastAPI implementation

🛠️ Setup & Installation

1️⃣ Clone the Repository

git clone https://github.com/snehaapratap/mcp-server.git
cd mcp-server

2️⃣ Create & Activate a Virtual Environment

python3 -m venv venv
source venv/bin/activate  

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Set Up Environment Variables

Create a .env file in the root directory and add your GitHub Personal Access Token (PAT):

GITHUB_TOKEN=your_personal_access_token

5️⃣ Run the FastAPI Server

uvicorn server:app --reload

The server will start on http://127.0.0.1:8000.


🔥 API Endpoints

Method Endpoint Description
GET / Health check for MCP server
GET /github/user Fetch GitHub user details
GET /github/repos Get all repositories of the authenticated user
POST /github/create-issue Create an issue in a repository
GET /github/list-issues List all issues in a repository
PUT /github/star-repo Star a repository
POST /github/summarize-issues AI-powered issue summarization (Optional)

⚡ Usage Examples (cURL)

🔹 Get User Details

curl -X GET "http://127.0.0.1:8000/github/user"

🔹 Fetch Repositories

curl -X GET "http://127.0.0.1:8000/github/repos"

🔹 Create an Issue

curl -X POST "http://127.0.0.1:8000/github/create-issue?owner=your-username&repo=your-repo&title=New%20Issue&body=This%20is%20a%20test%20issue"

🔹 Star a Repository

curl -X PUT "http://127.0.0.1:8000/github/star-repo?owner=your-username&repo=your-repo"

🎥 Slides

📌 View the Slides


🛡️ Error Handling

The API handles errors gracefully and returns meaningful messages:

{
  "error": "Invalid GitHub Token",
  "hint": "Ensure your token has the 'repo' scope."
}

🎯 Future Enhancements

  • 🔹 Support for pull requests management
  • 🔹 Implement WebSockets for real-time GitHub notifications
  • 🔹 Deploy on AWS/GCP with CI/CD pipeline

💡 Contributing

Want to improve this project? Feel free to open a pull request or file an issue!


👨‍💻 Author

🔹 Sneha P Pratap
🔹 GitHub: @snehaapratap
🔹 LinkedIn: Sneha Prem Pratap


相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Lists Tailwind CSS classes in monospaced font

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • OffchainLabs
  • Go implementation of Ethereum proof of stake

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

    Reviews

    1 (1)
    Avatar
    user_RRsEsOxb
    2025-04-16

    I've been using the mcp-server by snehaapratap and it has been incredibly reliable and efficient. The seamless integration and robust performance make it a top choice for any server-based applications. The documentation is clear, and the community around it is very supportive. Highly recommend checking it out at https://github.com/snehaapratap/mcp-server!