gitstandup
Collects commits from local git repositories to generate daily standup notes.
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., "@gitstandupGenerate my standup notes"
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.
GitStandup MCP Server
Generate daily standup notes from your git commits using AI
A Model Context Protocol (MCP) server that automatically collects your git commits from multiple repositories and helps AI assistants generate natural, comprehensive standup summaries.
โจ Features
๐ฆ Multi-repo support - Track commits across all your projects
๐ค User-specific - Only shows your commits (filtered by git user.email)
โฐ Time-based - Configurable lookback period (default: last 24 hours)
๐ฏ Smart diff analysis - Includes code changes with intelligent truncation
๐พ Persistent config - Remembers your repos in
~/.gitstandup/config.json๐งน Clean output - Skips generated files (lock files, minified code)
Related MCP server: Slack Gitlab Digest Model Context Protocol MCP Server
๐ Quick Start
Installation
# Using npx (no installation needed)
npx -y gitstandup-mcp
# Or install globally
npm install -g gitstandup-mcpSetup with Claude Desktop
Add to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gitstandup": {
"command": "npx",
"args": ["-y", "gitstandup-mcp"]
}
}
}Setup with VS Code (GitHub Copilot)
Add to your VS Code MCP settings:
{
"gitstandup": {
"type": "stdio",
"command": "npx",
"args": ["-y", "gitstandup-mcp"]
}
}๐ Usage
Once configured, you can use natural language with your AI assistant:
"Generate my standup notes"
"What did I work on yesterday?"
"Show my commits from the last 2 days"First Time Setup
Add your repositories:
"Add /path/to/my/project to GitStandup"Generate standup notes:
"Generate my standup notes"The AI will create a summary like:
Yesterday I:
Implemented OAuth authentication flow in the api-server
Fixed critical bug in payment processing
Added integration tests for user registration
๐ ๏ธ Available Tools
The server exposes four MCP tools that AI assistants can use:
generate_standup
Generate standup notes from configured repositories.
Parameters:
hours(optional): Number of hours to look back (default: 24)repos(optional): Array of specific repo paths to use
Example:
{
"hours": 48, // Last 2 days
"repos": ["/path/to/repo1", "/path/to/repo2"] // Optional
}add_repos
Add repository paths to the configuration.
Parameters:
paths: Array of absolute paths to git repositories
Example:
{
"paths": ["/Users/you/projects/my-app", "/Users/you/projects/api"]
}list_repos
List currently configured repositories.
Returns: Array of configured repository paths
remove_repos
Remove repository paths from the configuration.
Parameters:
paths: Array of repository paths to remove
๐ง Development
# Clone the repository
git clone https://github.com/muba00/gitstandup.git
cd gitstandup
# Install dependencies
npm install
# Build
npm run build
# Test locally
node build/index.jsProject Structure
gitstandup/
โโโ src/
โ โโโ index.ts # MCP server setup and tool definitions
โ โโโ git.ts # Git operations and commit collection
โ โโโ config.ts # Configuration management
โโโ build/ # Compiled JavaScript (generated)
โโโ package.json๐ Configuration
Repository paths are stored in ~/.gitstandup/config.json:
{
"repos": ["/Users/you/projects/project1", "/Users/you/projects/project2"]
}You can edit this file manually or use the add_repos and remove_repos tools.
๐ฆ Publishing to MCP Registry
This server is discoverable via the GitHub MCP Registry and OSS MCP Community Registry.
For Maintainers
To publish a new version:
Update version in both files:
# Update version in package.json and server.json npm version patch # or minor/majorBuild and publish to npm:
npm run build npm publishInstall mcp-publisher (first time only):
brew install mcp-publisher # OR curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher && sudo mv mcp-publisher /usr/local/bin/Authenticate (first time only):
mcp-publisher login githubUpdate server.json version to match package.json and publish:
mcp-publisher publish
The server will automatically appear in both the GitHub MCP Registry and the community registry, making it discoverable in VS Code, Claude Desktop, and other MCP-compatible clients.
๐ค Contributing
Contributions are welcome! Feel free to:
๐ Report bugs
๐ก Suggest new features
๐ง Submit pull requests
See CONTRIBUTING.md for details.
๐ License
MIT License - see LICENSE for details
๐ Acknowledgments
Built with:
Note: This tool only reads git commit history and does not modify your repositories.
Available Tools
4 toolsadd_reposAdd RepositoriesB
Add repository paths to the configuration
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | Absolute paths to git repositories |
Output Schema
| Name | Required | Description |
|---|---|---|
| added | Yes | |
| repos | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the operation without mentioning side effects, idempotency, validation, or error behavior. The description implies an additive action but gives no details about what happens to existing configuration or invalid paths.
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, concise sentence that states the verb and object directly. It contains no redundant or extraneous information, making it efficient and easy to parse.
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?
The tool is simple with one parameter and an output schema, but the description lacks behavioral context such as whether duplicate paths are handled, whether existing entries are preserved, or what the output contains. Given the absence of annotations, this is a clear gap, though the low complexity prevents it from being severely inadequate.
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 provides complete coverage for the single 'paths' parameter with the description 'Absolute paths to git repositories'. The tool description adds no additional parameter-level meaning beyond this, so the baseline of 3 is appropriate given the high schema description coverage.
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 uses the specific verb 'Add' targeting 'repository paths' and 'configuration', clearly stating the tool's function. This distinguishes it from sibling tools like list_repos and remove_repos, which have different actions.
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. It does not mention sibling tools or specific scenarios, leaving the agent to infer usage from the tool name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_standupGenerate Standup NotesA
Generate standup notes from git commits in configured repositories
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Hours to look back (default: 24) | |
| repos | No | Specific repo paths to use instead of configured ones |
Output Schema
| Name | Required | Description |
|---|---|---|
| repos | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what the tool generates and from where, but does not disclose whether it modifies anything, requires specific permissions, has side effects, or how it handles missing configurations. This is a significant gap for a tool that presumably reads git history.
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, concise sentence that immediately states the tool's action and source. There is no redundant or irrelevant information, and the key details are front-loaded.
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?
The tool is simple with optional parameters and an output schema present, so the description does not need to explain return values. The core purpose is clear, and sibling tools establish the repository management context. However, the lack of behavioral transparency (e.g., whether it is read-only) prevents a perfect score.
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 already provides thorough descriptions for both parameters (hours with default, repos as alternative paths). Since schema coverage is 100%, description adds little beyond reinforcing the concept of 'configured repositories', which aligns with the repos param. Baseline 3 is appropriate.
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 uses a specific verb ('Generate') and resource ('standup notes from git commits in configured repositories'), clearly distinguishing it from sibling tools that manage repositories (add_repos, list_repos, remove_repos). The title reinforces the function.
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 clear context on what the tool does and its input source (configured repositories), which implicitly sets expectations of use. However, it does not explicitly state when to use this tool versus alternatives or mention any prerequisites like needing to configure repositories first via sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_reposList RepositoriesA
List currently configured repositories
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| repos | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. The verb 'List' implies a read-only operation, but it does not explicitly state there are no side effects, whether authentication is required, or how it behaves with an empty configuration. Minimal but not misleading.
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, concise sentence that leads with the verb and wastes no words. It is perfectly sized for the tool's simplicity.
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 low complexity, no parameters, and an existing output schema, the description is nearly complete. It could clarify what 'currently configured' means (e.g., from a config file), but for a straightforward list operation it is mostly sufficient.
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 tool has zero parameters, and the schema clearly shows an empty properties object. The description adds nothing about parameters, but none is needed. Baseline of 4 applies.
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 uses a specific verb 'List' with a clear resource 'repositories' and the qualifier 'currently configured', which adds scope and distinguishes it from sibling tools like add_repos and remove_repos. It precisely states the tool's function.
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 gives no explicit guidance on when to use this tool versus alternatives. It implies that listing is the way to view configured repositories, but it does not mention conditions, prerequisites, or when add/remove might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_reposRemove RepositoriesB
Remove repository paths from the configuration
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | Repository paths to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
| repos | Yes | |
| removed | 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. It states the action but does not disclose whether removal is destructive, whether missing paths cause errors, whether changes are persistent, or how it affects other tools like list_repos. This is minimal transparency for a mutation tool.
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, compact sentence that is front-loaded with the action and target. Every word is relevant, and there is no verbosity or unnecessary detail.
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?
The tool is simple with one fully described parameter and an output schema present (though its content is unknown). However, the description lacks context about the tool's effects on the configuration, success/failure behaviors, and prerequisites. For a mutation tool with no annotations, more contextual info would be expected, but the simplicity of the operation keeps this at a satisfactory level.
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 has 100% coverage with the parameter described as 'Repository paths to remove'. The description echoes this exactly, adding no new meaning. Baseline is 3 for full schema coverage, and the description doesn't compensate beyond that.
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 ('Remove') and the specific resource ('repository paths') with scope ('from the configuration'). This distinguishes it from sibling tools like add_repos and list_repos.
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, such as add_repos or list_repos. There is no mention of complementary tools or explicit context for when removal is appropriate.
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. Dates show when Glama detected each change.
4 tool updates
v1.0.6- First observed
add_repos - First observed
generate_standup - First observed
list_repos - First observed
remove_repos
TDQS
Each tool targets a clear, distinct operation: adding, listing, generating from, and removing configured repositories. There is no overlap or ambiguity between them.
All tool names follow the consistent verb_noun pattern in snake_case: add_repos, list_repos, generate_standup, remove_repos. This is perfectly predictable.
With only 4 tools, the set is tightly scoped to its purpose of managing repository configuration and generating standup notes. Each tool earns its place with no redundancy.
The tool surface covers the full lifecycle of configuration: add, list, remove, and the core generation action. No obvious missing operations for the stated purpose.
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
Opinionated sprint tracker. Read/update tickets, sprints, velocity from Claude/Cursor/Zed.
- ShipstarOAuthai.shipstar
Generate and publish changelogs, blog posts, release emails, and social posts from your commits.
- DoneThatOAuthai.donethat
Privacy-first work tracking with summaries, reports, coaching, and AI-ready long-term memory.
A personal RAG database you build from chat, so AI creates work that sounds like you.
Related MCP Servers
- AlicenseBqualityDmaintenanceGenerates standup reports from git history by analyzing recent commits across configured repositories. Enables users to query their development activity, such as what they worked on yesterday or over multiple days, through natural language interactions with Claude.2MIT
- FlicenseNot gradedqualityDmaintenanceSummarizes Slack activity and GitLab merge requests with OpenAI to help generate daily standups, weekly reports, or quarterly check-ins.-
- AlicenseNot gradedqualityDmaintenanceScans Git repositories, identifies interesting engineering work, and generates LinkedIn post drafts with built-in confidentiality sanitisation.MIT
- AlicenseAqualityCmaintenanceGenerates daily standup drafts from your actual GitHub, Jira, Linear, and Slack activity, grouping work items and detecting blockers.548MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/muba00/gitstandup'
If you have feedback or need assistance with the MCP directory API, please join our Discord server