MCP Tools
The PREQSTATION MCP server exposes read-only tools for discovery and mutation tools for lifecycle work. All mutation tools carry an engine identity.
Tool Categories
Read-only tools
| Tool | Purpose |
|---|---|
preq_list_tasks | List tasks by status, label, engine, or project key |
preq_get_task | Fetch one task by ticket or UUID |
preq_get_project_settings | Fetch resolved project settings by project key |
Mutation tools
| Tool | Purpose |
|---|---|
preq_create_task | Create a new inbox task |
preq_plan_task | Upload a plan and move inbox → todo |
preq_start_task | Claim execution and set run_state=working |
preq_update_task_status | Manually change workflow status only |
preq_complete_task | Upload execution result and move todo/hold → ready |
preq_review_task | Verify work and move ready → done |
preq_block_task | Upload blocking reason and move active work → hold |
preq_delete_task | Permanently delete a task |
Engine Resolution
Mutation tools resolve engine identity in this order:
- Explicit
engineargument - Existing task engine when available
- MCP client auto-detection from
clientInfo.name PREQSTATION_ENGINEcodexfallback
Valid engine values:
claude-codecodexgemini-cli
Read-only Tools
preq_list_tasks
Parameters:
status(optional):inbox,todo,hold,ready,done,archivedlabel(optional): label nameprojectKey(optional): project key filterengine(optional):claude-code,codex,gemini-clilimit(optional): max returned items
Example:
{ "status": "todo", "engine": "claude-code", "projectKey": "PROJ", "limit": 20}preq_get_task
Parameters:
taskId(required): task key such asPROJ-123or a UUID
Returns the full serialized task payload including status, run_state, deploy_strategy, labels, and acceptance_criteria.
preq_get_project_settings
Parameters:
projectKey(required): project key such asPROJ
Returns:
{ "project_key": "PROJ", "settings": { "deploy_strategy": "feature_branch", "deploy_default_branch": "main", "deploy_auto_pr": "true" }}Mutation Tools
preq_create_task
Creates a new task in inbox.
Parameters:
title(required)repo(required): repository URL that matches an existing projectdescription(optional)priority(optional)labels(optional)acceptanceCriteria(optional)branch(optional)assignee(optional)engine(optional)
Example:
{ "title": "Implement rate limiting", "repo": "https://github.com/acme/my-app", "engine": "claude-code", "priority": "high"}preq_plan_task
Uploads plan markdown and moves inbox → todo.
Parameters:
projectKey(required)taskId(required)planMarkdown(required)acceptanceCriteria(optional)priority(optional)labels(optional)engine(optional)
preq_start_task
Claims execution before substantive work. This does not move the workflow column to in_progress; it only marks run_state=working.
Parameters:
taskId(required)engine(optional)
preq_update_task_status
Manual status-only override.
Parameters:
taskId(required)status(required):inbox,todo,hold,ready,done,archivedengine(optional)
preq_complete_task
Uploads result metadata and moves todo or hold → ready.
Parameters:
taskId(required)summary(required)tests(optional)prUrl(optional)notes(optional)branchName(optional)engine(optional)
Example:
{ "taskId": "PROJ-284", "summary": "Implemented rate limiting for login endpoint", "engine": "claude-code", "branchName": "preqstation/PROJ/rate-limit", "prUrl": "https://github.com/org/repo/pull/123", "tests": "npm test"}preq_review_task
Moves ready → done after verification.
Parameters:
taskId(required)summary(optional): defaults to"All checks passed"engine(optional)
preq_block_task
Uploads a blocking reason and moves active work to hold.
Parameters:
taskId(required)reason(required)engine(optional)
preq_delete_task
Parameters:
taskId(required)
Branch Handling
When a task already has a branch, keep using it as the canonical branch name for deploy steps. preq_complete_task accepts branchName so agents can send the final branch back to PREQSTATION along with the result.