Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

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

Local instructions file: If .milestack/agent-instructions.md is missing in the current checkout, for example in a worktree or checkout where milestack init has not run, call get_agent_instructions to read the same full instructions from this MCP server. Task creation: Before creating a task, confirm you can state what the developer will observe when it is done, what is explicitly out of scope, and how to verify it. If unclear requirements prevent any of these, ask the developer instead of filling them in. Ask a small batch of targeted questions at once and give each a recommended default answer; do not re-ask what is already clear or can be discovered from code or documentation. If an answer is unavailable, record the unconfirmed point as an explicitly labeled assumption in the objective or acceptance criteria for inbox review instead of silently treating it as agreed. Create inbox tasks only for independently verifiable outcomes. State a verifiable objective and acceptance criteria that each describe one independently checkable result as scenario, expected result, and verification. Scale the number of criteria to the task's size and risk, and do not add separate criteria for generic regression checks already required by the root AGENTS.md or review. Preserve developer-confirmed examples and UI hierarchy, ordering, and state behavior as acceptance constraints. Include same-project dependencyIds and explain each dependency in the objective or acceptance criteria. State file or module ownership and exclusions only for planned parallel work, and do not copy the general workflow, review, risk, or Git rules into each task. Record newly discovered independent work with create_task or create_tasks; agent-created work enters inbox for developer review and prioritization. Inbox edits: Use edit_inbox_task only to correct an inbox task definition. Call get_task first and pass the returned updatedAt as expectedUpdatedAt; the edit is rejected if the task changed since it was read, so call get_task again before retrying. This tool cannot change risk level or risk confirmation and cannot edit ready or later tasks. Use update_task for run-scoped progress instead. Task discovery: When no taskId is known, call get_project_status, select the first task in next with runnable=true, and then call get_task for its working context. Request view=full only when the complete audit history is needed. Known task: When a developer or task brief provides a taskId, call get_task directly; do not call get_project_status first. Claiming: After reading the task details and confirming that its status is ready, call start_task and save the returned runId. start_task is the final atomic claim boundary: the server validates task status, developer-confirmed risk, completed dependencies, and concurrent claims. Do not expect get_task to expose runnable. Submission: After the acceptance criteria and required verification pass, call submit_for_review with an exact 40-character commit SHA and exactly one delivery result per acceptance criterion, filed under the criterion id returned by get_task (met, not_met, or unverifiable; met requires at least one recorded command and result). Submission moves the task to in_review and invalidates the execution runId. Implementation stop: The implementation agent stops after a successful submit_for_review: do not call start_review, approve_review, request_changes, or complete_review, and do not spawn a subagent, new session, or any other reviewer context to review the task you just submitted. Review entry: Review starts only when the developer sends the task ID to an independent review agent. Call get_task with that taskId and confirm phase=review, then call start_review and save the returned reviewRunId before inspecting the submitted artifact. Review the exact commit recorded in the latest submission, verify every acceptance criterion independently, and record a closure for every finding from a changes-requested previous round. Conclude with approve_review, request_changes, or complete_review using the reviewRunId, then stop. Review dimensions: Do not accept the submitter's criteriaResults as review evidence: independently reproduce the key verification for each acceptance criterion. Inspect the reviewed diff for changes outside the task objective and acceptance criteria, and check the work against the repository root AGENTS.md. Record each finding with a low, medium, or high severity for developer triage, but severity does not permit a pass: a review cannot pass while any submitted criterion is not_met or unverifiable or any previous finding remains not_fixed or partially_fixed. Review outcome: Required local Git integration is checked against the fixed review commit and the developer-confirmed local target branch. A low-risk task may complete automatically only after that check; medium- and high-risk tasks require developer approval and the same integration gate. Accepted task awaiting local integration: For a task that is already accepted and still waiting for local integration, call check_task_integration with its latest review id after the developer has completed any authorized local merge. This is a separate integration retry, not a continuation of the implementation agent's work after submission.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_project_statusA

Use this when no taskId is known to read the current project work and ordered ready queue. Choose only ready tasks with runnable=true; waiting tasks include their unfinished dependencies. Results contain task summaries only, without each task's objective or acceptance criteria; call get_task for the full definition.

list_tasksA

Read one task status section with a bounded limit and opaque cursor. Results use the existing ready-queue or recent-completion ordering. Each task is a summary without its objective or acceptance criteria; call get_task for the full definition.

get_taskA

Read a known taskId's definition and the context for its current phase. The default working view returns the phase (implementation or review), dependency state, the current run's progress, every acceptance criterion with its stable id and full text, the latest submission with per-criterion delivery results, previous-round findings awaiting closure, and unclosed findings from changes-requested rounds. Pass view='full' to retrieve the complete immutable event and review histories. This does not require get_project_status first.

create_taskA

