← WebMCP Directory

Tool tree

magpie.help

AI & AgentsTools verified
Website
Magpie collects the capabilities websites expose through WebMCP and composes them into reusable workflows any agent can run.
Explore capabilities
    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"
        ]
      }
    }