Culprit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CULPRIT_DB | No | Path to the SQLite sessions database. The default is ~/.culprit/sessions.db; ~ is expanded via os.path.expanduser for both environment variable and default values. | |
| CULPRIT_CHECK_TIMEOUT_SECONDS | No | Timeout in seconds for the check command. Defaults to 300 seconds. Invalid timeout values silently fall back to 300 seconds. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| start_bisectA | Start an isolated first-parent bisect. check_command MUST be supplied by the human (never invent shell). Exits: 0=good, non-zero=bad, 125=skip. Working tree untouched — each probe uses a fresh git worktree. |
| step_bisectC | Test one candidate in an isolated worktree; resume-safe across calls. |
| run_bisectB | Drive step_bisect until done/failed (max 50 steps). |
| bisect_statusC | Show status, candidate count, and culprit if found. |
| list_bisect_sessionsB | List all stored bisect sessions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: start_bisect initializes a bisect, step_bisect tests one candidate, run_bisect drives stepping to completion, bisect_status reports the current session, and list_bisect_sessions enumerates stored sessions. There is no overlap that would cause misselection.
start_bisect, step_bisect, and run_bisect follow a consistent verb_bisect pattern, but bisect_status inverts to noun_verb and list_bisect_sessions inserts bisect in the middle. The deviations are minor and the names remain readable and predictable.
Five tools is well-scoped for git bisect automation, with each tool earning its place across initialization, stepping, driving, status, and session listing. No obvious bloat or thinness.
The core bisect lifecycle is covered: start, step, run, status, and list sessions. Minor gaps exist, such as no explicit abort/cleanup or delete-session operation, but agents can work around this by ignoring or overwriting sessions.