Skip to main content
Glama

git-standup-mcp

MCP server that generates standup reports from your git history and posts them to Slack. Ask Claude what you did yesterday, or set up a cron job to post automatically every morning.

Install

# Add to Claude Code
claude mcp add git-standup -- uv run --directory /path/to/git-standup-mcp git-standup-mcp

Or add to your MCP config manually:

{
  "mcpServers": {
    "git-standup": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/git-standup-mcp", "git-standup-mcp"],
      "env": {
        "GIT_STANDUP_REPOS": "/path/to/repo1,/path/to/repo2",
        "SLACK_STANDUP_WEBHOOK": "https://hooks.slack.com/services/..."
      }
    }
  }
}

Usage

Once connected, ask Claude:

  • "What did I do yesterday?"

  • "Give me a standup for the last 3 days"

  • "Post my standup to Slack"

  • "What repos do you have access to?"

Slack Integration

Set up an Incoming Webhook for your standup channel, then set SLACK_STANDUP_WEBHOOK.

Automatic daily posts (cron)

# Post yesterday's standup at 9am on weekdays
0 9 * * 1-5 cd /path/to/git-standup-mcp && \
  GIT_STANDUP_REPOS="~/projects,~/work" \
  SLACK_STANDUP_WEBHOOK="https://hooks.slack.com/..." \
  uv run python -m git_standup_mcp.cron
# Dry run — see the report without posting
uv run python -m git_standup_mcp.cron --dry-run

# Monday morning — cover the weekend
uv run python -m git_standup_mcp.cron --days 3

# Filter by author
uv run python -m git_standup_mcp.cron --author "Anisha"

Tools

git_standup

Get a standup report of recent git activity across your repos.

Parameter

Type

Default

Description

days

int

1

Number of days to look back

author

string

null

Filter by author name (partial match)

repos

string

null

Comma-separated repo paths (overrides env)

git_repos

List all git repos the server can see.

post_to_slack

Post a message to Slack via webhook.

Parameter

Type

Default

Description

message

string

required

Message text (supports Slack markdown)

channel_name

string

null

Channel override (uses webhook default if not set)

Configuration

Env var

Description

GIT_STANDUP_REPOS

Comma-separated directories to scan for repos (default: ~/Documents)

SLACK_STANDUP_WEBHOOK

Slack Incoming Webhook URL for posting

Repos are auto-discovered up to 2 levels deep.