Skip to main content
Glama
dhirendra1729

GitHub MCP Server

README.md
# GitHub MCP CLI with Ollama

A terminal-based project that uses the Model Context Protocol (MCP) and local LLMs (via Ollama) to query and summarize GitHub data. 

## Overview

This project is split into two components:
1. **MCP Server (`server.py`)**: Built with `fastmcp`, it provides tools to fetch GitHub repository details, recent issues, and recent commits.
2. **CLI Client (`client.py`)**: An interactive terminal interface using `rich` and LangChain that talks to a local Ollama model to interact with the MCP tools.

## Setup

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

2. **Configure GitHub Access:**
   For increased rate limits and access to private repositories, export your GitHub Personal Access Token (PAT) as an environment variable (or put it in a `.env` file):
   ```bash
   export GITHUB_TOKEN="your_personal_access_token_here"
   ```

3. **Start Ollama:**
   Ensure Ollama is running locally with a tool-capable model (like `llama3.2`):
   ```bash
   ollama run llama3.2
   ```

4. **Run the client:**
   ```bash
   python client.py
   ```

## Development

Currently, both `server.py` and `client.py` are fully operational. The client uses `MultiServerMCPClient` and LangChain's React Agent to seamlessly connect to the tools and route your questions to Ollama. 

### Tools exposed by the MCP Server:
- `get_repo(owner, repo)`: Get basic details about a repository.
- `list_issues(owner, repo, state, limit)`: Fetch recent issues.
- `list_commits(owner, repo, limit)`: Fetch recent commits.

Maintenance

ActivityMaintained
ResponsivenessNo issues