GitHub Summary
БесплатноНе проверенGenerates daily GitHub work summaries by analyzing commits across all repositories a user owns or contributes to. It provides tools to fetch today's commit acti
Описание
Generates daily GitHub work summaries by analyzing commits across all repositories a user owns or contributes to. It provides tools to fetch today's commit activity and deduplicate repository-specific updates for easy reporting.
README
An MCP server that generates a daily GitHub work summary by analysing commits across all repositories the authenticated user owns or contributes to.
Designed for use with Claude Code, Qwen Code, and the MCP Inspector.
Features
- Discovers all repos: owned, collaborated on, and organisation member
- Fetches today's commits (since 00:00 UTC) authored by the authenticated user
- Inspects commit messages and changed files
- Groups and deduplicates commits per repository
- Exposes three MCP tools:
get_daily_summary,list_repositories,get_repo_commits_today
Prerequisites
- Python 3.11+
- uv package manager
- A GitHub Personal Access Token with
reposcope
Setup
1. Clone the repository
git clone <repo-url>
cd github-summary-mcp
2. Install dependencies
uv sync
3. Export your GitHub token
export GITHUB_TOKEN=ghp_your_token_here
Running the server
stdio transport (for Claude Code / Qwen Code)
uv run server.py
HTTP transport (for MCP Inspector)
Edit server.py and change the mcp.run() call:
mcp.run(transport="http", host="127.0.0.1", port=8000)
Then run:
uv run server.py
Connecting via MCP Inspector
- Install the inspector:
npx @modelcontextprotocol/inspector
- Point it at your running server or use it in stdio mode:
npx @modelcontextprotocol/inspector uv run server.py
Connecting to Claude Code
Add the server to your Claude Code MCP configuration (~/.claude/claude_desktop_config.json or .mcp.json in your project):
{
"mcpServers": {
"github-summary": {
"command": "uv",
"args": ["run", "/absolute/path/to/github-summary-mcp/server.py"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
Connecting to Qwen Code
Add to your Qwen Code MCP settings:
{
"mcpServers": {
"github-summary": {
"command": "uv",
"args": ["run", "/absolute/path/to/github-summary-mcp/server.py"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
MCP Tools
get_daily_summary
Generate a complete daily work summary across all repositories.
No parameters required.
Returns:
{
"summary": "> Evorgs\n\n* Simplified layout structure in VendorMainLayout\n* Enhanced DashboardPage with better spacing\n\n> BMS\n\n* Work in payment feature\n* Add auto redirection to PayFast checkout page"
}
list_repositories
List all repositories accessible to the authenticated user.
No parameters required.
Returns:
{
"repositories": [
{
"full_name": "octocat/Hello-World",
"name": "Hello-World",
"owner": "octocat",
"private": false,
"default_branch": "main"
}
]
}
get_repo_commits_today
Get today's commits for a specific repository.
Parameters:
| Name | Type | Description |
|---|---|---|
repo_name |
string | Short name (Hello-World) or full owner/repo string |
Returns:
{
"repo": "octocat/Hello-World",
"commits": [
{
"sha": "abc123ef",
"message": "Fix login redirect bug",
"files": ["auth/login.py", "tests/test_auth.py"],
"insertions": 12,
"deletions": 3,
"committed_at": "2024-01-15T09:30:00+00:00"
}
],
"summary": "> Hello-World\n\n* Fix login redirect bug"
}
Project Structure
github-summary-mcp/
│
├─ pyproject.toml # uv/hatch project config
├─ README.md
│
├─ server.py # FastMCP server + tool definitions
├─ github_client.py # GitHub REST API client (httpx)
├─ summarizer.py # Commit grouping & formatting
├─ utils.py # Date helpers, normalizers
│
└─ services/
└─ commit_service.py # Orchestration: fetches commits across all repos
Environment Variables
| Variable | Required | Description |
|---|---|---|
GITHUB_TOKEN |
Yes | GitHub Personal Access Token with repo scope |
Future Extensions
The codebase is structured for easy extension:
- LLM summarisation – replace
summarizer.pylogic with an Anthropic/OpenAI call - Slack standup posting – add a
post_standupMCP tool inserver.py - Weekly reports – add a
sinceparameter toCommitService.get_today_commits_all_repos - File-level diff summaries – the
CommitRecord.filesfield already carries filenames; fetch full diffs fromGET /repos/{owner}/{repo}/commits/{sha}
License
MIT
Установить GitHub Summary в Claude Desktop, Claude Code, Cursor
unyly install github-summary-mcpСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add github-summary-mcp -- uvx --from git+https://github.com/muhammadzaeemaltaf/github-summary-mcp github-summary-mcpПошаговые гайды: как установить GitHub Summary
FAQ
GitHub Summary MCP бесплатный?
Да, GitHub Summary MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для GitHub Summary?
Нет, GitHub Summary работает без API-ключей и переменных окружения.
GitHub Summary — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить GitHub Summary в Claude Desktop, Claude Code или Cursor?
Открой GitHub Summary на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare GitHub Summary with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
