squad-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SQUAD_AGENTS_DIR | No | Path to local directory for overriding agent definitions. If set, this path is used exclusively; otherwise defaults to platform-specific config directory. | |
| SQUAD_BITBUCKET_EMAIL | No | Email for Bitbucket Cloud authentication (required only if posting reviews to Bitbucket Cloud). | |
| SQUAD_BITBUCKET_TOKEN | No | API token for Bitbucket Cloud authentication (required only if posting reviews to Bitbucket Cloud). | |
| SQUAD_AGENTS_ALLOW_UNSAFE | No | Set to '1' to bypass allowlist validation for SQUAD_AGENTS_DIR (unsafe; logs a warning). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| score_riskA | Compute risk level (Low/Medium/High) from boolean signals. Pure function. 0-1=Low, 2-3=Medium, 4+=High. |
| select_squadA | Select agents for a work type given changed files. Combines core matrix with content sniff and path hints. Reads up to 16384 bytes per file when workspace_root is set; signals can be ext-gated to avoid cross-stack false positives. |
| slice_files_for_agentB | Filter a file list to those owned by a specific agent. Uses path hints + content sniff. Reads up to 16384 bytes per file when workspace_root is set. |
| list_agentsA | List all configured agents with their roles, ownership, and naming conventions. |
| get_agent_definitionC | Return the full markdown system prompt for a given agent. Resolves from local override → embedded default. |
| init_local_configB | Copy embedded agent defaults to the local override directory ($SQUAD_AGENTS_DIR or %APPDATA%/squad-mcp/agents). Files locally edited override the bundled versions. |
| apply_consolidation_rulesA | Aggregate advisory reports and emit a verdict per the rules in shared/_Severity-and-Ownership.md. Blocker -> REJECTED. Unjustified Major -> REJECTED. Otherwise CHANGES_REQUIRED or APPROVED. When reports carry per-dimension scores (0-100), also returns a weighted rubric scorecard (see score_rubric). Optional |
| score_rubricA | Compute a weighted multi-dimensional rubric scorecard from per-agent advisory scores (0-100). Each agent represents one dimension (Architecture, Security, Testing, etc.) with a default weight; weights can be overridden per-repo via .squad.yaml. Returns weighted_score, per-dimension breakdown, pass/fail vs threshold (default 75), and a pre-formatted ASCII scorecard. Renormalises across agents that actually scored, so a partial advisory pass produces a meaningful score. |
| read_squad_configA | Read and resolve |
| read_learningsA | Read recent team decisions from |
| record_learningA | Append a team decision (accept | reject) on a finding to |
| prune_learningsA | Lifecycle maintenance for |
| list_tasksA | List tasks from |
| next_taskA | Pick the next ready task: candidate status (default pending), all dependencies done, optional agent / changed_files filter. Tiebreaker priority then id. Returns null with reason when none ready, plus the blocked list so callers can show 'X is next when Y completes'. |
| record_tasksA | Bulk-create tasks in |
| update_task_statusA | Flip a task (or subtask) status: pending / in-progress / review / done / blocked / cancelled. Stamps updated_at. Atomic write. Throws when the task / subtask id is unknown. |
| expand_taskA | Append subtasks to an existing task. Mechanical only — the caller (skill or LLM) supplies the subtask inputs. Subtask ids allocated sequentially starting from |
| slice_files_for_taskB | Filter a file list to those matching a task's |
| compose_prd_parseA | Build a prompt + JSON schema for the host LLM to decompose a PRD into atomic tasks. Pure-MCP: does NOT call any LLM. Caller (skill/host) feeds the prompt to its LLM, receives JSON, then calls record_tasks with user confirmation. Includes existing tasks in the prompt to prevent duplication. |
| classify_work_typeA | Heuristic classification of WorkType from user prompt and changed file paths. Returns top type with Low/Medium/High confidence. Treat as suggestion; allow override. |
| detect_changed_filesA | Detect changed files in a git workspace via "git diff --name-status". Defaults to HEAD~1..HEAD; use base_ref to override or staged_only=true for index-staged changes. Allowlisted refs only (no leading "-", no ".." substring, no "@{", max 200 chars). 10s timeout, 1MB output cap. |
| validate_plan_textA | Heuristic check for inviolable rule violations in a plan text: git commit/push fences, emojis in code blocks, non-English identifiers in code blocks, implementation-before-approval markers. Advisory only — never blocking. |
| compose_squad_workflowA | End-to-end deterministic pipeline: detect_changed_files -> read_squad_config -> classify_work_type -> score_risk -> select_squad. Returns the union output, the resolved .squad.yaml config (defaults if absent), and |
| compose_advisory_bundleB | End-to-end advisory dispatch bundle. Runs compose_squad_workflow, then slice_files_for_agent for each selected agent, then validate_plan_text on the supplied plan. Returns the union output ready for the host to dispatch parallel advisory reviews. |
| record_runA | Append one RunRecord to .squad/runs.jsonl. Single-writer contract: only the lifecycle-owning skills should call this — squad (Phase 1 + Phase 10), debug (Phase A + Phase C), question (Phase 1.5 + Phase 3.5), brainstorm (Step 1.5 + Step 5.5). Validates against the RunRecord schema_version:2 and enforces MAX_RECORD_BYTES (4000) via RECORD_TOO_LARGE on overflow. Caller is responsible for matching in_flight↔terminal rows by id. File mode is 0o600 (user-only) on first create. mode_warning.message is stripped of control chars at write time. |
| list_runsA | Read tool for |
| drain_journalA | Drain the auto-journaling staging buffer ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| squad_orchestration | Full squad-dev flow guide. Walks the host LLM through Phase 0–12 of the squad workflow. |
| agent_advisory | Sliced advisory prompt for one agent. Use after select_squad and slice_files_for_agent. |
| consolidator | Consolidator prompt. Use after collecting all advisory reports. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| product-owner | Business value, UX, requirements fit |
| tech-lead-planner | Pre-implementation trade-offs and viability |
| tech-lead-consolidator | Post-implementation final verdict |
| architect | Boundaries, DI, scalability |
| dba | Queries, migrations, EF, cache |
| developer | Correctness, robustness, APIs, observability |
| reviewer | Readability, idioms, naming |
| security | OWASP, authz, sensitive data |
| qa | Test coverage, strategy, reliability |
| code-explorer | Fast read-only code search and exploration |
| debugger | Hypothesis-first bug investigation (read-only) |
| implementer | Phase 8 code-writing executor (Opus-pinned) |
| _Severity-and-Ownership.md | Shared squad reference document |
| Skill-Squad-Dev.md | Shared squad reference document |
| Skill-Squad-Review.md | Shared squad reference document |
Latest Blog Posts
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/ggemba/squad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server