Files
handbook/docker/packages/core/mcp-tools.generated.json
2026-06-29 10:08:59 -07:00

298 lines
8.7 KiB
JSON

{
"schema_version": "v1",
"tools": [
{
"name": "bash",
"description": "Execute a bash command in an isolated directory.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"command": {
"description": "The bash command to execute",
"type": "string"
},
"timeout_seconds": {
"anyOf": [
{
"maximum": 1800,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Timeout in seconds (default 120, max 1800)"
}
},
"required": [
"command"
],
"type": "object"
}
},
{
"name": "echo",
"description": "Echoes a message",
"inputSchema": {
"additionalProperties": false,
"properties": {
"message": {
"description": "The message to echo",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
}
},
{
"name": "export_state",
"description": "Export the full core state as JSON.\n\nRound-trips with import_state. State is keyed by snake_case entity-class\nname (e.g. ``project``, ``employee``, ``slack_message``).",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
}
},
{
"name": "import_state",
"description": "Replace the full core state with the provided JSON.\n\nFor synthetic-data injection and test setup. Round-trips with export_state.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"state": {
"additionalProperties": true,
"description": "Empty state \u2014 core has no DB to snapshot.",
"properties": {},
"type": "object"
}
},
"required": [
"state"
],
"type": "object"
}
},
{
"name": "listFiles",
"description": "List files and subdirectories in a directory inside the sandbox.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"directory": {
"default": ".",
"description": "Directory to list, relative to the sandbox root. Use /workdir/ prefix or an absolute path within the sandbox to be explicit. Defaults to the sandbox root.",
"type": "string"
}
},
"type": "object"
}
},
{
"name": "prepareGradingContext",
"description": "Prepare the text_for_grading string for rubric evaluation.\n\nCollects file evidence from the sandbox, formats as XML,\nand prepends to the agent's final_output.\n\nArgs:\n final_output: The agent's final response text.\n directory: Root directory to search. Defaults to the sandbox directory.\n extensions: Only include files with these extensions (without dot).\n exclude_patterns: Directory/file name patterns to skip.\n max_files: Maximum number of files to include as evidence. Eligible files\n beyond this cap are omitted but reported (logged and listed in the\n XML under <files_omitted_due_to_max_files>) rather than dropped\n silently. Defaults to DEFAULT_MAX_FILES.\n max_content_bytes: Maximum bytes of content to read per file.\n\nReturns:\n The assembled text_for_grading string.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"final_output": {
"type": "string"
},
"directory": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"extensions": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"exclude_patterns": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"max_files": {
"default": 100,
"type": "integer"
},
"max_content_bytes": {
"default": 250000,
"type": "integer"
}
},
"required": [
"final_output"
],
"type": "object"
}
},
{
"name": "readFile",
"description": "Read a file from the sandbox, with optional offset/limit (bytes) for paginating large files.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"file_path": {
"description": "Path to the file. Use /workdir/ prefix for sandbox files, or an absolute path within the sandbox.",
"type": "string"
},
"offset": {
"default": 0,
"description": "Byte offset to start reading from. Use 0 for the beginning or a previous call's next_offset to continue.",
"minimum": 0,
"type": "integer"
},
"limit": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": 200000,
"description": "Maximum number of bytes to read. Defaults to 200000. Pass null to read from offset to end of file."
}
},
"required": [
"file_path"
],
"type": "object"
}
},
{
"name": "readMedia",
"description": "Read an image, PDF, audio, or video file and return it as multimodal MCP content (base64-encoded, capped at 20 MiB; images auto-resized to model limits, large PDFs read in page ranges).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"file_path": {
"description": "Path to an image (gif/jpeg/png/webp), PDF, audio (wav/mp3/aiff/aac/ogg/flac), or video (mp4/mpeg/mov/avi/flv/webm/wmv/3gpp) file. Use /workdir/ prefix for sandbox files, or an absolute path within the sandbox. Returns multimodal MCP content; images are automatically downscaled/re-encoded to fit model limits (max 2000px on the long edge). Audio/video require a model with native audio/video support (e.g. Gemini) \u2014 other models see only a text placeholder. Use readFile for text and readPDF for PDF text extraction.",
"type": "string"
},
"pages": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "PDF page range to read, 1-indexed, e.g. '3' or '1-10' (max 20 pages per read). Required for PDFs over 20 pages or 10 MiB. Ignored for images."
}
},
"required": [
"file_path"
],
"type": "object"
}
},
{
"name": "readPDF",
"description": "Extract text from a PDF file inside the sandbox.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"file_path": {
"type": "string"
}
},
"required": [
"file_path"
],
"type": "object"
}
},
{
"name": "writeFile",
"description": "Write content to a file in an isolated sandbox.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"file_path": {
"type": "string"
},
"content": {
"type": "string"
}
},
"required": [
"file_path",
"content"
],
"type": "object"
}
}
],
"toolsets": {
"read": [
"echo",
"listFiles",
"readFile",
"readPDF"
],
"read_multimodal": [
"echo",
"listFiles",
"readFile",
"readMedia",
"readPDF"
],
"write": [
"bash",
"writeFile"
],
"debug": [
"bash",
"echo"
],
"ds_all": [
"bash",
"listFiles",
"readFile",
"readPDF",
"writeFile"
],
"state": [
"export_state",
"import_state"
],
"grading": [
"prepareGradingContext"
]
}
}