git-standup-mcp
The git-standup-mcp server lets you generate standup reports from git history, explore repositories, and post to Slack.
git_standup: Generate a standup report of recent git activity across configured repositories. Options includedays(how far back to look, default 1),author(filter by partial name match), andrepos(override default repo paths).git_repos: List all git repositories the server has access to (auto-discovered up to 2 levels deep from configured directories).post_to_slack: Send a standup report or any message to a Slack channel via an Incoming Webhook, with optional channel override.Automated posting: Schedule daily standup posts on weekdays via cron, with support for dry runs, multi-day coverage (e.g., to handle weekends), and author filtering.
Generates standup reports from git history across multiple repositories, providing tools to query recent commits, filter by author, and list accessible repos for activity tracking.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@git-standup-mcpwhat did I work on yesterday?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpOr 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/..."
}
}
}
}Related MCP server: git-finder-mcp
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 |
| int | 1 | Number of days to look back |
| string | null | Filter by author name (partial match) |
| 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 |
| string | required | Message text (supports Slack markdown) |
| string | null | Channel override (uses webhook default if not set) |
Configuration
Env var | Description |
| Comma-separated directories to scan for repos (default: ~/Documents) |
| Slack Incoming Webhook URL for posting |
Repos are auto-discovered up to 2 levels deep.
Available Tools
2 toolsgit_reposB
List all git repos that git-standup can see.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool lists repos, implying a read-only operation, but doesn't cover aspects like permissions needed, rate limits, error handling, or what 'can see' entails (e.g., local vs. remote repos). The description is too vague to fully inform the agent about behavioral traits beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded with the core action and scope, making it easy for an agent to parse quickly. Every part of the sentence contributes essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, an output schema exists, and no annotations are provided, the description is minimally adequate. It explains what the tool does but lacks details on behavioral context (e.g., how 'can see' is defined) and doesn't leverage the output schema to clarify return values. For a simple list tool, it's functional but could be more informative about the output or constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning no parameters are documented because none exist. The description doesn't need to add parameter details, and it correctly implies no inputs are required by not mentioning any. This meets the baseline for tools with no parameters, as the description doesn't mislead about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all git repos') and the scope ('that git-standup can see'), which is specific and actionable. However, it doesn't explicitly differentiate from the sibling tool 'git_standup', which appears to be a related but distinct functionality. The purpose is clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by implying usage when needing to list repos visible to git-standup, but it doesn't specify when to use this tool versus the sibling 'git_standup' or any alternatives. There's no explicit context, exclusions, or prerequisites mentioned, leaving the agent with little guidance on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
git_standupB
Get a standup report of recent git activity across your repos.
Args: days: Number of days to look back (default: 1 = yesterday) author: Filter by author name (partial match). If not set, shows all. repos: Comma-separated repo paths. If not set, uses GIT_STANDUP_REPOS env or ~/Documents.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| author | No | ||
| repos | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the tool as a read operation ('Get a standup report'), which implies it's non-destructive, but doesn't cover other important aspects like authentication needs, rate limits, error handling, or what the output looks like (though an output schema exists). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: a clear purpose statement followed by a bullet-point list of parameters with concise explanations. Every sentence earns its place, and it's front-loaded with the main functionality. There's no redundant or verbose language, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is reasonably complete. It covers the purpose and parameter semantics adequately. Since an output schema exists, the description doesn't need to explain return values, and it provides enough context for basic use, though it lacks guidance on usage scenarios and some behavioral details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, but the description compensates well by explaining each parameter's purpose and default values in the 'Args' section. It clarifies that 'days' is the lookback period, 'author' filters by partial name match, and 'repos' specifies paths with fallback to environment variables or default directories. This adds meaningful context beyond the bare schema, though it could benefit from examples or format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a standup report of recent git activity across your repos.' It specifies the verb ('Get'), resource ('standup report'), and scope ('across your repos'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from the sibling tool 'git_repos', which might also involve git repository operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'git_repos'. It mentions default behaviors (e.g., using environment variables or default paths) but doesn't explain scenarios where this tool is preferred or when other tools might be more appropriate, leaving the agent without clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
git_repos - First observed
git_standup
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: git_repos lists available repositories, while git_standup generates activity reports. There is no overlap in functionality, making tool selection unambiguous for an agent.
Both tools follow a consistent snake_case naming pattern with the 'git_' prefix, maintaining perfect naming consistency throughout the set. This predictability aids agent understanding and usage.
With only two tools, the server feels under-scoped for its apparent domain of git activity reporting. While the tools cover core functionality, the lack of additional operations (e.g., configuration management, filtering options as separate tools) makes the surface thin and potentially limiting.
The server covers the basic workflow of listing repos and generating standup reports, but there are notable gaps. Missing operations include managing git-standup configurations, handling repo exclusions, or providing detailed commit analytics, which could hinder more complex agent tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Opinionated sprint tracker. Read/update tickets, sprints, velocity from Claude/Cursor/Zed.
- ShipstarOAuthai.shipstar
Generate changelogs, release emails, help-center articles, banners, and social posts from commits.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to interact with git repositories by providing real-time access to repository status, branch information, commit history, and file changes. Allows users to query their git workspace through natural language commands.-
- FlicenseAqualityDmaintenanceEnables natural language code search across multiple local Git repositories, allowing users to register projects, search for code, and explore file structures through Claude.6-
- AlicenseAqualityCmaintenanceConnects Claude to GitHub activity to generate standup summaries of commits, PRs, reviews, and issues for individuals or teams.339MIT
- AlicenseAqualityBmaintenanceAnalyzes Git commit history and code diffs to auto-remember development context, providing commit timelines, work sessions, unfinished task detection, and daily/weekly reports.9296MIT