Tool tree
gradeNot graded
list_capabilitiesAnswer
List the capabilities this site exposes. Magpie manages workflows and holds no business data of its own — the data lives on other websites, so call list_reachable_capabilities as well to see what is reachable there.
View tool JSON
{
"name": "list_capabilities",
"kind": "answer",
"impl": "imperative",
"description": "List the capabilities this site exposes. Magpie manages workflows and holds no business data of its own — the data lives on other websites, so call list_reachable_capabilities as well to see what is reachable there.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}list_workflowsAnswer
List the saved workflows in this library. Returns { workflows: [{ id, name, summary, stepCount, requires }], count }. `requires` names the capabilities each one uses, so this is how you find a workflow that already does part of what you were asked for — call get_workflow on it and adapt its steps rather than composing from scratch.
View tool JSON
{
"name": "list_workflows",
"kind": "answer",
"impl": "imperative",
"description": "List the saved workflows in this library. Returns { workflows: [{ id, name, summary, stepCount, requires }], count }. `requires` names the capabilities each one uses, so this is how you find a workflow that already does part of what you were asked for — call get_workflow on it and adapt its steps rather than composing from scratch.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}get_workflowAnswer
Get one workflow in full, including every step. Accepts an id or an exact name. Its steps are a better starting point than a schema: the arguments in them are ones this site actually accepted. Adapt rather than copy — values like a threshold or a date are specific to what that workflow was for, and rename any `output` that would collide with a step you are keeping.
View tool JSON
{
"name": "get_workflow",
"kind": "answer",
"impl": "imperative",
"description": "Get one workflow in full, including every step. Accepts an id or an exact name. Its steps are a better starting point than a schema: the arguments in them are ones this site actually accepted. Adapt rather than copy — values like a threshold or a date are specific to what that workflow was for, and rename any `output` that would collide with a step you are keeping.",
"inputSchema": {
"type": "object",
"properties": {
"workflowId": {
"type": "string",
"description": "Workflow id or exact name"
}
},
"required": [
"workflowId"
]
}
}run_workflowAction
Run a saved workflow now and return what happened, step by step. Steps that need another website are executed there through the Magpie extension; if it is not installed they are reported as skipped rather than guessed at. Anything that changes data prompts the user for confirmation first.
View tool JSON
{
"name": "run_workflow",
"kind": "act",
"impl": "imperative",
"description": "Run a saved workflow now and return what happened, step by step. Steps that need another website are executed there through the Magpie extension; if it is not installed they are reported as skipped rather than guessed at. Anything that changes data prompts the user for confirmation first.",
"inputSchema": {
"type": "object",
"properties": {
"workflowId": {
"type": "string",
"description": "Workflow id or exact name"
}
},
"required": [
"workflowId"
]
}
}run_stepsAction
Run a list of steps once, without saving a workflow. Use this to carry out a one-off request — it executes across every site Magpie can reach and records the run in this library, so the user can see afterwards what was done. Prefer this over calling capabilities one at a time. Save it with create_workflow only if the user wants it again later.
View tool JSON
{
"name": "run_steps",
"kind": "act",
"impl": "imperative",
"description": "Run a list of steps once, without saving a workflow. Use this to carry out a one-off request — it executes across every site Magpie can reach and records the run in this library, so the user can see afterwards what was done. Prefer this over calling capabilities one at a time. Save it with create_workflow only if the user wants it again later.",
"inputSchema": {
"type": "object",
"properties": {
"steps": {
"type": "array",
"description": "The steps to run, in Magpie step format",
"items": {
"type": "object"
}
},
"goal": {
"type": "string",
"description": "What the user asked for, in their words. Labels the run."
},
"finalOutput": {
"type": "string",
"description": "Name of the variable holding the answer"
}
},
"required": [
"steps"
]
}
}list_reachable_capabilitiesAnswer
List every capability Magpie can reach on OTHER websites — including sites that are not open right now, which are reopened automatically when a workflow needs them. Call this before composing anything: this page holds no business data of its own, so orders, tickets, bookings and the like all live behind these. Returns { connected, capabilities: [{ id, title, description, provider, origin, status, readOnly }] }. Use the exact `id` as the `tool` value in a step.
View tool JSON
{
"name": "list_reachable_capabilities",
"kind": "answer",
"impl": "imperative",
"description": "List every capability Magpie can reach on OTHER websites — including sites that are not open right now, which are reopened automatically when a workflow needs them. Call this before composing anything: this page holds no business data of its own, so orders, tickets, bookings and the like all live behind these. Returns { connected, capabilities: [{ id, title, description, provider, origin, status, readOnly }] }. Use the exact `id` as the `tool` value in a step.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}list_runsAnswer
List recent workflow runs, newest first. Returns { runs: [...], count }.
View tool JSON
{
"name": "list_runs",
"kind": "answer",
"impl": "imperative",
"description": "List recent workflow runs, newest first. Returns { runs: [...], count }.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "How many to return. Defaults to 10."
}
},
"required": []
}
}get_runAnswer
Get one run in full, including every step result and the capability it called. A step recorded as ok is proof that capability worked with those arguments, which makes a past run the most reliable source to copy a step from.
View tool JSON
{
"name": "get_run",
"kind": "answer",
"impl": "imperative",
"description": "Get one run in full, including every step result and the capability it called. A step recorded as ok is proof that capability worked with those arguments, which makes a past run the most reliable source to copy a step from.",
"inputSchema": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"description": "Run id"
}
},
"required": [
"runId"
]
}
}create_workflowAction
Save a workflow to the library so it can be run again later. Steps use Magpie's format: {"type":"tool","tool":"orders.search_orders","arguments":{...},"output":"orders"} and {"type":"transform","operation":"filter","input":"orders","output":"big","condition":{"field":"amount","operator":">","value":5000}}. A later step reads an earlier one with {{output}}. Every `tool` must be an exact id from list_capabilities or list_reachable_capabilities — unknown names are rejected, never invented. This only saves; call run_workflow to execute.
View tool JSON
{
"name": "create_workflow",
"kind": "act",
"impl": "imperative",
"description": "Save a workflow to the library so it can be run again later. Steps use Magpie's format: {\"type\":\"tool\",\"tool\":\"orders.search_orders\",\"arguments\":{...},\"output\":\"orders\"} and {\"type\":\"transform\",\"operation\":\"filter\",\"input\":\"orders\",\"output\":\"big\",\"condition\":{\"field\":\"amount\",\"operator\":\">\",\"value\":5000}}. A later step reads an earlier one with {{output}}. Every `tool` must be an exact id from list_capabilities or list_reachable_capabilities — unknown names are rejected, never invented. This only saves; call run_workflow to execute.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Short name for the workflow"
},
"summary": {
"type": "string",
"description": "One sentence describing what it does"
},
"steps": {
"type": "array",
"description": "The workflow steps",
"items": {
"type": "object"
}
},
"finalOutput": {
"type": "string",
"description": "Variable holding the answer"
}
},
"required": [
"name",
"steps"
]
}
}rename_workflowAction
Rename a saved workflow. The name is how it is referred to afterwards, so pick something the user would say out loud. Names must be unique; renaming onto an existing one is refused.
View tool JSON
{
"name": "rename_workflow",
"kind": "act",
"impl": "imperative",
"description": "Rename a saved workflow. The name is how it is referred to afterwards, so pick something the user would say out loud. Names must be unique; renaming onto an existing one is refused.",
"inputSchema": {
"type": "object",
"properties": {
"workflowId": {
"type": "string",
"description": "Workflow id, or its current exact name"
},
"name": {
"type": "string",
"description": "The new name"
}
},
"required": [
"workflowId",
"name"
]
}
}delete_workflowSensitive Action
Delete a saved workflow from the library.
View tool JSON
{
"name": "delete_workflow",
"kind": "transact",
"impl": "imperative",
"description": "Delete a saved workflow from the library.",
"inputSchema": {
"type": "object",
"properties": {
"workflowId": {
"type": "string",
"description": "Workflow id"
}
},
"required": [
"workflowId"
]
}
}delete_runSensitive Action
Remove one run from the history, or every run when `all` is true. History is what the user reviews afterwards, so only clear it when they ask.
View tool JSON
{
"name": "delete_run",
"kind": "transact",
"impl": "imperative",
"description": "Remove one run from the history, or every run when `all` is true. History is what the user reviews afterwards, so only clear it when they ask.",
"inputSchema": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"description": "Run id. Omit when clearing everything."
},
"all": {
"type": "boolean",
"description": "Delete every run instead of one"
}
},
"required": []
}
}export_csvAction
Create and download a CSV file from an array of objects. Use whenever the user asks to export or save results as a spreadsheet.
View tool JSON
{
"name": "export_csv",
"kind": "act",
"impl": "imperative",
"description": "Create and download a CSV file from an array of objects. Use whenever the user asks to export or save results as a spreadsheet.",
"inputSchema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"description": "Rows to export",
"items": {
"type": "object"
}
},
"filename": {
"type": "string",
"description": "File name ending in .csv"
}
},
"required": [
"data"
]
}
}