Skip to main content
Glama
AdiXgit

MCP: Local PR Description Generator

by AdiXgit

🧠 MCP:Local PR Description Generator using Mistral

This project is a lightweight tool that uses Mistral running locally via Ollama to generate clean, structured GitHub pull request (PR) descriptions from staged git diffs.

It wraps the model inside a FastAPI server and provides a Gradio web UI for quick generation.


📌 Features

  • ðŸ’ŧ Local-first: All processing is done on your machine using ollama (no cloud calls)

  • ⚙ïļ FastAPI backend: Exposes a simple HTTP endpoint to query Mistral

  • 🌐 Gradio frontend: Paste a git diff and get a structured PR description instantly

  • ðŸ§Đ Git-aware: Designed around generating summaries from actual diffs

  • ðŸŠķ Lightweight and privacy-friendly


Related MCP server: MCP Server PR Pilot

🚀 Getting Started

1. Install Dependencies

pip install -r requirements.txt

2. Start Ollama with Mistral

ollama run mistral

3. Run the FastAPI server

uvicorn app.server:app --reload

4. Start the Gradio UI

python -m frontend.gradio

âœĻ Example

Git Diff

diff --git a/src/utils.py b/src/utils.py
index 1a2b3c4..5d6ef7f 100644
--- a/src/utils.py
+++ b/src/utils.py
@@ def calculate_average(numbers):
-   return sum(numbers) / len(numbers)
+   if not numbers:
+       return 0
+   return sum(numbers) / len(numbers)

@@ def greet_user(name):
-   print("Hello", name)
+   print(f"Hello, {name} 👋")

Output PR Description

**Title:** [Utils] Handle empty list in average calculation and improved greeting

**Description:**

- Added edge case handling for `calculate_average()` to return 0 when given an empty list.
- Enhanced user experience by adding an emoji in the greeting function `greet_user()`.

These changes improve error handling and make output more user-friendly.

🧠 How it Works

  1. The Gradio UI sends the pasted diff to http://localhost:8000/mistral

  2. FastAPI receives it and forms a prompt for the local Mistral model

  3. Mistral responds with a human-readable PR title + description

  4. The Gradio UI displays the result


🔒 Privacy Note

This tool is completely local. Nothing is sent to the cloud — your code and git diffs stay on your machine.


🙌 Credits


📎 License

MIT License

Related MCP Connectors

Related MCP Servers