Skip to main content
ClaudeWave

Standup notes from merge request state, not commit logs. Reads GitLab or GitHub: what is ready, what is blocked, and why your pipeline is red.

MCP ServersRegistry oficial1 estrellas0 forks● TypeScriptMITActualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/14/2026
Install in Claude Code / Claude Desktop
Method: NPX · standup-mr
Claude Code CLI
claude mcp add standup-mr -- npx -y standup-mr
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "standup-mr": {
      "command": "npx",
      "args": ["-y", "standup-mr"],
      "env": {
        "GITHUB_TOKEN": "<github_token>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Detected environment variables
GITHUB_TOKEN
Casos de uso

Resumen de MCP Servers

# standup-mr

[![standup-mr MCP server](https://glama.ai/mcp/servers/Jubstaaa/standup-mr/badges/score.svg)](https://glama.ai/mcp/servers/Jubstaaa/standup-mr)
[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/jubstaaa/standup-mr)
[![smithery badge](https://smithery.ai/badge/ilkerbalcilartr/standup-mr)](https://smithery.ai/servers/ilkerbalcilartr/standup-mr)

Standup notes from **merge request state**, not commit logs.

Most standup tools read your local `git log`. That answers "what did I type",
which is not what anyone asks in a standup. This one reads GitLab or GitHub:
what is ready to merge, what is blocked, what is waiting on you — and when a
pipeline is red, it opens the job log and tells you **why**.

![standup-mr reading a GitLab project: ready, blocked, draft, and the error line from a failed job](assets/demo.gif)

## What makes it different

|                                               | commit-log tools | standup-mr                                            |
| --------------------------------------------- | ---------------- | ----------------------------------------------------- |
| Source                                        | local `git log`  | GitLab or GitHub API                                  |
| Merge request state                           | ✗                | ready / blocked / draft / stale                       |
| Review queue                                  | ✗                | pending only, approvals filtered out                  |
| Failed pipeline                               | ✗                | error lines from the job trace or the Actions job log |
| Self-hosted (GitLab CE/EE, GitHub Enterprise) | varies           | first class                                           |

## Use

```bash
npx standup-mr fetch                            # JSON, provider auto-detected
npx standup-mr fetch --provider github          # GitHub
npx standup-mr fetch --provider gitlab          # GitLab
npx standup-mr fetch --markdown                 # structured digest
npx standup-mr fetch --lang tr                  # Turkish date labels
```

```bash
npx standup-mr fetch --markdown | npx standup-mr post --google-chat "$URL"
```

### Identity

|             | GitHub                                      | GitLab                                                  |
| ----------- | ------------------------------------------- | ------------------------------------------------------- |
| Flags       | `--host` / `--token`                        | `--host` / `--token`                                    |
| Env         | `GITHUB_HOST` / `GITHUB_TOKEN`              | `GITLAB_HOST` / `GITLAB_TOKEN`                          |
| CLI session | [`gh`](https://cli.github.com/) auth config | [`glab`](https://gitlab.com/gitlab-org/cli) auth config |

GitHub defaults to `github.com` when no host is given. GitLab has no default —
self-hosted is the norm there, so a host must come from a flag, env var, or
`glab`'s own config.

The provider itself is picked in this order:

1. `--provider github` / `--provider gitlab`, if passed
2. a recognizable `--host` (`github.com`, `gitlab.com`, or a hostname
   containing `github`/`gitlab`)
3. `STANDUP_PROVIDER`, or whichever of the `GITHUB_*` / `GITLAB_*` env pairs
   is set
4. whichever of `gh` / `glab` is logged in

If none of these resolve — or both do, ambiguously — the command fails with a
clear error instead of guessing.

So if you already use `gh` or `glab`, there is nothing to configure.

### Post it to chat

```bash
npx standup-mr fetch --markdown | npx standup-mr post --slack "$SLACK_WEBHOOK_URL"
```

## Hosted connector: any AI assistant

No token, no config file — sign in instead. The hosted server speaks the
standard MCP OAuth flow, so any assistant that supports remote MCP servers can
use it: add the URL, and a browser page opens where you sign in.

```
https://standup.ilkerbalcilar.com/mcp
```

[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=standup&config=eyJ1cmwiOiJodHRwczovL3N0YW5kdXAuaWxrZXJiYWxjaWxhci5jb20vbWNwIn0%3D)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_standup-0098FF?logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=standup&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fstandup.ilkerbalcilar.com%2Fmcp%22%7D)

| Assistant                            | How                                                                                                                  |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **claude.ai** (web, mobile, Desktop) | Settings → Connectors → Add custom connector → paste the URL → Connect                                               |
| **Claude Code**                      | `claude mcp add --scope user --transport http standup https://standup.ilkerbalcilar.com/mcp`, then `/mcp` to sign in |
| **Cursor**                           | The button above, or `"standup": { "url": "https://standup.ilkerbalcilar.com/mcp" }` in `~/.cursor/mcp.json`         |
| **VS Code** (Copilot)                | The button above, or `"standup": { "type": "http", "url": "https://standup.ilkerbalcilar.com/mcp" }` in `mcp.json`   |
| **Gemini CLI**                       | `gemini extensions install https://github.com/Jubstaaa/standup-mr`, then `/mcp auth standup`                         |
| **Codex CLI**                        | `codex mcp add standup --url https://standup.ilkerbalcilar.com/mcp`, then `codex mcp login standup`                  |
| **ChatGPT**                          | With developer mode on: Settings → Apps → Create → paste the URL, OAuth                                              |

claude.ai and Claude Code are tested end to end; the others use the same
standard flow. If one of them doesn't sign in, please
[open an issue](https://github.com/Jubstaaa/standup-mr/issues).

On the sign-in page you link the accounts the note should read:

- **GitHub** — sign in through the standup-mr GitHub App. It only sees the
  repositories it is installed on, so install it on your org too; if the org
  won't approve it, add github.com with a fine-grained token instead.
- **gitlab.com** — sign in with GitLab.
- **Your company's GitLab or GitHub Enterprise** — type the host. If someone
  at your company already set up sign-in, you get a "Sign in with …" button.
  Otherwise set it up once: the page shows the exact redirect URI and scopes
  for an OAuth application on your host, you paste its ID and secret, and
  everyone at that host can sign in from then on. A read-only token works too.
- **Chat webhook** _(optional)_ — Slack, Discord or Google Chat, so your assistant
  can post the finished note when you ask it to.

Link as many as you like — say, GitHub for side projects and your company's
GitLab for work — then ask for "my standup" or "my work standup". With
several accounts linked, the assistant asks which one you mean.

Added in an assistant with a mobile app — Claude or ChatGPT — it works from
your phone too: ask for your standup on the way to the meeting.

**What is stored.** Your provider tokens and webhook URL, encrypted with
AES-256-GCM, and only to read your merge requests and post your note. The
access tokens your assistant holds are stored as hashes. Disconnecting it
deletes everything; connections unused for 30 days are deleted. The server is
the code in [`remote/`](remote/).

**When to use the local server instead.** A GitLab behind a VPN or on a
private network is out of reach of a hosted server. Run the stdio server
below on your own machine — the token never leaves it.

## The four surfaces

**CLI** — the core. Emits JSON; zero runtime dependencies.

**MCP server** (`mcp/`) — three tools for Claude Desktop, Claude Code, Cursor,
or any MCP client that runs a local process. See [`mcp/README.md`](mcp/README.md).

**Remote MCP server** (`remote/`) — the same tools over HTTPS with sign-in, for
any assistant that supports remote MCP servers, including the web and mobile
apps. See [above](#hosted-connector-any-ai-assistant).

**Claude Code plugin** — the note-writing playbook, shipped as the `standup`
skill. From inside Claude Code:

```
/plugin marketplace add Jubstaaa/standup-mr
/plugin install standup@standup-mr
```

Then type `/standup`. Updates come with `/plugin marketplace update standup-mr`.

### Using it from Cursor, Codex, or another assistant

If you're not using Claude Code, wire up the MCP server for live data and
paste in the note-writing rules separately.

**Cursor** — add to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json`
(project-local):

```json
{
    "mcpServers": {
        "standup": {
            "command": "npx",
            "args": ["-y", "standup-mr", "mcp"],
            "env": {
                "GITHUB_TOKEN": "ghp_..."
            }
        }
    }
}
```

**Codex** — add to `~/.codex/config.toml`:

```toml
[mcp_servers.standup]
command = "npx"
args = ["-y", "standup-mr", "mcp"]

[mcp_servers.standup.env]
GITHUB_TOKEN = "ghp_..."
```

The exact config key and file path are version-dependent for both clients —
if a snippet above doesn't work, check [Cursor's MCP
docs](https://docs.cursor.com/context/mcp) or Codex's own config
documentation for the current format rather than trusting this file blindly.

The server exposes three tools:

| Tool                    | What it does                                                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------- |
| `get_standup_data`      | Reads the provider and returns the report as JSON. Optional `provider`, `host`, `lang`.      |
| `get_note_instructions` | Returns the note-writing rules, so the assistant can write the note the way the skil
claudeclaude-codeclicursordaily-standupdeveloper-toolsdevopsgemini-cli-extensiongithubgitlabmcpmcp-servermerge-requestsoauthpull-requestsremote-mcpstandup

Lo que la gente pregunta sobre standup-mr

¿Qué es Jubstaaa/standup-mr?

+

Jubstaaa/standup-mr es mcp servers para el ecosistema de Claude AI. Standup notes from merge request state, not commit logs. Reads GitLab or GitHub: what is ready, what is blocked, and why your pipeline is red. Tiene 1 estrellas en GitHub y su última actualización registrada es del 2026-10-13.

¿Cómo se instala standup-mr?

+

Puedes instalar standup-mr clonando el repositorio (https://github.com/Jubstaaa/standup-mr) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar Jubstaaa/standup-mr?

+

Nuestro agente de seguridad ha analizado Jubstaaa/standup-mr y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene Jubstaaa/standup-mr?

+

Jubstaaa/standup-mr es mantenido por Jubstaaa. La última actividad registrada en GitHub es del 2026-10-13, con 0 issues abiertos.

¿Hay alternativas a standup-mr?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega standup-mr en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: Jubstaaa/standup-mr
[![Featured on ClaudeWave](https://claudewave.com/api/badge/jubstaaa-standup-mr)](https://claudewave.com/repo/jubstaaa-standup-mr)
<a href="https://claudewave.com/repo/jubstaaa-standup-mr"><img src="https://claudewave.com/api/badge/jubstaaa-standup-mr" alt="Featured on ClaudeWave: Jubstaaa/standup-mr" width="320" height="64" /></a>

Más MCP Servers

Alternativas a standup-mr