Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REPO_REMOTEYesGit remote URL for the main repository, without embedded credentials.
SELF_DEV_REPO_REMOTEYesGit remote URL for the self-dev bot's repository, without embedded credentials.
WATCHER_GITHUB_TOKENNoGitHub token for the Deploy Watcher (contents read-only). Only needed when running the full fleet stack.
GITHUB_REPO_FULL_NAMEYesFull name of the GitHub repository (e.g., 'owner/repo'). Required for GitHub API calls.
SELF_DEV_GITHUB_TOKENYesFine-grained GitHub token for the self-dev bot, with read/write access to contents, pull requests, and issues. Required for GitHub operations in Self-Dev MCP tools.

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
start_issueA

Begin work on a GitHub issue: clone the target repository into a fresh, isolated per-issue workspace and create (or, if one already exists, resume) a selfdev/issue-<issue_number> branch there. Call this first, before read_file, write_file, run_tests, or submit_pr -- those tools all operate on the workspace this creates. Only one active workspace is allowed per issue; calling this again for an issue that already has one returns an error instead of clobbering it. Returns the branch name as a plain string on success, or a string starting "ERROR:" on failure (never raises).

read_fileA

Read a file's contents from the workspace start_issue created for this issue. relative_path is resolved relative to that workspace and is refused if it is absolute, has a drive letter, is a UNC path, escapes the workspace via '..', or touches '.git'. Returns the file contents as a plain string on success, "REFUSED: ..." if the path is blocked, or "ERROR: ..." for other failures (e.g. no active workspace, file not found) -- never raises.

write_fileA

Create or overwrite a file inside the workspace start_issue created for this issue. relative_path is checked the same way as read_file (no absolute/drive/UNC/'..'/'.git' paths) and is additionally checked against the fleet manifest's protected paths. Writes are capped per issue (default 5 attempts, configurable via SELF_DEV_MAX_ATTEMPTS); a refused write does not count against that cap. Returns "OK" on success, "REFUSED: ..." for a blocked path, "EXHAUSTED: ..." once the attempt cap is reached, or "ERROR: ..." for other failures -- never raises.

run_testsA

Run the target repository's own pytest suite for one service, inside the issue's workspace, subject to a timeout. This only executes tests and reports the result -- it never commits or modifies anything. Returns a string starting "OK" or "FAILED" followed by the exit code and captured stdout/stderr, "REFUSED: ..." if the path is option-like, escapes the workspace, or touches '.git', or "ERROR: ..." if the run times out or fails to start -- never raises.

submit_prA

Finish work on an issue: commit everything currently in the workspace, push the selfdev/issue-<issue_number> branch, and open a new pull request or reuse an already-open one for that branch -- then destroy the workspace. It can never merge a pull request and never force-pushes. Requires a GitHub repository to be configured. Returns "opened PR #" on success, or a string starting "ERROR:" on failure (the workspace is kept on failure so a retry doesn't need start_issue again) -- never raises.

list_assigned_issuesA

List open GitHub issues carrying the given label; pull requests are excluded even though GitHub's issues API would otherwise include them. Use this to discover work before calling start_issue. Returns one "# " line per matching issue, a "No open issues labeled " message if none match, or a string starting "ERROR:" on failure -- never raises.

check_pr_statusA

Get the combined CI status for a pull request's head commit, from GitHub's Checks API. Returns exactly one of "pending" (no checks yet, or some still running), "success" (all checks completed without failure), or "failure" (at least one check reported a non-success conclusion: failed, cancelled, timed out, required action, or failed to start) -- or a string starting "ERROR:" if the status can't be retrieved (never raises).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool owns a distinct stage of the issue-to-PR workflow: discovery, workspace setup, file read/write, test execution, PR submission, and CI status. There is no meaningful overlap between read_file and write_file or between run_tests and check_pr_status.

Naming Consistency5/5

All seven tools follow a consistent snake_case verb_noun pattern: start_issue, read_file, write_file, run_tests, list_assigned_issues, submit_pr, check_pr_status. The naming is predictable and immediately signals what each tool does.

Tool Count5/5

Seven tools is well-scoped for the server's stated purpose of working through GitHub issues from discovery to PR submission. Each tool earns its place and there are no redundant or filler entries.

Completeness3/5

The core workflow is covered: discover issues, start an isolated workspace, edit files, run tests, submit a PR, and check CI status. However, there is no way to read issue bodies/comments or list the workspace directory structure, which leaves notable gaps for agents that need to understand requirements or navigate an unfamiliar repository. There is also no explicit abort/discard tool for abandoning work.

Maintenance

ActivityMaintained
ResponsivenessNo issues