← WebMCP Directory

Tool tree

henry-bauta.github.io

Productivity & BusinessTools verified
Website
A living client brief that you and a ChatGPT agent edit together on one page.
Explore capabilities
    get_briefAnswer

    Read the living client brief currently on this page. Use section to fetch a slice instead of the full document. This is the first tool to call before proposing changes.

    View tool JSON
    {
      "name": "get_brief",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the living client brief currently on this page. Use section to fetch a slice instead of the full document. This is the first tool to call before proposing changes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string",
            "description": "Which slice to return. Defaults to the full brief.",
            "enum": [
              "all",
              "meta",
              "goals",
              "deliverables",
              "constraints",
              "decisions",
              "questions",
              "revisions"
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    add_deliverableAction

    Append a deliverable to the brief. Use for new work the client and studio agree to ship. Prefer update_deliverable when the item already exists.

    View tool JSON
    {
      "name": "add_deliverable",
      "kind": "act",
      "impl": "imperative",
      "description": "Append a deliverable to the brief. Use for new work the client and studio agree to ship. Prefer update_deliverable when the item already exists.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Short name, e.g. 'Weekly menu + allergens'.",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "description": "What done looks like."
          },
          "owner": {
            "type": "string",
            "description": "Who is accountable: Studio, client, or both."
          },
          "due": {
            "type": "string",
            "description": "Due date as YYYY-MM-DD."
          },
          "status": {
            "type": "string",
            "enum": [
              "planned",
              "in_progress",
              "review",
              "done"
            ],
            "description": "Workflow state. Defaults to planned."
          }
        },
        "required": [
          "title"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    update_deliverableAction

    Patch an existing deliverable by id. Only provided fields change. Use get_brief first if you do not have the id.

    View tool JSON
    {
      "name": "update_deliverable",
      "kind": "act",
      "impl": "imperative",
      "description": "Patch an existing deliverable by id. Only provided fields change. Use get_brief first if you do not have the id.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Deliverable id, e.g. del-menu.",
            "minLength": 1
          },
          "title": {
            "type": "string",
            "description": "Replacement title."
          },
          "description": {
            "type": "string",
            "description": "Replacement description."
          },
          "owner": {
            "type": "string",
            "description": "Replacement owner."
          },
          "due": {
            "type": "string",
            "description": "Replacement due date YYYY-MM-DD."
          },
          "status": {
            "type": "string",
            "enum": [
              "planned",
              "in_progress",
              "review",
              "done"
            ],
            "description": "Replacement status."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    add_constraintAction

    Record a hard limit on budget, timeline, brand, legal, technical, or other. Constraints are visible to the client — write them in plain language.

    View tool JSON
    {
      "name": "add_constraint",
      "kind": "act",
      "impl": "imperative",
      "description": "Record a hard limit on budget, timeline, brand, legal, technical, or other. Constraints are visible to the client — write them in plain language.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The constraint in one or two sentences.",
            "minLength": 1
          },
          "kind": {
            "type": "string",
            "enum": [
              "budget",
              "timeline",
              "brand",
              "legal",
              "technical",
              "other"
            ],
            "description": "Category. Defaults to other."
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    mark_decisionAction

    Log a decision that is now closed. Use this when the client or studio has chosen, not for open debate. Open debate belongs in raise_question or propose_revision.

    View tool JSON
    {
      "name": "mark_decision",
      "kind": "act",
      "impl": "imperative",
      "description": "Log a decision that is now closed. Use this when the client or studio has chosen, not for open debate. Open debate belongs in raise_question or propose_revision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "What was decided, in client-facing language.",
            "minLength": 1
          },
          "decidedBy": {
            "type": "string",
            "enum": [
              "human",
              "agent",
              "client",
              "joint"
            ],
            "description": "Who closed it. Defaults to joint."
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    raise_questionAction

    Park a question the human or client still needs to answer. Do not block the rest of the brief on it. The human can answer inline on the page.

    View tool JSON
    {
      "name": "raise_question",
      "kind": "act",
      "impl": "imperative",
      "description": "Park a question the human or client still needs to answer. Do not block the rest of the brief on it. The human can answer inline on the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "The question, addressed to the client or studio.",
            "minLength": 1
          },
          "askedBy": {
            "type": "string",
            "enum": [
              "human",
              "agent",
              "client",
              "joint"
            ],
            "description": "Who is asking. Defaults to agent."
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    propose_revisionAction

    Suggest a change without writing it into the brief. The human must accept or reject it. If proposedValue and a target are set, accepting the revision applies that value.

    View tool JSON
    {
      "name": "propose_revision",
      "kind": "act",
      "impl": "imperative",
      "description": "Suggest a change without writing it into the brief. The human must accept or reject it. If proposedValue and a target are set, accepting the revision applies that value.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "summary": {
            "type": "string",
            "description": "One-line change the client can yes/no.",
            "minLength": 1
          },
          "rationale": {
            "type": "string",
            "description": "Why this is better for the client."
          },
          "target": {
            "type": "string",
            "enum": [
              "deliverable",
              "constraint",
              "goal",
              "timeline",
              "notes",
              "meta"
            ],
            "description": "Where the change would land. Defaults to notes."
          },
          "targetId": {
            "type": "string",
            "description": "Id of a deliverable when target is deliverable."
          },
          "proposedValue": {
            "type": "string",
            "description": "If accepting should write a value, the replacement text (e.g. new deliverable description)."
          }
        },
        "required": [
          "summary"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    accept_revisionAction

    Accept a proposed revision by id. Applies proposedValue when present, and records a joint decision. Prefer that the human does this; use only if they have clearly agreed.

    View tool JSON
    {
      "name": "accept_revision",
      "kind": "act",
      "impl": "imperative",
      "description": "Accept a proposed revision by id. Applies proposedValue when present, and records a joint decision. Prefer that the human does this; use only if they have clearly agreed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Revision id, e.g. rev-soldout.",
            "minLength": 1
          },
          "note": {
            "type": "string",
            "description": "Optional note stored on the revision."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    reject_revisionAction

    Reject a proposed revision by id. Leaves the rest of the brief unchanged. Prefer that the human does this.

    View tool JSON
    {
      "name": "reject_revision",
      "kind": "act",
      "impl": "imperative",
      "description": "Reject a proposed revision by id. Leaves the rest of the brief unchanged. Prefer that the human does this.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Revision id.",
            "minLength": 1
          },
          "note": {
            "type": "string",
            "description": "Why it was rejected, shown on the brief."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }
    export_briefAction

    Export the current brief as Markdown or JSON. Use this to hand a snapshot to the client, a contract, or another tool. Does not change the brief.

    View tool JSON
    {
      "name": "export_brief",
      "kind": "act",
      "impl": "imperative",
      "description": "Export the current brief as Markdown or JSON. Use this to hand a snapshot to the client, a contract, or another tool. Does not change the brief.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "markdown",
              "json"
            ],
            "description": "Export format. Defaults to markdown."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/samepage/"
    }