Record one newly discovered task in the project's inbox. Optionally include the model label. Agent-created tasks are not ready until a developer confirms and orders them. Before creating a task, confirm you can state the observable outcome, explicit exclusions, and verification. If unclear requirements prevent that, ask the developer instead of filling it in. When creating a task, check that each acceptance criterion describes one independently verifiable delivery result, has a corresponding verification, and does not smuggle in an unconfirmed implementation restriction.

create_tasksA

Record several newly discovered inbox tasks atomically, optionally including model labels. If one input is invalid, the complete batch is rolled back. Before creating a task, confirm you can state the observable outcome, explicit exclusions, and verification. If unclear requirements prevent that, ask the developer instead of filling it in. When creating a task, check that each acceptance criterion describes one independently verifiable delivery result, has a corresponding verification, and does not smuggle in an unconfirmed implementation restriction.

edit_inbox_taskA

Correct the definition of an inbox task created by you or another agent. Call get_task first and pass the task's latest updatedAt with the complete title, objective, acceptance criteria, and dependencyIds. The edit is rejected if the task changed since it was read, cannot change risk level or risk confirmation, and only works while the task is in inbox. Use update_task for run-scoped progress instead.

start_taskA

After get_task, atomically claim a runnable ready task. Optionally include the model label. Save the returned runId and include it in every subsequent execution update.

update_taskB

Record run-scoped progress for a running task. The runId must belong to the current execution. Use edit_inbox_task to correct an inbox task definition instead.

submit_for_reviewA

Submit a running task for review with a completion summary, an exact 40-character commit SHA, and exactly one delivery result per acceptance criterion, filed under the criterion id returned by get_task (met, not_met, or unverifiable; met requires recorded evidence). The task changes to in_review and the runId becomes invalid after submission.

start_reviewA

Use this when the developer sends a task ID for independent review. Call get_task first and confirm phase=review, then atomically claim the latest pending review and save the returned reviewRunId before inspecting the submitted artifact. Review the exact commit in the latest submission. Do not accept the submitter's criteriaResults as evidence: independently reproduce the key verification for each acceptance criterion, inspect the diff for changes outside the task objective and acceptance criteria, and check the work against the repository root AGENTS.md. When a previous round requested changes, close every previous finding. Record low, medium, or high severity for each finding, but severity does not permit a pass: a review cannot pass while any submitted criterion is not_met or unverifiable, or any previous finding remains not_fixed or partially_fixed. Conclude with approve_review, request_changes, or complete_review using the reviewRunId.

approve_reviewA

Pass the claimed review with a summary, structured findings, finding closures, and verification evidence. Every new finding records issue, suggestion, severity, trigger, impact, and evidence, plus a location when one can be identified. When the previous round requested changes, record a closure status for every previous finding; unresolved or partially fixed findings and not_met or unverifiable delivery results block passing. The reviewRunId must own the current review; low-risk tasks may complete automatically while medium- and high-risk tasks wait for developer approval.

request_changesA

Return the claimed review for rework with actionable findings and finding closures. Findings require trigger, impact, and evidence; a re-review must close every finding from the previous changes-requested round. The reviewRunId must own the current review; the task returns to ready and requires a new execution runId.

complete_reviewA

Record a passed or changes-requested AI review with structured findings, finding closures, and verification evidence. Passing is rejected when submitted acceptance criteria are not met or unverifiable, or when a previous-round finding remains not_fixed or partially_fixed. Completion also requires the fixed review commit to be present on the developer-confirmed local target branch; low-risk tasks may complete automatically only after that check, while medium- and high-risk tasks wait for developer approval.

check_task_integrationB

Retry the local read-only Git integration check for an already accepted latest review. Supply the expected review id from get_task. This never merges, fetches, pushes, or substitutes another commit SHA.

get_agent_instructionsA

Read-only. Returns the full MileStack agent instructions, identical to the .milestack/agent-instructions.md that milestack init generates for this version. Call it when that file is missing in the current checkout.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation3/5

Most tools map to a distinct lifecycle step, but the review-conclusion trio (approve_review, request_changes, complete_review) is genuinely hard to separate: approve_review and complete_review both describe recording a pass with structured findings, closures, and evidence. get_project_status vs list_tasks vs get_task are saved by descriptions that explicitly say when to use which, but the agent still must reason about overlapping read views.

Naming Consistency5/5

Uniform snake_case verb_noun pattern throughout (get_, list_, create_, edit_, start_, update_, submit_, approve_, request_, check_), including the predictable singular/plural pair create_task/create_tasks. No casing or style deviations.

Tool Count4/5

15 tools sits at the top of the well-scoped range, but each covers a real lifecycle stage (intake, execution, submission, review, integration) rather than a redundant variant. A couple of review tools could plausibly be folded together to tighten the set.

Completeness3/5

Core lifecycle is well covered (create single/batch, read, claim, progress, submit, review, approve/changes, integration retry, instructions), but notable gaps remain: no delete/cancel/abandon operation, no way to list pending reviews or fetch a review without a developer-supplied task ID, and task definitions are only editable while in inbox.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues