ToolCabana

Agent tools / Accessibility and publishing checks

Prepare a text bundle manifest

Validate portable relative file names, reject UNC/device/stream paths and ambiguous duplicates, then return supplied text files in a reviewable manifest. Creates no ZIP or filesystem artifacts.

Status: implemented. Runtime: browser-or-local. Version: 1.0.0.

Static checks do not prove full accessibility; test keyboard use and assistive technology separately.

Supported profile

This tool accepts the schema below. Its result includes data and versioned runtime metadata. Read warnings in returned data for algorithm coverage and assumptions.

Input schema
{
  "type": "object",
  "properties": {
    "files": {
      "type": "array",
      "maxItems": 2000,
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200000,
            "minLength": 1
          },
          "text": {
            "type": "string",
            "maxLength": 200000
          }
        },
        "required": [
          "name",
          "text"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "files"
  ],
  "additionalProperties": false
}
Output schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200000,
                "pattern": "^(?![\\\\/])(?!.*[<>:\"|?*\\u0000-\\u001F\\u007F])(?!.*[\\\\/]$).+$"
              },
              "text": {
                "type": "string",
                "maxLength": 200000
              }
            },
            "required": [
              "name",
              "text"
            ],
            "additionalProperties": false,
            "maxProperties": 2000
          },
          "maxItems": 2000
        },
        "format": {
          "type": "string",
          "maxLength": 200000
        }
      },
      "required": [
        "files",
        "format"
      ],
      "additionalProperties": false,
      "maxProperties": 2000
    },
    "metadata": {
      "type": "object",
      "properties": {
        "tool": {
          "const": "publish.bundle"
        },
        "version": {
          "const": "1.0.0"
        },
        "runtime": {
          "type": "string",
          "enum": [
            "local",
            "browser",
            "server"
          ]
        },
        "elapsedMs": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "retained": {
          "const": false
        }
      },
      "required": [
        "tool",
        "version",
        "runtime",
        "retained"
      ],
      "additionalProperties": false,
      "maxProperties": 2000
    }
  },
  "required": [
    "data",
    "metadata"
  ],
  "additionalProperties": false,
  "$defs": {
    "json": {
      "anyOf": [
        {
          "type": "null"
        },
        {
          "type": "boolean"
        },
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 200000
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/json"
          },
          "maxItems": 2000
        },
        {
          "type": "object",
          "maxProperties": 2000,
          "additionalProperties": {
            "$ref": "#/$defs/json"
          }
        }
      ]
    }
  }
}

Example arguments

{
  "files": [
    {
      "name": "report.md",
      "text": "# Report"
    }
  ]
}

Local MCP tool name: publish__bundle. Browser and local execution work without a key.

Hosted REST and MCP execution are disabled in this release. Run the example in the browser console below, or use the local MCP server from this repository.

Privacy and limits

256 KiB arguments, 512 KiB output, 20 nesting levels and 2,000 array entries. No input/output logging in this layer. Browser/local utilities do not submit inputs remotely. Optional network operations disclose destination requests. Caller-supplied policies and guardrail findings never grant execution privileges.

136 matching tools

Prepare a text bundle manifest

Validate portable relative file names, reject UNC/device/stream paths and ambiguous duplicates, then return supplied text files in a reviewable manifest. Creates no ZIP or filesystem artifacts.

Static checks do not prove full accessibility; test keyboard use and assistive technology separately.

Contract and limitations

Result

Run a tool to see its structured result.

Let a browser agent use this console

Enable WebMCP when your browser supports it. Inputs run locally and results remain visible here.

Full integration guide