Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GITHUB_HOSTNoGitHub API host. Defaults to github.com when using GitHub.
GITLAB_HOSTNoGitLab API host (e.g., gitlab.com or a self-hosted instance).
GITHUB_TOKENNoGitHub personal access token for authenticated API access.
GITLAB_TOKENNoGitLab personal access token for authenticated API access.
STANDUP_PROVIDERNoProvider to use when it cannot be inferred from the environment. Values: 'github' or 'gitlab'.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_standup_dataA

Collect merge-request-based standup data from GitLab or GitHub. Returns one JSON object: today, previousDays[] with the events of each, todayEvents[], myMrs[] bucketed ready / blocked / draft / stale, reviews[] waiting on you, and blockers[] carrying the error lines read out of each failed pipeline job log.

Call it once at the start of a working day, to write a standup note. It is a snapshot, not a search API: it cannot fetch one named merge request, reach further back than the previous working day, or filter by project.

Read-only, and credentials never come from an argument — they come from the environment or a logged-in gh / glab session. A rejected token, a refused resource or a rate limit fails the call with the host's own message, after two retries on transient server errors. A blocker whose diagnosis could not be fetched is still returned, with job: "unknown", so a red pipeline is never silently dropped.

post_standup_noteA

Posts a finished standup note to a chat webhook. This one has a side effect: it sends a message other people will see, so only call it on a note the user has agreed to send.

The webhook URL is read from STANDUP_WEBHOOK_URL, never from an argument — a webhook URL is a credential, since anyone holding it can post to the channel. Slack and Discord payload shapes are supported; the shape is inferred from the URL host, and kind is only needed for a proxied or self-hosted endpoint whose host gives nothing away — Mattermost and Rocket.Chat take the slack shape. A missing URL, an unrecognised host, or a webhook that rejects the message comes back as an error rather than a silent success.

get_note_instructionsA

Returns the note-writing rules — the playbook for turning get_standup_data output into a standup note a person would actually say out loud: how to group the previous day by theme, how to derive today from open merge requests, and how to report a blocker from its job log. Read-only, no arguments, no network. Call it once before writing the first note; the rules do not change between calls.

Prompts

Interactive templates invoked by user choice

NameDescription
standupWrites your standup note from merge request state: what you did, what is ready or blocked today, and why any pipeline is red.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 3 tools

Disambiguation5/5

The three tools form a clear pipeline: fetch data, fetch writing rules, then post the note. Each has a distinct purpose and no two could reasonably be confused (read vs write, data vs rules vs delivery).

Naming Consistency5/5

All three follow a consistent verb_noun pattern (get_standup_data, post_standup_note, get_note_instructions) in snake_case, with no deviations.

Tool Count5/5

Three tools map exactly onto the workflow's essential steps—fetch snapshot, fetch playbook, post note—with nothing redundant or missing.

Completeness4/5

The surface covers the full standup workflow end to end. Minor gaps are inherent to the stated scope (read-only snapshot, no MR search/filter), which is documented rather than an oversight.

Maintenance

ActivityMaintained
ResponsivenessNo issues