GitHub Summary MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "GITHUB_TOKEN=${GITHUB_TOKEN}" github-summary -- uv run /absolute/path/to/github-summary-mcp/server.py
Required:GITHUB_TOKEN
README.md

Generates a daily GitHub work summary by analysing commits across repositories.

github-summary-mcp

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

Tools (3)

get_daily_summaryGenerate a complete daily work summary across all repositories.
list_repositoriesList all repositories accessible to the authenticated user.
get_repo_commits_todayGet today's commits for a specific repository.

Environment Variables

GITHUB_TOKENrequiredGitHub Personal Access Token with repo scope

Configuration

claude_desktop_config.json
{"mcpServers": {"github-summary": {"command": "uv", "args": ["run", "/absolute/path/to/github-summary-mcp/server.py"], "env": {"GITHUB_TOKEN": "ghp_your_token_here"}}}}

Try it

Generate my daily work summary for all my GitHub repositories.
List all the repositories I have access to.
Show me today's commits for the Hello-World repository.
What work did I complete today across my projects?

Frequently Asked Questions

What are the key features of GitHub Summary MCP?

Discovers all owned, collaborated, and organization repositories. Fetches today's commits authored by the authenticated user. Inspects commit messages and changed files. Groups and deduplicates commits per repository.

What can I use GitHub Summary MCP for?

Generating daily standup reports for team meetings. Tracking personal coding progress across multiple projects. Reviewing recent code changes before submitting a status update. Quickly identifying which repositories had activity today.

How do I install GitHub Summary MCP?

Install GitHub Summary MCP by running: git clone <repo-url> && cd github-summary-mcp && uv sync

What MCP clients work with GitHub Summary MCP?

GitHub Summary MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep GitHub Summary MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare