← WebMCP Directory

Tool tree

mdoc.modesthumanbrands.com

Productivity & BusinessTools verified
Website
MDoc
Explore capabilities
    get_wizard_stateAnswer

    Where the "New document" wizard is: current step, selected template, what is still missing before a document can be created, server validation errors, the amount due (billing templates) and the created document if any. Call this first and after changes.

    View tool JSON
    {
      "name": "get_wizard_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Where the \"New document\" wizard is: current step, selected template, what is still missing before a document can be created, server validation errors, the amount due (billing templates) and the created document if any. Call this first and after changes.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/new/template"
    }
    list_templatesAnswer

    Lists the document templates the server offers (id, label, shortLabel, category, description, sampleUrl).

    View tool JSON
    {
      "name": "list_templates",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists the document templates the server offers (id, label, shortLabel, category, description, sampleUrl).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/new/template"
    }
    get_template_schemaAnswer

    Returns the JSON Schema of a template (defaults to the selected one): fields, types, enums, required lists and layout hints. Branding (organization) is resolved by the server and is not part of it.

    View tool JSON
    {
      "name": "get_template_schema",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the JSON Schema of a template (defaults to the selected one): fields, types, enums, required lists and layout hints. Branding (organization) is resolved by the server and is not part of it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string"
          }
        }
      },
      "page": "/new/template"
    }
    get_form_valuesAnswer

    Returns the current form values: `form` as typed so far, and `payload` as it would be sent to the API.

    View tool JSON
    {
      "name": "get_form_values",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the current form values: `form` as typed so far, and `payload` as it would be sent to the API.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/new/template"
    }
    validate_formAction

    Checks the form against the template schema and the required owner ids. Returns the list of missing fields (empty means ready to create).

    View tool JSON
    {
      "name": "validate_form",
      "kind": "act",
      "impl": "imperative",
      "description": "Checks the form against the template schema and the required owner ids. Returns the list of missing fields (empty means ready to create).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/new/template"
    }
    get_preview_statusAnswer

    Status of the live PDF preview: loading, ready, page count, and the last error. `hints` lists fields the server replaced with placeholders because their value was invalid.

    View tool JSON
    {
      "name": "get_preview_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Status of the live PDF preview: loading, ready, page count, and the last error. `hints` lists fields the server replaced with placeholders because their value was invalid.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/new/template"
    }
    select_templateAction

    Selects a template (see list_templates), loads its schema and applies defaults. Resets previously entered values.

    View tool JSON
    {
      "name": "select_template",
      "kind": "act",
      "impl": "imperative",
      "description": "Selects a template (see list_templates), loads its schema and applies defaults. Resets previously entered values.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string"
          }
        },
        "required": [
          "templateId"
        ]
      },
      "page": "/new/template"
    }
    go_to_stepAction

    Navigates the wizard. Steps: template, details, review. The router may redirect (e.g. review needs a created document).

    View tool JSON
    {
      "name": "go_to_step",
      "kind": "act",
      "impl": "imperative",
      "description": "Navigates the wizard. Steps: template, details, review. The router may redirect (e.g. review needs a created document).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "step": {
            "type": "string",
            "enum": [
              "template",
              "details",
              "review"
            ]
          }
        },
        "required": [
          "step"
        ]
      },
      "page": "/new/template"
    }
    set_fieldsAction

    Sets form fields in one call, all or nothing. Keys are dotted paths from the template schema (list rows by index), values are strings, numbers or booleans. Example: {"recipient.name":"Chai Theory","project.deliverables.0.rate":120000,"financials.isDiscountPercentage":true}. Use add_row first for new list rows.

    View tool JSON
    {
      "name": "set_fields",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets form fields in one call, all or nothing. Keys are dotted paths from the template schema (list rows by index), values are strings, numbers or booleans. Example: {\"recipient.name\":\"Chai Theory\",\"project.deliverables.0.rate\":120000,\"financials.isDiscountPercentage\":true}. Use add_row first for new list rows.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "required": [
          "fields"
        ]
      },
      "page": "/new/template"
    }
    add_rowAction

    Appends an empty row to a list in the form (e.g. path "project.deliverables" for another service, or a list of points).

    View tool JSON
    {
      "name": "add_row",
      "kind": "act",
      "impl": "imperative",
      "description": "Appends an empty row to a list in the form (e.g. path \"project.deliverables\" for another service, or a list of points).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          }
        },
        "required": [
          "path"
        ]
      },
      "page": "/new/template"
    }
    remove_rowAction

    Removes a row from a list in the form by index. The last remaining row cannot be removed.

    View tool JSON
    {
      "name": "remove_row",
      "kind": "act",
      "impl": "imperative",
      "description": "Removes a row from a list in the form by index. The last remaining row cannot be removed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "index": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "path",
          "index"
        ]
      },
      "page": "/new/template"
    }
    set_organizationAction

    Sets the organisation profile (Brand step). "id" picks the server's branding preset; any other field you set overrides that preset on the generated PDF (untouched fields keep the preset's values) and is cached on this device. Keys: id, name, legalName, entityType, pan, gstin, primary, accent, font, contactEmail, billingEmail, phone, whatsapp, address, tradeRelationship, foundedYear, website, instagram, facebook, linkedin, youtube.

    View tool JSON
    {
      "name": "set_organization",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets the organisation profile (Brand step). \"id\" picks the server's branding preset; any other field you set overrides that preset on the generated PDF (untouched fields keep the preset's values) and is cached on this device. Keys: id, name, legalName, entityType, pan, gstin, primary, accent, font, contactEmail, billingEmail, phone, whatsapp, address, tradeRelationship, foundedYear, website, instagram, facebook, linkedin, youtube.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "legalName": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "pan": {
            "type": "string"
          },
          "gstin": {
            "type": "string"
          },
          "primary": {
            "type": "string"
          },
          "accent": {
            "type": "string"
          },
          "font": {
            "type": "string"
          },
          "contactEmail": {
            "type": "string"
          },
          "billingEmail": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "whatsapp": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "tradeRelationship": {
            "type": "string"
          },
          "foundedYear": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "instagram": {
            "type": "string"
          },
          "facebook": {
            "type": "string"
          },
          "linkedin": {
            "type": "string"
          },
          "youtube": {
            "type": "string"
          }
        }
      },
      "page": "/new/template"
    }
    set_owner_idsAction

    Sets the Notion ids the API requires when saving: userId and contactId (required), projectId (optional).

    View tool JSON
    {
      "name": "set_owner_ids",
      "kind": "act",
      "impl": "imperative",
      "description": "Sets the Notion ids the API requires when saving: userId and contactId (required), projectId (optional).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string"
          },
          "contactId": {
            "type": "string"
          },
          "projectId": {
            "type": "string"
          }
        }
      },
      "page": "/new/template"
    }
    create_documentAction

    Creates the PDF and saves it as a document in Notion. This has a real side effect, so the user is asked to confirm first. Requires validate_form to report no problems.

    View tool JSON
    {
      "name": "create_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Creates the PDF and saves it as a document in Notion. This has a real side effect, so the user is asked to confirm first. Requires validate_form to report no problems.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/new/template"
    }
    reset_wizardAction

    Clears the template, form values and created document and returns to the first step.

    View tool JSON
    {
      "name": "reset_wizard",
      "kind": "act",
      "impl": "imperative",
      "description": "Clears the template, form values and created document and returns to the first step.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/new/template"
    }