git-standup-mcp
git-standup-mcp
MCP-сервер, который генерирует отчеты для стендапов на основе вашей истории git и публикует их в Slack. Спросите Claude, что вы делали вчера, или настройте cron-задачу для автоматической публикации каждое утро.
Установка
# Add to Claude Code
claude mcp add git-standup -- uv run --directory /path/to/git-standup-mcp git-standup-mcpИли добавьте в конфигурацию MCP вручную:
{
"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
Использование
После подключения спросите Claude:
"Что я делал вчера?"
"Сделай отчет для стендапа за последние 3 дня"
"Опубликуй мой отчет в Slack"
"К каким репозиториям у тебя есть доступ?"
Интеграция со Slack
Настройте Incoming Webhook для вашего канала стендапов, затем установите SLACK_STANDUP_WEBHOOK.
Автоматические ежедневные публикации (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"Инструменты
git_standup
Получение отчета о недавней активности в git по вашим репозиториям.
Параметр | Тип | По умолчанию | Описание |
| int | 1 | Количество дней для анализа |
| string | null | Фильтр по имени автора (частичное совпадение) |
| string | null | Пути к репозиториям через запятую (переопределяет переменные окружения) |
git_repos
Список всех git-репозиториев, которые видит сервер.
post_to_slack
Публикация сообщения в Slack через вебхук.
Параметр | Тип | По умолчанию | Описание |
| string | required | Текст сообщения (поддерживает Slack markdown) |
| string | null | Переопределение канала (если не задано, используется значение по умолчанию для вебхука) |
Конфигурация
Переменная окружения | Описание |
| Директории через запятую для поиска репозиториев (по умолчанию: ~/Documents) |
| URL входящего вебхука Slack для публикации |
Репозитории автоматически обнаруживаются на глубине до 2 уровней.
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
Related MCP Connectors
Writes your daily standup from GitLab or GitHub merge request state: what's ready, blocked or waiting on your review, and why a pipeline is red, read from the failing job log. OAuth sign-in, no API keys; can post the note to Slack, Discord or Google Chat on a schedule.
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.
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-
- AlicenseAqualityDmaintenanceConnects Claude to GitHub activity to generate standup summaries of commits, PRs, reviews, and issues for individuals or teams.312 npmMIT
- AlicenseAqualityDmaintenanceAnalyzes Git commit history and code diffs to auto-remember development context, providing commit timelines, work sessions, unfinished task detection, and daily/weekly reports.910 npmMIT