MCP

Tool Reference

Complete reference for all MCP tools available in DolphinQ.

Identity

say_my_name

Verify your token identity — returns your display name, email, workspace, and role.

Story Management

create_story

Create a single story with title, description, component, priority, assignee, and dates. For 2+ stories, use create_stories_batch.

Example
{
  "story_title": "Implement auth middleware",
  "project_id": 113,
  "component_id": 332,
  "priority": "High"
}

create_stories_batch

Create up to 50 stories at once in the same project. Always prefer this over looping create_story when decomposing a feature.

Example
{
  "project_id": 113,
  "stories": [
    { "story_title": "Design API schema", "component_id": 333 },
    { "story_title": "Build endpoints", "component_id": 333 }
  ]
}

update_story

Update one story — status, priority, assignee, description, dates, or component. For 2+ stories, use update_stories_batch.

update_stories_batch

Update up to 50 stories in one call — bulk status, priority, assignee, component, or date changes. Stories you can't access are returned in skipped[].

Example
{
  "updates": [
    { "story_id": "DLPQ-012", "status": "Completed" },
    { "story_id": "DLPQ-014", "priority": "High" }
  ]
}

get_story

Drill into a SINGLE story — full comments, audit log, dependencies, and artifacts. For multiple stories use get_stories_batch instead of looping.

get_stories_batch

Fetch many stories in one call (max 50) as rich cards: status, priority, dates, computed risk, dependency graph, and counts. Use this instead of repeated get_story.

Example
{
  "story_ids": ["DLPQ-001", "DLPQ-002", "DLPQ-003"]
}

list_stories

List stories in a project, optionally filtered by status or component.

list_assigned

List your assigned stories across the workspace as rich cards. Excludes Completed/Cancelled by default — pass include_completed=true to include them.

get_workload

Your own delay-risk warning — counts of active, overdue, and due-soon stories. Read-only; never reassigns work.

add_comment

Add a tagged comment to a story (tags: LOG, BUG, FIX, TASK, UPDATE, QUESTION, BLOCKER, DONE, VERIFIED). Write it in markdown — it's converted on save. Empty comments are rejected.

Example
{
  "story_id": "DLPQ-012",
  "tag": "VERIFIED",
  "comment_text": "PR #42 merged.\n\n- Refund returns credits\n- Second cancel is a no-op"
}

Analysis

post_story_analysis

Persist your session analysis of a single story (verdict + suggestions) with history; returns a link to its full analysis page. Human keys only.

Example
{
  "story_id": "DLPQ-036",
  "verdict": ["Timeline is tight — 2 phases unstarted"],
  "suggestions": ["Front-load the security review"]
}

post_story_analyses_batch

Persist analyses for multiple stories in one call (max 50) — use instead of looping post_story_analysis. Returns a link per story.

Artifacts

add_story_artifact

Attach an external reference to a story — a Google Drive, Notion, Figma, or any URL — so context lives with the work.

Example
{
  "story_id": "DLPQ-036",
  "url": "https://notion.so/spec",
  "title": "Design spec"
}

remove_story_artifact

Remove an artifact from a story (by artifact_id). Only the original adder or a workspace owner/admin can remove it.

Dependencies

add_dependency

Add one dependency — story A depends on story B. Both must be in the same project. For 2+ edges, use add_dependencies_batch.

add_dependencies_batch

Wire up to 50 dependencies in one call. The whole graph is checked — self-links, duplicates, cross-project, and cycle-forming edges are returned in skipped[].

Example
{
  "project_id": 113,
  "pairs": [
    { "story_id": "DLPQ-014", "depends_on_id": "DLPQ-012" },
    { "story_id": "DLPQ-015", "depends_on_id": "DLPQ-014" }
  ]
}

remove_dependency

Remove an existing dependency between two stories.

list_dependencies

List all dependencies for a story or project.

Workspace & Projects

list_projects

List all projects in the workspace.

create_project

Create a project when no suitable one exists. Returns its project_id and the alias used for story IDs (e.g. BIOL → BIOL-001). Subject to the workspace project limit.

Example
{
  "project_name": "Checkout",
  "project_alias": "CHK"
}

get_project_details

Full project view — all stories, dependencies, components, critical path, and timeline.

get_project_status

Project health summary — blockers, progress, and critical path.

list_components

List components within a project.

create_component

Create one component in a project. For 2+ components, use create_components_batch.

create_components_batch

Create up to 50 components in one call. Names that already exist (case-insensitive) are returned in skipped[].

Example
{
  "project_id": 113,
  "components": [
    { "component_name": "Frontend" },
    { "component_name": "Backend" }
  ]
}

list_members

List workspace members with roles.