Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

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

GitHubEmbed

Описание

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


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

  1. Install the inspector:
npx @modelcontextprotocol/inspector
  1. 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.py logic with an Anthropic/OpenAI call
  • Slack standup posting – add a post_standup MCP tool in server.py
  • Weekly reports – add a since parameter to CommitService.get_today_commits_all_repos
  • File-level diff summaries – the CommitRecord.files field already carries filenames; fetch full diffs from GET /repos/{owner}/{repo}/commits/{sha}

License

MIT

from github.com/muhammadzaeemaltaf/github-summary-mcp

Установить GitHub Summary в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
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

Compare GitHub Summary with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development