DocSpace Docs

<!-- Generated by scripts/gen-mcp-tool-docs.js from mcp/tools/*.js. Do not edit by hand: run npm run docs:mcp. -->

MCP tool reference

The DocSpace MCP server (docspace 0.4.0) exposes 33 tools, listed below in the order tools/list returns them. Each tool needs one scope on the agent key and a key role at least as high as the scope's minimum role (custom roles need the listed permission instead). See Scopes and roles for how the check works and Errors for what a denied call returns.

Behaviour comes from the tool annotations: read-only tools never write; additive writes only create data; overwrites may replace existing data.

Summary

Tool Title Scope Minimum role Behaviour
get_context Get cited context pack pages:read viewer read-only
search Search pages pages:read viewer read-only
get_mentions Count term mentions pages:read viewer read-only
list_pages List pages pages:read viewer read-only
get_page Get page pages:read viewer read-only
get_backlinks Get page backlinks pages:read viewer read-only
get_graph Get knowledge graph pages:read viewer read-only
create_page Create page pages:write editor write (additive)
append_block Append block to page pages:write editor write (additive)
list_boards List boards boards:read viewer read-only
get_board Get board boards:read viewer read-only
create_board Create board boards:write editor write (additive)
add_row Add board row boards:write editor write (additive)
set_cell Set board cell boards:write editor write (overwrites existing data)
create_automation Create board automation boards:write editor write (additive)
list_services List catalog services catalog:read viewer read-only
get_service Get catalog service catalog:read viewer read-only
create_service Create catalog service catalog:write editor write (additive)
update_service Update catalog service catalog:write editor write (overwrites existing data)
list_scorecards List scorecards scorecards:read viewer read-only
get_scorecard Get scorecard result scorecards:read viewer read-only
get_ownership_graph Get ownership graph catalog:read viewer read-only
sync_from_github Sync page from GitHub sync:write editor write (overwrites existing data), reaches the internet
list_work_items List work items planner:read viewer read-only
get_work_item Get work item planner:read viewer read-only
get_item_git_refs Get git refs for item planner:read viewer read-only
list_sprints List sprints planner:read viewer read-only
create_work_item Create work item planner:write editor write (additive)
update_work_item Update work item planner:write editor write (overwrites existing data)
start_sprint Start sprint planner:write editor write (overwrites existing data)
close_sprint Close sprint planner:write editor write (overwrites existing data)
publish_artifact Publish HTML artifact artifacts:write editor write (additive)
update_artifact Update HTML artifact artifacts:write editor write (additive)

get_context

Get cited context pack · scope pages:read · minimum role viewer · custom-role permission CONTENT_READ · read-only

Returns one compact, cited markdown context pack for a query, a page or a work item: ranked page excerpts (FTS + embeddings), one-hop linked pages, page owners and open work items, within budget_tokens. Citations: [page:<id>], [block:<id>], [work_item:<id>]. truncated=true when content was dropped to fit. Use it first to answer a question from the space, and cite the returned ids in the answer.

Parameters:

Name Type Required Description
query string no free-text question or topic; max length 500
page_id integer no anchor page id
work_item_id integer no anchor work item id (needs planner:read)
budget_tokens integer no token budget for the markdown (default 4000); min 200, max 32000

Input schema:

{
  "type": "object",
  "properties": {
    "query": {
      "description": "free-text question or topic",
      "type": "string",
      "maxLength": 500
    },
    "page_id": {
      "description": "anchor page id",
      "type": "integer"
    },
    "work_item_id": {
      "description": "anchor work item id (needs planner:read)",
      "type": "integer"
    },
    "budget_tokens": {
      "description": "token budget for the markdown (default 4000)",
      "type": "integer",
      "minimum": 200,
      "maximum": 32000
    }
  }
}

Search pages · scope pages:read · minimum role viewer · custom-role permission CONTENT_READ · read-only

Full-text search over page titles and block content in the space. Returns matching pages and blocks with their ids. Use it to locate pages by keyword; use get_context for a ranked, cited answer pack.

Parameters:

Name Type Required Description
q string yes

Input schema:

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    }
  },
  "required": [
    "q"
  ]
}

get_mentions

Count term mentions · scope pages:read · minimum role viewer · custom-role permission CONTENT_READ · read-only

Counts whole-word, case-insensitive mentions of a term in permitted pages and board items. Returns the total, per-page and per-board counts, monthly counts and top co-occurring terms. Use it to answer how often or where a term is mentioned.

Parameters:

Name Type Required Description
term string yes Word or phrase to count; min length 2, max length 64
from string no ISO date, start of the monthly chart window
to string no ISO date, end of the monthly chart window (default: now)

Input schema:

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "minLength": 2,
      "maxLength": 64,
      "description": "Word or phrase to count"
    },
    "from": {
      "description": "ISO date, start of the monthly chart window",
      "type": "string"
    },
    "to": {
      "description": "ISO date, end of the monthly chart window (default: now)",
      "type": "string"
    }
  },
  "required": [
    "term"
  ]
}

list_pages

List pages · scope pages:read · minimum role viewer · custom-role permission CONTENT_READ · read-only

Returns every page in the space as a flat list (id, title, icon, parent_id, position) that forms the page tree. Use it to browse the structure or find a page id by title; use search for content.

Parameters: none.

Input schema:

{
  "type": "object",
  "properties": {}
}

get_page

Get page · scope pages:read · minimum role viewer · custom-role permission CONTENT_READ · read-only

Returns one page with its ordered blocks and its backlinks (pages that link to it). Use it to read a page in full after search, list_pages or get_context gave you its id.

Parameters:

Name Type Required Description
id number yes page id

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "page id"
    }
  },
  "required": [
    "id"
  ]
}

Get page backlinks · scope pages:read · minimum role viewer · custom-role permission CONTENT_READ · read-only

Returns the pages that link to the given page through [[wiki-links]], with a snippet of each link. Use it to see where a page is referenced.

Parameters:

Name Type Required Description
id number yes

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  },
  "required": [
    "id"
  ]
}

get_graph

Get knowledge graph · scope pages:read · minimum role viewer · custom-role permission CONTENT_READ · read-only

Returns the knowledge graph of the space: nodes (pages) and edges (resolved [[wiki-links]]). Use it to map how pages connect; it can be large, so prefer get_backlinks for one page.

Parameters: none.

Input schema:

{
  "type": "object",
  "properties": {}
}

create_page

Create page · scope pages:write · minimum role editor · custom-role permission CONTENT_WRITE · write (additive)

Creates a page in the space and returns it (id, title, parent_id). Use it only when the user asks to create a page; add content afterwards with append_block. parent_id nests it under an existing page.

Parameters:

Name Type Required Description
title string no
icon string no
parent_id number or null no

Input schema:

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "icon": {
      "type": "string"
    },
    "parent_id": {
      "type": [
        "number",
        "null"
      ]
    }
  }
}

append_block

Append block to page · scope pages:write · minimum role editor · custom-role permission CONTENT_WRITE · write (additive)

Appends one block (paragraph, heading, todo, bullet, quote or code) to the end of a page and returns the new block. Write [[Page title]] in content to link another page. Use it to add content the user asked for; it never edits existing blocks.

Parameters:

Name Type Required Description
page_id number yes
type one of "paragraph", "heading", "todo", "bullet", "quote", "code" no
content string no
checked boolean no

Input schema:

{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "number"
    },
    "type": {
      "type": "string",
      "enum": [
        "paragraph",
        "heading",
        "todo",
        "bullet",
        "quote",
        "code"
      ]
    },
    "content": {
      "type": "string"
    },
    "checked": {
      "type": "boolean"
    }
  },
  "required": [
    "page_id"
  ]
}

list_boards

List boards · scope boards:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns the boards in the space (id, title, icon, type). Use it to find a board id before get_board or add_row.

Parameters: none.

Input schema:

{
  "type": "object",
  "properties": {}
}

get_board

Get board · scope boards:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns one board with its columns, rows, cell values and automations. Use it to read tabular data or to find column and row ids before add_row or set_cell.

Parameters:

Name Type Required Description
id number yes

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    }
  },
  "required": [
    "id"
  ]
}

create_board

Create board · scope boards:write · minimum role editor · custom-role permission BOARDS_WRITE · write (additive)

Creates a board with the default columns (Task, Status, Owner, Date) and returns it. Use it only when the user asks for a new board.

Parameters:

Name Type Required Description
title string no
icon string no

Input schema:

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "icon": {
      "type": "string"
    }
  }
}

add_row

Add board row · scope boards:write · minimum role editor · custom-role permission BOARDS_WRITE · write (additive)

Adds a row to a board and returns { row_id }. values maps column id to cell value ({ "12": "Done" }); get column ids from get_board.

Parameters:

Name Type Required Description
board_id number yes
values object (string → string) no

Input schema:

{
  "type": "object",
  "properties": {
    "board_id": {
      "type": "number"
    },
    "values": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "board_id"
  ]
}

set_cell

Set board cell · scope boards:write · minimum role editor · custom-role permission BOARDS_WRITE · write (overwrites existing data)

Overwrites one cell (row_id, column_id) with value and returns the result. Matching board automations run after the write. Use it when the user asks to change a value.

Parameters:

Name Type Required Description
row_id number yes
column_id number yes
value string yes

Input schema:

{
  "type": "object",
  "properties": {
    "row_id": {
      "type": "number"
    },
    "column_id": {
      "type": "number"
    },
    "value": {
      "type": "string"
    }
  },
  "required": [
    "row_id",
    "column_id",
    "value"
  ]
}

create_automation

Create board automation · scope boards:write · minimum role editor · custom-role permission BOARDS_WRITE · write (additive)

Creates a board automation: when trigger_column is set to trigger_value, set action_column to action_value (set_cell) or notify. Returns the automation. Use it only when the user asks for an automation.

Parameters:

Name Type Required Description
board_id number yes
name string no
trigger_column number yes
trigger_value string yes
action_type one of "set_cell", "notify" no
action_column number no
action_value string no

Input schema:

{
  "type": "object",
  "properties": {
    "board_id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "trigger_column": {
      "type": "number"
    },
    "trigger_value": {
      "type": "string"
    },
    "action_type": {
      "type": "string",
      "enum": [
        "set_cell",
        "notify"
      ]
    },
    "action_column": {
      "type": "number"
    },
    "action_value": {
      "type": "string"
    }
  },
  "required": [
    "board_id",
    "trigger_column",
    "trigger_value"
  ]
}

list_services

List catalog services · scope catalog:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns every service registered in the space's catalog boards (row id, name, owner, tier, repo, on-call, status). Use it to find a service before get_service or get_scorecard.

Parameters:

Name Type Required Description
space_id number no space id; defaults to the connection's space
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "space_id": {
      "description": "space id; defaults to the connection's space",
      "type": "number"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  }
}

get_service

Get catalog service · scope catalog:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns one catalog service (a catalog board row) with all its cells and its linked page. Use it for the details of a service found with list_services.

Parameters:

Name Type Required Description
row_id number yes service row id
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "row_id": {
      "type": "number",
      "description": "service row id"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "row_id"
  ]
}

create_service

Create catalog service · scope catalog:write · minimum role editor · custom-role permission BOARDS_WRITE · write (additive)

Adds a service to a catalog board (type=catalog) and returns { row_id }. Use it only when the user asks to register a service.

Parameters:

Name Type Required Description
board_id number yes id of a catalog board
name string yes service name (Service column)
owner string no service owner
tier string no tier: P0/P1/P2/P3
repo string no service repository
on_call string no on-call person
status string no status: Active/Experimental/Deprecated
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "board_id": {
      "type": "number",
      "description": "id of a catalog board"
    },
    "name": {
      "type": "string",
      "description": "service name (Service column)"
    },
    "owner": {
      "description": "service owner",
      "type": "string"
    },
    "tier": {
      "description": "tier: P0/P1/P2/P3",
      "type": "string"
    },
    "repo": {
      "description": "service repository",
      "type": "string"
    },
    "on_call": {
      "description": "on-call person",
      "type": "string"
    },
    "status": {
      "description": "status: Active/Experimental/Deprecated",
      "type": "string"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "board_id",
    "name"
  ]
}

update_service

Update catalog service · scope catalog:write · minimum role editor · custom-role permission BOARDS_WRITE · write (overwrites existing data)

Overwrites cells of a catalog service by column name (case-insensitive) and returns { row_id, updated } with the columns written. Unknown column names are skipped.

Parameters:

Name Type Required Description
row_id number yes service row id
fields object (string → string) yes map of column name to new value
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "row_id": {
      "type": "number",
      "description": "service row id"
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      },
      "description": "map of column name to new value"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "row_id",
    "fields"
  ]
}

list_scorecards

List scorecards · scope scorecards:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns the scorecards (rules and weights) defined for a catalog board. Use it to see how services are graded.

Parameters:

Name Type Required Description
board_id number yes id of a catalog board
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "board_id": {
      "type": "number",
      "description": "id of a catalog board"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "board_id"
  ]
}

get_scorecard

Get scorecard result · scope scorecards:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns the scorecard result for one catalog service row: overall score and a per-rule breakdown. Use it to check a service's maturity or compliance.

Parameters:

Name Type Required Description
row_id number yes row id in a catalog board
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "row_id": {
      "type": "number",
      "description": "row id in a catalog board"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "row_id"
  ]
}

get_ownership_graph

Get ownership graph · scope catalog:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns the ownership graph of the space: pages, catalog services and the ownership edges between them. Use it to answer who owns a service or which docs describe it.

Parameters:

Name Type Required Description
space_id number no space id; defaults to the connection's space
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "space_id": {
      "description": "space id; defaults to the connection's space",
      "type": "number"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  }
}

sync_from_github

Sync page from GitHub · scope sync:write · minimum role editor · custom-role permission CONTENT_WRITE · write (overwrites existing data), reaches the internet

Fetches a Markdown file from a GitHub repository and syncs it into a DocSpace page now, overwriting the synced page content (or flagging a conflict). Returns the sync result. Reaches github.com; use it only when the user asks to sync that file.

Parameters:

Name Type Required Description
repo string yes GitHub repository as "owner/repo"
path string yes file path inside the repository, e.g. "docs/README.md"
space_id number no space id; defaults to the connection's space
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "repo": {
      "type": "string",
      "description": "GitHub repository as \"owner/repo\""
    },
    "path": {
      "type": "string",
      "description": "file path inside the repository, e.g. \"docs/README.md\""
    },
    "space_id": {
      "description": "space id; defaults to the connection's space",
      "type": "number"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "repo",
    "path"
  ]
}

list_work_items

List work items · scope planner:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns the work items of a space, filtered by sprint, status, assignee, type or title text. Use it to answer what is planned, in progress or assigned to someone.

Parameters:

Name Type Required Description
space_id number yes space id
sprint_id number or null no sprint id filter (null = backlog)
status string no backlog | todo | in_progress | in_review | done | cancelled
assignee_id string no assignee user id
type string no epic | story | task | subtask | bug
text string no partial, case-insensitive match on the title
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "space_id": {
      "type": "number",
      "description": "space id"
    },
    "sprint_id": {
      "description": "sprint id filter (null = backlog)",
      "type": [
        "number",
        "null"
      ]
    },
    "status": {
      "description": "backlog | todo | in_progress | in_review | done | cancelled",
      "type": "string"
    },
    "assignee_id": {
      "description": "assignee user id",
      "type": "string"
    },
    "type": {
      "description": "epic | story | task | subtask | bug",
      "type": "string"
    },
    "text": {
      "description": "partial, case-insensitive match on the title",
      "type": "string"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "space_id"
  ]
}

get_work_item

Get work item · scope planner:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns one work item with its fields, links and linked git refs (branches, commits, PRs). Use it for the details of an item found with list_work_items.

Parameters:

Name Type Required Description
id number yes work item id
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "work item id"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}

get_item_git_refs

Get git refs for item · scope planner:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns the git refs (branches, commits, pull requests) linked to a work item or page through smart commits or webhooks.

Parameters:

Name Type Required Description
id number yes work item or page id
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "work item or page id"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}

list_sprints

List sprints · scope planner:read · minimum role viewer · custom-role permission BOARDS_READ · read-only

Returns every sprint of a space with its state (planned, active, closed) and dates. Use it to find the active sprint or a sprint id.

Parameters:

Name Type Required Description
space_id number yes space id
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "space_id": {
      "type": "number",
      "description": "space id"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "space_id"
  ]
}

create_work_item

Create work item · scope planner:write · minimum role editor · custom-role permission BOARDS_WRITE · write (additive)

Creates a work item (epic, story, task, subtask or bug) in a space and returns it. Use it only when the user asks to create an item.

Parameters:

Name Type Required Description
space_id number yes space id
title string yes item title
type one of "epic", "story", "task", "subtask", "bug" no
status one of "backlog", "todo", "in_progress", "in_review", "done", "cancelled" no
priority one of "low", "medium", "high", "urgent" no
description string no
assignee_id string no
sprint_id number or null no
parent_id number or null no
estimate_points integer no
labels array of string no
start_date string no ISO date (YYYY-MM-DD)
due_date string no ISO date (YYYY-MM-DD)
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "space_id": {
      "type": "number",
      "description": "space id"
    },
    "title": {
      "type": "string",
      "description": "item title"
    },
    "type": {
      "type": "string",
      "enum": [
        "epic",
        "story",
        "task",
        "subtask",
        "bug"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "backlog",
        "todo",
        "in_progress",
        "in_review",
        "done",
        "cancelled"
      ]
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high",
        "urgent"
      ]
    },
    "description": {
      "type": "string"
    },
    "assignee_id": {
      "type": "string"
    },
    "sprint_id": {
      "type": [
        "number",
        "null"
      ]
    },
    "parent_id": {
      "type": [
        "number",
        "null"
      ]
    },
    "estimate_points": {
      "type": "integer"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "start_date": {
      "description": "ISO date (YYYY-MM-DD)",
      "type": "string"
    },
    "due_date": {
      "description": "ISO date (YYYY-MM-DD)",
      "type": "string"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "space_id",
    "title"
  ]
}

update_work_item

Update work item · scope planner:write · minimum role editor · custom-role permission BOARDS_WRITE · write (overwrites existing data)

Overwrites fields of a work item (status, assignee, sprint, dates, points, priority, labels, position) with patch and returns the updated item. Only the fields in patch change.

Parameters:

Name Type Required Description
id number yes work item id
patch object yes fields to change
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "work item id"
    },
    "patch": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "backlog",
            "todo",
            "in_progress",
            "in_review",
            "done",
            "cancelled"
          ]
        },
        "priority": {
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high",
            "urgent"
          ]
        },
        "assignee_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "sprint_id": {
          "type": [
            "number",
            "null"
          ]
        },
        "parent_id": {
          "type": [
            "number",
            "null"
          ]
        },
        "estimate_points": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "start_date": {
          "type": [
            "string",
            "null"
          ]
        },
        "due_date": {
          "type": [
            "string",
            "null"
          ]
        },
        "position": {
          "type": "integer"
        }
      },
      "description": "fields to change"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "id",
    "patch"
  ]
}

start_sprint

Start sprint · scope planner:write · minimum role editor · custom-role permission BOARDS_WRITE · write (overwrites existing data)

Starts a planned sprint (planned → active) and returns it. Use it only when the user asks to start the sprint.

Parameters:

Name Type Required Description
id number yes sprint id
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "sprint id"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}

close_sprint

Close sprint · scope planner:write · minimum role editor · custom-role permission BOARDS_WRITE · write (overwrites existing data)

Closes the active sprint and returns it; unfinished items move back to the backlog (sprint_id = null). Use it only when the user asks to close the sprint.

Parameters:

Name Type Required Description
id number yes sprint id
_token string no legacy user bearer token for multi-tenant mode; omit it when connected with an agent key

Input schema:

{
  "type": "object",
  "properties": {
    "id": {
      "type": "number",
      "description": "sprint id"
    },
    "_token": {
      "description": "legacy user bearer token for multi-tenant mode; omit it when connected with an agent key",
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}

publish_artifact

Publish HTML artifact · scope artifacts:write · minimum role editor · custom-role permission CONTENT_WRITE · write (additive)

Publishes a self-contained HTML document as a new artifact page and returns { page_id, url, version }; share the url with the user. Use it when the user asks to publish a report, dashboard or prototype. HTML up to 10 MB; HTML containing secrets (API keys, tokens, private keys) is refused.

Parameters:

Name Type Required Description
title string yes artifact title, cut to 200 characters (empty → the HTML <title>)
html string yes full HTML document; max length 10485760
parent_page_id integer or null no parent page in the same space
generator string no tool that produced the HTML, e.g. claude-code

Input schema:

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "artifact title, cut to 200 characters (empty → the HTML <title>)"
    },
    "html": {
      "type": "string",
      "maxLength": 10485760,
      "description": "full HTML document"
    },
    "parent_page_id": {
      "description": "parent page in the same space",
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "generator": {
      "description": "tool that produced the HTML, e.g. claude-code",
      "type": "string"
    }
  },
  "required": [
    "title",
    "html"
  ]
}

update_artifact

Update HTML artifact · scope artifacts:write · minimum role editor · custom-role permission CONTENT_WRITE · write (additive)

Replaces the live HTML of an existing artifact with a new version; earlier versions are kept, and the page id and URL stay the same. Returns { page_id, url, version }. Use it to revise an artifact published with publish_artifact.

Parameters:

Name Type Required Description
page_id integer yes id of the artifact page
html string yes full HTML document of the new version; max length 10485760

Input schema:

{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "description": "id of the artifact page"
    },
    "html": {
      "type": "string",
      "maxLength": 10485760,
      "description": "full HTML document of the new version"
    }
  },
  "required": [
    "page_id",
    "html"
  ]
}