{
  "protocolVersion": 1,
  "note": "WebMCPへ登録する際は実装環境のschema subsetを検証。$id/$schema等のメタ項目を外し、batchの定義を共有する。",
  "tools": [
    {
      "name": "calcbe_draw_describe",
      "method": "describe",
      "description": "Describe the supported drawing API, limits, and argument schema references. Does not return artwork.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "readOnly": true
    },
    {
      "name": "calcbe_draw_get_state",
      "method": "getState",
      "description": "Read permitted visible vector objects and current session, revision, grant and user context. Read all pages at the same revision before editing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "readOnly": true
    },
    {
      "name": "calcbe_draw_get_summary",
      "method": "getSummary",
      "description": "Return a concise, paginated summary of permitted visible objects and permission-scoped usage. Pages must use the same revision and contextRevision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {"type": "integer", "minimum": 0, "maximum": 1000},
          "limit": {"type": "integer", "minimum": 1, "maximum": 100}
        },
        "required": [],
        "additionalProperties": false
      },
      "readOnly": true
    },
    {
      "name": "calcbe_draw_get_preview",
      "method": "getPreview",
      "description": "Render a permitted preview and return document crop coordinates with PNG data. The host must separately support image viewing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "view": {
            "enum": [
              "selection",
              "canvas"
            ]
          },
          "includeReference": {
            "type": "boolean"
          }
        },
        "required": [
          "view",
          "includeReference"
        ],
        "additionalProperties": false
      },
      "readOnly": true
    },
    {
      "name": "calcbe_draw_validate_batch",
      "method": "validateBatch",
      "description": "Validate a proposed batch without applying it. Uses current session, revision, context and grant; validation does not reserve permission or make the later apply safe from stale state.",
      "inputSchemaFile": "batch.schema.json",
      "readOnly": true
    },
    {
      "name": "calcbe_draw_apply_batch",
      "method": "applyBatch",
      "description": "Atomically create, replace or delete permitted editable vector objects. Use current session, revision, context and grant. Retry unknown outcomes with the same requestId.",
      "inputSchemaFile": "batch.schema.json",
      "readOnly": false
    }
  ]
}
