Tool tree
gradeNot graded
list_notebooksAnswer
List the notebooks in the Modelo workspace and identify the currently open notebook.
View tool JSON
{
"name": "list_notebooks",
"kind": "answer",
"impl": "imperative",
"description": "List the notebooks in the Modelo workspace and identify the currently open notebook.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}open_notebookAction
Open an existing workspace notebook by id.
View tool JSON
{
"name": "open_notebook",
"kind": "act",
"impl": "imperative",
"description": "Open an existing workspace notebook by id.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Workspace notebook id."
}
},
"required": [
"id"
],
"additionalProperties": false
}
}create_notebookAction
Create and open an empty notebook with narrative-first composition guidance.
View tool JSON
{
"name": "create_notebook",
"kind": "act",
"impl": "imperative",
"description": "Create and open an empty notebook with narrative-first composition guidance.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Name for the new notebook."
}
},
"required": [
"name"
],
"additionalProperties": false
}
}duplicate_notebookAction
Duplicate an existing workspace notebook.
View tool JSON
{
"name": "duplicate_notebook",
"kind": "act",
"impl": "imperative",
"description": "Duplicate an existing workspace notebook.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Notebook id to duplicate."
},
"name": {
"description": "Optional name for the copy.",
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}
}delete_notebookSensitive Action
Permanently delete a workspace notebook by id.
View tool JSON
{
"name": "delete_notebook",
"kind": "transact",
"impl": "imperative",
"description": "Permanently delete a workspace notebook by id.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Notebook id to delete."
}
},
"required": [
"id"
],
"additionalProperties": false
}
}rename_notebookAction
Rename a workspace notebook by rewriting the title heading it opens with.
View tool JSON
{
"name": "rename_notebook",
"kind": "act",
"impl": "imperative",
"description": "Rename a workspace notebook by rewriting the title heading it opens with.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Notebook id to rename."
},
"name": {
"type": "string",
"minLength": 1,
"description": "New notebook name."
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
}
}get_documentAnswer
Get ordered blocks and composition, so you can see whether the page reads like a story.
View tool JSON
{
"name": "get_document",
"kind": "answer",
"impl": "imperative",
"description": "Get ordered blocks and composition, so you can see whether the page reads like a story.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_modelAnswer
Get slim variables, formulas, computed values, and evaluation errors from the open notebook.
View tool JSON
{
"name": "get_model",
"kind": "answer",
"impl": "imperative",
"description": "Get slim variables, formulas, computed values, and evaluation errors from the open notebook.",
"inputSchema": {
"type": "object",
"properties": {
"includeDependencies": {
"description": "Include formula and paragraph block ids that use each variable.",
"type": "boolean"
}
},
"additionalProperties": false
}
}find_referencesAnswer
Find formula and paragraph block ids that reference one variable by name or stable varId.
View tool JSON
{
"name": "find_references",
"kind": "answer",
"impl": "imperative",
"description": "Find formula and paragraph block ids that reference one variable by name or stable varId.",
"inputSchema": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
}
},
"required": [
"name"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"varId": {
"type": "string",
"minLength": 1
}
},
"required": [
"varId"
],
"additionalProperties": false
}
]
}
}insert_blocksAction
Low-level block insert for surgery. Prefer write_section when adding new content.
View tool JSON
{
"name": "insert_blocks",
"kind": "act",
"impl": "imperative",
"description": "Low-level block insert for surgery. Prefer write_section when adding new content.",
"inputSchema": {
"type": "object",
"properties": {
"blocks": {
"minItems": 1,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"level": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
},
"text": {
"type": "string"
},
"type": {
"type": "string",
"const": "heading"
}
},
"required": [
"text",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string",
"description": "Plain text. @name inserts a live value."
},
"type": {
"type": "string",
"enum": [
"paragraph",
"bulletListItem",
"numberedListItem",
"checkListItem"
]
}
},
"required": [
"text",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"description": "number, currency, percent, or unit. A percent input stores whole percents: 21 means 21 %, and formulas receive it as the ratio 0.21.",
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"description": "Slider upper bound, in the same scale as value. A percent slider runs 0 to 100, never 0 to 1.",
"type": "number"
},
"min": {
"description": "Slider lower bound, in the same scale as value.",
"type": "number"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
},
"value": {
"type": "number",
"description": "The stored value. Whole percents for format percent: write 5 for 5 %, not 0.05."
},
"id": {
"type": "string"
},
"type": {
"type": "string",
"const": "number"
}
},
"required": [
"name",
"value",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"description": "number, currency, percent, or unit. A percent input stores whole percents: 21 means 21 %, and formulas receive it as the ratio 0.21.",
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"description": "Slider upper bound, in the same scale as value. A percent slider runs 0 to 100, never 0 to 1.",
"type": "number"
},
"min": {
"description": "Slider lower bound, in the same scale as value.",
"type": "number"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
},
"value": {
"type": "number",
"description": "The stored value. Whole percents for format percent: write 5 for 5 %, not 0.05."
},
"id": {
"type": "string"
},
"type": {
"type": "string",
"const": "slider"
}
},
"required": [
"name",
"value",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"description": "number, currency, percent, or unit. A percent input stores whole percents: 21 means 21 %, and formulas receive it as the ratio 0.21.",
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"description": "Slider upper bound, in the same scale as value. A percent slider runs 0 to 100, never 0 to 1.",
"type": "number"
},
"min": {
"description": "Slider lower bound, in the same scale as value.",
"type": "number"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
},
"value": {
"type": "number",
"description": "The stored value. Whole percents for format percent: write 5 for 5 %, not 0.05."
},
"id": {
"type": "string"
},
"type": {
"type": "string",
"const": "select"
}
},
"required": [
"name",
"value",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"description": "number, currency, percent, or unit. A percent input stores whole percents: 21 means 21 %, and formulas receive it as the ratio 0.21.",
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"description": "Slider upper bound, in the same scale as value. A percent slider runs 0 to 100, never 0 to 1.",
"type": "number"
},
"min": {
"description": "Slider lower bound, in the same scale as value.",
"type": "number"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
},
"value": {
"type": "number",
"description": "The stored value. Whole percents for format percent: write 5 for 5 %, not 0.05."
},
"id": {
"type": "string"
},
"type": {
"type": "string",
"const": "boolean"
}
},
"required": [
"name",
"value",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"formula": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"id": {
"type": "string"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"type": {
"type": "string",
"const": "formula"
}
},
"required": [
"formula",
"name",
"type"
],
"additionalProperties": false
}
]
}
},
"placement": {
"type": "string",
"enum": [
"before",
"after"
]
},
"referenceBlockId": {
"type": "string",
"minLength": 1
}
},
"required": [
"blocks"
],
"additionalProperties": false
}
}write_sectionAction
Add one prose-first section: a heading, body text that mentions variables as @Name, and the inputs and formulas behind them. Percent inputs store whole percents (21 means 21 %) and reach formulas as ratios (0.21), so a percent slider runs 0 to 100. Use format number for counts and loan terms; unit year means a duration. Supports dry_run.
View tool JSON
{
"name": "write_section",
"kind": "act",
"impl": "imperative",
"description": "Add one prose-first section: a heading, body text that mentions variables as @Name, and the inputs and formulas behind them. Percent inputs store whole percents (21 means 21 %) and reach formulas as ratios (0.21), so a percent slider runs 0 to 100. Use format number for counts and loan terms; unit year means a duration. Supports dry_run.",
"inputSchema": {
"type": "object",
"properties": {
"body": {
"type": "string",
"minLength": 1,
"pattern": "\\S",
"description": "One to three short paragraphs. Newlines start paragraphs; @name inserts a live value."
},
"formulas": {
"description": "Named formulas whose result is reused later.",
"type": "array",
"items": {
"type": "object",
"properties": {
"formula": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
}
},
"required": [
"formula",
"name"
],
"additionalProperties": false
}
},
"heading": {
"type": "string",
"minLength": 1,
"description": "Section title."
},
"inputs": {
"description": "Assumptions the reader will change.",
"type": "array",
"items": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"description": "number, currency, percent, or unit. A percent input stores whole percents: 21 means 21 %, and formulas receive it as the ratio 0.21.",
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"description": "Slider upper bound, in the same scale as value. A percent slider runs 0 to 100, never 0 to 1.",
"type": "number"
},
"min": {
"description": "Slider lower bound, in the same scale as value.",
"type": "number"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
},
"value": {
"type": "number",
"description": "The stored value. Whole percents for format percent: write 5 for 5 %, not 0.05."
},
"kind": {
"type": "string",
"enum": [
"number",
"slider",
"select",
"boolean"
]
}
},
"required": [
"name",
"value",
"kind"
],
"additionalProperties": false
}
},
"placement": {
"description": "Position relative to referenceBlockId; defaults to after.",
"type": "string",
"enum": [
"before",
"after"
]
},
"referenceBlockId": {
"description": "Existing block id used as the insertion anchor. Omit to append.",
"type": "string",
"minLength": 1
},
"dry_run": {
"description": "Preview without writing.",
"type": "boolean"
}
},
"required": [
"body",
"heading"
],
"additionalProperties": false
}
}write_sectionsAction
Add several sections atomically, or preview with dry_run. Percent inputs store whole percents (21 means 21 %) and reach formulas as ratios, so Price * (1 + TaxRate) is right and a percent slider runs 0 to 100. Formula examples: 1 + MortgageRate; Principal * Rate / 12; 5 km + 500 m. Use format number for counts and loan terms; unit year is a duration.
View tool JSON
{
"name": "write_sections",
"kind": "act",
"impl": "imperative",
"description": "Add several sections atomically, or preview with dry_run. Percent inputs store whole percents (21 means 21 %) and reach formulas as ratios, so Price * (1 + TaxRate) is right and a percent slider runs 0 to 100. Formula examples: 1 + MortgageRate; Principal * Rate / 12; 5 km + 500 m. Use format number for counts and loan terms; unit year is a duration.",
"inputSchema": {
"type": "object",
"properties": {
"dry_run": {
"description": "Preview without writing.",
"type": "boolean"
},
"sections": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"body": {
"type": "string",
"minLength": 1,
"pattern": "\\S",
"description": "One to three short paragraphs. Newlines start paragraphs; @name inserts a live value."
},
"formulas": {
"description": "Named formulas whose result is reused later.",
"type": "array",
"items": {
"type": "object",
"properties": {
"formula": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
}
},
"required": [
"formula",
"name"
],
"additionalProperties": false
}
},
"heading": {
"type": "string",
"minLength": 1,
"description": "Section title."
},
"inputs": {
"description": "Assumptions the reader will change.",
"type": "array",
"items": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"description": "number, currency, percent, or unit. A percent input stores whole percents: 21 means 21 %, and formulas receive it as the ratio 0.21.",
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"description": "Slider upper bound, in the same scale as value. A percent slider runs 0 to 100, never 0 to 1.",
"type": "number"
},
"min": {
"description": "Slider lower bound, in the same scale as value.",
"type": "number"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
},
"value": {
"type": "number",
"description": "The stored value. Whole percents for format percent: write 5 for 5 %, not 0.05."
},
"kind": {
"type": "string",
"enum": [
"number",
"slider",
"select",
"boolean"
]
}
},
"required": [
"name",
"value",
"kind"
],
"additionalProperties": false
}
},
"placement": {
"description": "Position relative to referenceBlockId; defaults to after.",
"type": "string",
"enum": [
"before",
"after"
]
},
"referenceBlockId": {
"description": "Existing block id used as the insertion anchor. Omit to append.",
"type": "string",
"minLength": 1
}
},
"required": [
"body",
"heading"
],
"additionalProperties": false
}
}
},
"required": [
"sections"
],
"additionalProperties": false
}
}update_blockAction
Apply a partial update to one block in the open notebook.
View tool JSON
{
"name": "update_block",
"kind": "act",
"impl": "imperative",
"description": "Apply a partial update to one block in the open notebook.",
"inputSchema": {
"anyOf": [
{
"type": "object",
"properties": {
"formula": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"formula",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"level": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
},
"text": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"level": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
}
},
"required": [
"id",
"level"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"value": {
"type": "number"
},
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
}
},
"required": [
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"value": {
"type": "number"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"value": {
"type": "number"
}
},
"required": [
"id"
],
"additionalProperties": false
}
]
}
}update_blocksAction
Update multiple blocks atomically.
View tool JSON
{
"name": "update_blocks",
"kind": "act",
"impl": "imperative",
"description": "Update multiple blocks atomically.",
"inputSchema": {
"type": "object",
"properties": {
"blocks": {
"minItems": 1,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"formula": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"formula",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"level": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
},
"text": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"level": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
}
},
"required": [
"id",
"level"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"value": {
"type": "number"
},
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"GBP",
"UAH",
"PLN",
"CHF",
"CAD",
"AUD",
"JPY"
]
},
"decimals": {
"type": "integer",
"minimum": 0,
"maximum": 8
},
"format": {
"type": "string",
"enum": [
"number",
"currency",
"percent",
"unit"
]
},
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"step": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"mm",
"cm",
"m",
"km",
"in",
"ft",
"yd",
"mile",
"mg",
"g",
"kg",
"lb",
"oz",
"s",
"min",
"hour",
"day",
"week",
"month",
"year",
"m2",
"km2",
"ha",
"ml",
"L",
"m3"
]
}
},
"required": [
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"value": {
"type": "number"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"value": {
"type": "number"
}
},
"required": [
"id"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"blocks"
],
"additionalProperties": false
}
}remove_blocksAction
Remove one or more blocks from the open notebook in one operation.
View tool JSON
{
"name": "remove_blocks",
"kind": "act",
"impl": "imperative",
"description": "Remove one or more blocks from the open notebook in one operation.",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Block ids to remove."
}
},
"required": [
"ids"
],
"additionalProperties": false
}
}remove_variableAction
Remove an input variable. Refuses referenced variables unless force is true; never rewrites formulas or prose.
View tool JSON
{
"name": "remove_variable",
"kind": "act",
"impl": "imperative",
"description": "Remove an input variable. Refuses referenced variables unless force is true; never rewrites formulas or prose.",
"inputSchema": {
"anyOf": [
{
"type": "object",
"properties": {
"force": {
"type": "boolean"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
}
},
"required": [
"name"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"force": {
"type": "boolean"
},
"varId": {
"type": "string",
"minLength": 1
}
},
"required": [
"varId"
],
"additionalProperties": false
}
]
}
}replace_paragraphAction
Replace all plain text in a paragraph block while preserving the block id.
View tool JSON
{
"name": "replace_paragraph",
"kind": "act",
"impl": "imperative",
"description": "Replace all plain text in a paragraph block while preserving the block id.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Paragraph block id."
},
"text": {
"type": "string",
"description": "Replacement plain text. @name inserts a live value."
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
}
}insert_inline_refAction
Insert an inline reference to a notebook variable into a paragraph.
View tool JSON
{
"name": "insert_inline_ref",
"kind": "act",
"impl": "imperative",
"description": "Insert an inline reference to a notebook variable into a paragraph.",
"inputSchema": {
"type": "object",
"properties": {
"blockId": {
"type": "string",
"minLength": 1,
"description": "Paragraph block id."
},
"offset": {
"description": "Optional UTF-16 offset into the block's plain text, as get_document reports it; omit to append.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"variable": {
"type": "string",
"minLength": 1,
"description": "Variable name to reference."
}
},
"required": [
"blockId",
"variable"
],
"additionalProperties": false
}
}set_variableAction
Set the value of an existing variable in the open notebook.
View tool JSON
{
"name": "set_variable",
"kind": "act",
"impl": "imperative",
"description": "Set the value of an existing variable in the open notebook.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Variable name."
},
"value": {
"type": "number",
"description": "New finite numeric variable value."
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
}
}list_scenariosAnswer
List saved input scenarios and the active one.
View tool JSON
{
"name": "list_scenarios",
"kind": "answer",
"impl": "imperative",
"description": "List saved input scenarios and the active one.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}save_scenarioAction
Save or overwrite a named input scenario.
View tool JSON
{
"name": "save_scenario",
"kind": "act",
"impl": "imperative",
"description": "Save or overwrite a named input scenario.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Scenario name."
},
"values": {
"description": "Optional values keyed by input name.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
}
},
"required": [
"name"
],
"additionalProperties": false
}
}apply_scenarioAction
Apply a named input scenario.
View tool JSON
{
"name": "apply_scenario",
"kind": "act",
"impl": "imperative",
"description": "Apply a named input scenario.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Scenario name."
}
},
"required": [
"name"
],
"additionalProperties": false
}
}delete_scenarioSensitive Action
Delete a named input scenario.
View tool JSON
{
"name": "delete_scenario",
"kind": "transact",
"impl": "imperative",
"description": "Delete a named input scenario.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Scenario name."
}
},
"required": [
"name"
],
"additionalProperties": false
}
}