← WebMCP Directory

Tool tree

codraft.netlify.app

Productivity & BusinessTools verified
Website
Co/Draft
Explore capabilities
    get_document_stateAnswer

    Get the full current state of the shared document: every block (id, text, author) in order, every pending agent-proposed block awaiting human approval, and every comment (id, the block it's attached to, text, author, resolved status). Call this before proposing content or commenting so you know current block ids.

    View tool JSON
    {
      "name": "get_document_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the full current state of the shared document: every block (id, text, author) in order, every pending agent-proposed block awaiting human approval, and every comment (id, the block it's attached to, text, author, resolved status). Call this before proposing content or commenting so you know current block ids.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    get_selectionAnswer

    Get the block the human currently has selected/focused in the document, if any. Use this to understand what the human is working on before commenting or editing nearby.

    View tool JSON
    {
      "name": "get_selection",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the block the human currently has selected/focused in the document, if any. Use this to understand what the human is working on before commenting or editing nearby.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    insert_blockAction

    Propose a new paragraph/block of text to insert into the shared document, placed immediately after the given block id (or at the end if no id is given). This creates a pending suggestion that a human must accept before it appears in the document — it does not write directly. Returns the pending suggestion's id.

    View tool JSON
    {
      "name": "insert_block",
      "kind": "act",
      "impl": "imperative",
      "description": "Propose a new paragraph/block of text to insert into the shared document, placed immediately after the given block id (or at the end if no id is given). This creates a pending suggestion that a human must accept before it appears in the document — it does not write directly. Returns the pending suggestion's id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The text content of the proposed block."
          },
          "afterBlockId": {
            "type": "string",
            "description": "Id of the block to insert after. Omit to append at the end."
          }
        },
        "required": [
          "text"
        ]
      }
    }
    add_commentAction

    Add a review comment attached to a specific block id in the shared document. Use get_document_state or get_selection first to find the right block id. The comment appears live in the human's comment rail immediately.

    View tool JSON
    {
      "name": "add_comment",
      "kind": "act",
      "impl": "imperative",
      "description": "Add a review comment attached to a specific block id in the shared document. Use get_document_state or get_selection first to find the right block id. The comment appears live in the human's comment rail immediately.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "description": "Id of the block to comment on."
          },
          "text": {
            "type": "string",
            "description": "The comment text."
          }
        },
        "required": [
          "blockId",
          "text"
        ]
      }
    }
    resolve_commentAction

    Mark an open comment as resolved once its feedback has been addressed. Use get_document_state first to find the comment id.

    View tool JSON
    {
      "name": "resolve_comment",
      "kind": "act",
      "impl": "imperative",
      "description": "Mark an open comment as resolved once its feedback has been addressed. Use get_document_state first to find the comment id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "commentId": {
            "type": "string",
            "description": "Id of the comment to resolve."
          }
        },
        "required": [
          "commentId"
        ]
      }
    }