MCP tools
Meshive registers project, workflow, gate, and issue tools on its MCP server. Tool responses are JSON payloads returned as text content.
Project tools
Section titled “Project tools”list_projects
Section titled “list_projects”Lists projects visible to the token. Start here to discover project ids.
create_project
Section titled “create_project”Creates a workspace project. Inputs:
name: display name.key: optional one- or two-character badge key.color: optional hex color.defaultBranch: optional base branch; defaults tomain.
The returned projectId is the project slug used by web routes and the rest of the MCP tools.
Task tools
Section titled “Task tools”list_tasks
Section titled “list_tasks”Lists tasks in a project with status and progress counts.
Input:
projectId: project id fromlist_projects.
create_task
Section titled “create_task”Creates a task as a DAG of steps.
Inputs:
projectId: project id fromlist_projects.title: task title.description: optional task detail.branch: optional branch for the task.steps: at least one step.
Step inputs:
id: local id unique within this task, such asplan.category: free-form label such asPlan,Implement,Test,Verify,Docs, orHuman approval.isGate: optional boolean. Set totruewhen this step waits for human approval.gatePrompt: optional prompt shown to the operator for a gate step.title: step title.description: optional step detail.dependsOn: local ids of upstream steps; defaults to an empty list.objective: optional goal for a non-gate step. If omitted, Meshive falls back to the step description or title.instructions: optional agent instructions.acceptanceCriteria: optional completion criteria; defaults to an empty list.expectedArtifactKind: optionalplan_doc,diff,verification,test_report,doc, orlog.
The response includes the assigned task id and local-step-id to Meshive-step-id mapping.
get_task
Section titled “get_task”Returns a task’s full step graph, including step category, isGate, status, dependencies, gate state, and run state.
Input:
taskId: task key such asWEB-7.
set_task_state
Section titled “set_task_state”Moves a task to a board column.
Inputs:
taskId: task key.state:candidate,queued,running,awaiting_decision,done,wont_do, orfailed.note: optional activity note.
Step tools
Section titled “Step tools”next_ready_steps
Section titled “next_ready_steps”Returns pending steps whose dependencies are done, plus already-running steps. Gate steps appear when they need a human decision.
Input:
taskId: task key.
get_step_brief
Section titled “get_step_brief”Returns the step contract: objective, instructions, upstream context artifacts, expected artifact kind, and acceptance criteria.
Input:
stepId: step key such asWEB-7.2.
Returns null for gate steps because gates are human work.
start_step
Section titled “start_step”Marks a non-gate step as running before work begins. It fails when the step is unknown, already done, a gate, outside token scope, or blocked by unfinished dependencies.
Input:
stepId: step key.
complete_step
Section titled “complete_step”Marks a non-gate step done and optionally attaches an artifact.
Inputs:
stepId: step key.artifactKind: optional artifact kind.artifactTitle: optional artifact title.artifactBody: optional artifact body in markdown or text.
Completing a step readies downstream steps when all their dependencies are done. If the completed step produced review material, attach it as the artifact before a downstream gate is requested.
Gate tools
Section titled “Gate tools”request_gate
Section titled “request_gate”Puts a gate step into awaiting_gate so an operator can approve or reject it in the Inbox and task detail pane.
Input:
stepId: gate step key.
get_gate_status
Section titled “get_gate_status”Returns the gate step status, decision, note, and prompt.
Input:
stepId: gate step key.
Gate decisions are approved or rejected. A pending gate reports status: "awaiting_gate" and decision: null.
Issue tools
Section titled “Issue tools”list_issues
Section titled “list_issues”Lists issues in a project with status, priority, and linked task counts.
Input:
projectId: project id fromlist_projects.
get_issue
Section titled “get_issue”Gets one issue, including description, status, priority, and linked tasks.
Input:
issueId: issue key such asWEB#12.
create_issue
Section titled “create_issue”Files a new issue in a project.
Inputs:
projectId: project id.title: issue title.description: optional detail.priority: optionalnone,urgent,high,medium, orlow; defaults tonone.
update_issue
Section titled “update_issue”Updates an issue’s priority, title, description, or manual status. If the issue is linked to tasks, its status is derived from linked task board state and cannot be set directly.
Inputs:
issueId: issue key.title: optional title.description: optional description.status: optionalbacklog,todo,in_progress,in_review,done, orcanceled.priority: optional priority.
link_issue_to_task
Section titled “link_issue_to_task”Links a task to an issue it resolves. The operation is idempotent.
Inputs:
issueId: issue key.taskId: task key.
unlink_issue_from_task
Section titled “unlink_issue_from_task”Removes a task link from an issue.
Inputs:
issueId: issue key.taskId: task key.