Skip to main content
Glama

AI Web Research & Research Brief Agent

Server Details

x402 cited web research and synthesis for agents. $1.99 per completed brief.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.1% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
industrial-platform-ai/industrial-platform-agent-tools
GitHub Stars
0

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

The four generic tools (abort-actor-run, get-actor-run, get-dataset-items, get-key-value-store-record) each target a distinct resource+action pair, and the research-brief tool is clearly the domain-specific executor. Boundaries are clear, though the relationship between get-actor-run and the actor-runner tool could confuse an agent about run lifecycle flow.

Naming Consistency4/5

Four tools follow a clean kebab-case verb_noun pattern (abort-actor-run, get-actor-run, get-dataset-items, get-key-value-store-record). The fifth breaks it with a vendor-prefixed double-dash name (industrial_platform--research-brief-agent), which is a minor deviation but stands out.

Tool Count3/5

Five tools is a borderline-thin set, and four of them are generic Apify scaffolding (abort/get run, dataset items, kv record) rather than research-specific operations. For a server branded as a research brief agent, the surface feels under-scoped relative to its stated purpose.

Completeness3/5

There is no way to start a generic actor run, list actors, list datasets/stores, or enumerate keys in a key-value store, so an agent can read runs and records but cannot discover or initiate most resources. The core research brief call exists and covers the headline use case, but surrounding lifecycle coverage is notably gappy.

Available Tools

5 tools
abort-actor-runAbort Actor runA
DestructiveIdempotent
Inspect

Abort an Actor run that is currently starting or running. For runs with status SUCCEEDED, FAILED, ABORTING, ABORTED, or TIMED-OUT, this call has no effect. The results will include the updated run details after the abort request.

USAGE:

  • Use when you need to stop a run that is taking too long or misconfigured.

USAGE EXAMPLES:

  • user_input: Abort run y2h7sK3Wc

  • user_input: Gracefully abort run y2h7sK3Wc

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesThe ID of the Actor run to abort.
gracefullyNoIf true, the Actor run will abort gracefully with a 30-second timeout.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive=true, idempotent=true and openWorld=false, yet the description still adds real value: terminal-state no-op behavior, the fact that updated run details are returned, and a required x402 payment signature in _meta. The payment/auth prerequisite is exactly the kind of operational context the schema cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded: the core action and state constraint come first, followed by no-op conditions, usage, and payment prerequisites. The labeled USAGE/USAGE EXAMPLES blocks with 'user_input:' lines are slightly redundant padding, costing it the top mark.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no elaboration, and annotations cover the safety profile. Combined with the description's state preconditions and the x402 payment requirement, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so runId and gracefully are already fully documented, including the 30-second graceful timeout. The description's example ('Gracefully abort run y2h7sK3Wc') implies the flag but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Abort) applied to a specific resource (Actor run) and narrows the scope to runs 'currently starting or running'. This is clearly distinguishable from the read-oriented siblings like get-actor-run and get-dataset-items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to reach for it ('stop a run that is taking too long or misconfigured') and when it is a no-op (runs already SUCCEEDED, FAILED, ABORTING, ABORTED, or TIMED-OUT). The when-not condition is unusually precise and prevents wasted calls.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-actor-runGet Actor runA
Read-onlyIdempotent
Inspect

Get detailed information about a specific Actor run.

Returns run result: status, storages (datasets/keyValueStores alias map), stats, summary, nextStep.

  • summary describes the past (e.g. "SUCCEEDED in 22s. 47 items; 3 fields available.").

  • nextStep prescribes one primary follow-up action with identifiers interpolated (e.g. "Use get-dataset-items with datasetId=...").

  • waitSecs (0–45, default 30) waits up to that many seconds for terminal status before returning.

USAGE:

  • Use to check the status of a run started by any Actor-running tool.

  • Pass waitSecs > 0 to block until terminal (or until the cap elapses).

USAGE EXAMPLES:

  • user_input: Show details of run y2h7sK3Wc

  • user_input: Wait for run y2h7sK3Wc to finish

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesThe ID of the Actor run.
waitSecsNoMaximum seconds to wait for the run to reach a terminal state (SUCCEEDED, FAILED, ABORTED, TIMED-OUT). 0 returns immediately with the current status. Cap: 45. Default: 30.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing a hard prerequisite the structured fields cannot express: an x402 payment signature must be supplied in _meta, or the call fails. It also explains the blocking semantics of waitSecs and what summary/nextStep contain, which is real behavioral context on top of readOnlyHint/idempotentHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded: the purpose leads, followed by return contents, usage, and examples under clear labels. It is somewhat longer than necessary — the two user_input examples largely restate the usage bullets — but nothing is genuinely wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists (so return shapes need no explanation), the description still clarifies what summary and nextStep mean, covers the blocking behavior, and surfaces the payment requirement. An agent has everything needed to call it correctly on the first attempt.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are already fully documented in the schema, including waitSecs' range, default, and terminal-state list. The description restates waitSecs (0-45, default 30, blocks until terminal) but adds no syntax or format detail beyond it, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get detailed information about a specific Actor run') and immediately enumerates the returned fields (status, storages, stats, summary, nextStep). This is clearly distinguishable from the mutation sibling abort-actor-run and from the storage readers get-dataset-items / get-key-value-store-record.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Use to check the status of a run started by any Actor-running tool') and conditional behavior for waitSecs > 0. It does not name when NOT to use it or point to an alternative tool for cancelling/waiting differently, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-dataset-itemsGet dataset itemsA
Read-onlyIdempotent
Inspect

Get items (rows) from a dataset — the output/results produced by an Actor run. Returns the rows themselves, not dataset metadata, counts, or a schema. When the user provides a datasetId and asks to retrieve results, output, data, or rows, call this tool directly. Default limit is 20. Use clean=true to skip empty items and hidden fields.

USAGE:

  • Use when you need to read data from a dataset (all items or only selected fields).

USAGE EXAMPLES:

  • user_input: Retrieve results from dataset abc123

  • user_input: Get only metadata.url and title from dataset username~my-dataset

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
descNoIf true, results are returned in reverse order (newest to oldest).
omitNoComma-separated list of fields to exclude from results.
cleanNoIf true, returns only non-empty items and skips hidden fields (starting with #). Shortcut for skipHidden=true and skipEmpty=true.
limitNoMaximum number of items to return. Default is 20.
fieldsNoComma-separated list of fields to include in results. Fields in output are sorted as specified. Use dot notation for nested objects (e.g. "metadata.url"); the server auto-flattens parent prefixes.
offsetNoNumber of items to skip at the start. Default is 0.
flattenNoComma-separated list of fields to flatten (e.g. flatten="metadata" turns {"metadata":{"url":"x"}} into {"metadata.url":"x"}). Normally derived automatically from dot-notation in `fields`; specify only as a diagnostic override.
datasetIdYesDataset ID or username~dataset-name.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only/idempotent/non-destructive profile, so the description's added value is the payment requirement ('requires an x402 payment... include a valid x402 payment signature in _meta') plus the default limit of 20 and the clean=true shortcut semantics. The payment/auth disclosure is meaningful context annotations cannot express, though return/pagination behavior is left unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and scope, followed by trigger condition, examples, and payment notice. The USAGE/EXAMPLE blocks are somewhat verbose but each line carries usable information; no wasted restatement of annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and the key operational extras (payment protocol requirement, default pagination, clean flag) are present. Missing only explicit guidance on alternatives/non-use cases for a fully documented multi-param read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all eight parameters are already documented in the input schema. The description only echoes limit default and clean semantics, adding no syntax or format detail beyond the schema, which matches the baseline 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('get items (rows) from a dataset') and explicitly scopes it against adjacent capabilities: 'Returns the rows themselves, not dataset metadata, counts, or a schema.' An agent can distinguish this from metadata/count-style tools without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear trigger condition ('When the user provides a datasetId and asks to retrieve results, output, data, or rows, call this tool directly') plus two concrete usage examples. It does not name an alternative sibling or state when NOT to use it, so it stops short of the top tier.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-key-value-store-recordGet key-value store recordA
Read-onlyIdempotent
Inspect

Get the value stored under a specific key in a key-value store — a single record, not a listing of all keys. Requires the exact key name. The response preserves the original Content-Encoding; most clients handle decompression automatically.

USAGE:

  • Use when you need to retrieve a specific record (JSON, text, or binary) from a store.

USAGE EXAMPLES:

  • user_input: Get record INPUT from store abc123

  • user_input: Get record data.json from store username~my-store

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
recordKeyYesKey of the record to retrieve.
keyValueStoreIdYesKey-value store ID or username~store-name.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add what they cannot: the x402 payment requirement including the exact metadata location (_meta["x402/payment"]), the client capability needed, and the Content-Encoding/decompression behavior of the response. These are material operational facts an agent would otherwise discover only by failing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core operation and scoping constraint, then USAGE and payment details in logical order. The usage examples are somewhat verbose and partly restate the store-ID format already in the schema, but nothing is confusingly placed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no prose. Combined with full annotation coverage and 100% parameter documentation, the description supplies the two things structured fields cannot: the payment protocol requirement and the decompression caveat.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are fully documented in the schema, making 3 the baseline. The description adds only marginal meaning beyond that — "requires the exact key name" and the record-type hint (JSON, text, or binary) — while store ID format is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Get the value stored under a specific key in a key-value store") and immediately scopes it against the obvious confusion point: "a single record, not a listing of all keys." An agent knows exactly what operation this performs without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use when you need to retrieve a specific record (JSON, text, or binary) from a store" gives clear context, reinforced by two concrete usage examples. However, no alternative tool or negative condition is named (e.g., when to list keys instead), so it stops short of the 5 bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

industrial_platform--research-brief-agentindustrial_platform/research-brief-agentA
Destructive
Inspect

This tool calls the Actor "industrial_platform/research-brief-agent" and retrieves its output results. Actor description: Use for current cited multi-source research, comparisons, and fact verification. Returns a synthesized brief with citations. $1.99 per completed brief; failed runs are not billed.

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoOptional decision context, constraints, audience, or background that should shape the research.
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
requirementsNoOptional output and evidence requirements such as comparison criteria, source preferences, tables, calculations, citations, or unresolved-fact handling.
research_questionYes**REQUIRED** REQUIRED. The current multi-source research question to investigate. Use a specific question that needs web research, comparison, verification, citations, or synthesis. Example values: "What are the current official Model Context Protocol transport options in the latest specification?"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, which is a thin safety profile. The description adds genuinely useful operational facts the annotations cannot convey: a $1.99 charge per completed brief, no billing for failed runs, and a hard dependency on an x402 payment signature in _meta that the client must support. It does not, however, explain run lifecycle (async/terminal state) beyond what the schema says.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool does, then cost, then the payment prerequisite — a sensible priority order. There is minor redundancy in restating that it 'calls the Actor ... and retrieves its output results' immediately before quoting the Actor description, but no padding beyond that.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description still tells the agent what comes back (a cited brief) plus billing and payment prerequisites. The main remaining gap is that async/terminal-state behavior for long runs is only covered in the waitSecs schema text, not in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (research_question, context, requirements, waitSecs) is already documented with examples and constraints in the schema. The description adds no per-parameter meaning beyond that, so the baseline 3 applies despite the overall quality of the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific verb and resource (runs the 'industrial_platform/research-brief-agent' Actor and returns its output) and states the produced artifact: a synthesized, cited research brief. It is clearly distinguishable from the run-management siblings (abort-actor-run, get-actor-run), though the framing is slightly meta ('calls the Actor ... and retrieves its output results') rather than describing the research capability directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly scopes use cases: 'current cited multi-source research, comparisons, and fact verification,' which tells the agent when this tool beats a generic lookup. The waitSecs schema note routes long-running cases to get-actor-run via nextStep, giving an implicit alternative, but the description itself never names that sibling or an exclusion condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedindustrial_platform--research-brief-agent1 field changed
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "actorId": {
        -        "description": "Stable Apify Actor ID from the run record",
        -        "type": "string"
        -      },
        -      "actorName": {
        -        "description": "\"username/actor-name\"",
        -        "type": "string"
        -      },
        -      "apifyConsoleUrl": {
        -        "description": "Personalized Apify Console link to the run; present only for Console sessions",
        -        "type": "string"
        -      },
        -      "exitCode": {
        -        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
        -        "type": "number"
        -      },
        -      "finishedAt": {
        -        "description": "ISO timestamp when the run finished (terminal states only)",
        -        "type": "string"
        -      },
        -      "nextStep": {
        -        "description": "One primary follow-up action with identifiers interpolated",
        -        "type": "string"
        -      },
        -      "runId": {
        -        "description": "Actor run ID",
        -        "type": "string"
        -      },
        -      "startedAt": {
        -        "description": "ISO timestamp when the run started",
        -        "type": "string"
        -      },
        -      "stats": {
        -        "description": "Run statistics",
        -        "properties": {
        -          "computeUnits": {
        -            "type": "number"
        -          },
        -          "memMaxBytes": {
        -            "type": "number"
        -          },
        -          "runTimeSecs": {
        -            "type": "number"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "status": {
        -        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
        -        "type": "string"
        -      },
        -      "statusMessage": {
        -        "description": "Pass-through from Apify run.statusMessage",
        -        "type": "string"
        -      },
        -      "storages": {
        -        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
        -        "properties": {
        -          "datasets": {
        -            "additionalProperties": {
        -              "properties": {
        -                "apifyConsoleUrl": {
        -                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        -                  "type": "string"
        -                },
        -                "fields": {
        -                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "id": {
        -                  "description": "Dataset ID",
        -                  "type": "string"
        -                },
        -                "inflatedBytes": {
        -                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        -                  "type": "number"
        -                },
        -                "itemCount": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                },
        -                "title": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "id"
        -              ],
        -              "type": "object"
        -            },
        -            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
        -            "properties": {
        -              "default": {
        -                "properties": {
        -                  "apifyConsoleUrl": {
        -                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        -                    "type": "string"
        -                  },
        -                  "fields": {
        -                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        -                    "items": {
        -                      "type": "string"
        -                    },
        -                    "type": "array"
        -                  },
        -                  "id": {
        -                    "description": "Dataset ID",
        -                    "type": "string"
        -                  },
        -                  "inflatedBytes": {
        -                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        -                    "type": "number"
        -                  },
        -                  "itemCount": {
        -                    "type": "number"
        -                  },
        -                  "itemsSchema": {
        -                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
        -                    "properties": {
        -                      "brief": {
        -                        "type": "string"
        -                      },
        -                      "qa": {
        -                        "properties": {
        -                          "issues": {
        -                            "items": {},
        -                            "type": "array"
        -                          },
        -                          "revised": {
        -                            "type": "boolean"
        -                          },
        -                          "score": {
        -                            "type": "number"
        -                          },
        -                          "summary": {
        -                            "type": "string"
        -                          },
        -                          "verdict": {
        -                            "type": "string"
        -                          }
        -                        },
        -                        "type": "object"
        -                      },
        -                      "research": {
        -                        "properties": {
        -                          "evidence_count": {
        -                            "type": "number"
        -                          },
        -                          "unresolved_questions": {
        -                            "items": {},
        -                            "type": "array"
        -                          }
        -                        },
        -                        "type": "object"
        -                      },
        -                      "research_date": {
        -                        "type": "string"
        -                      },
        -                      "research_question": {
        -                        "type": "string"
        -                      },
        -                      "status": {
        -                        "type": "string"
        -                      },
        -                      "usage": {
        -                        "properties": {
        -                          "input_tokens": {
        -                            "type": "number"
        -                          },
        -                          "output_tokens": {
        -                            "type": "number"
        -                          },
        -                          "requests": {
        -                            "type": "number"
        -                          },
        -                          "total_tokens": {
        -                            "type": "number"
        -                          }
        -                        },
        -                        "type": "object"
        -                      }
        -                    },
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "title": {
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "id"
        -                ],
        -                "type": "object"
        -              }
        -            },
        -            "required": [
        -              "default"
        -            ],
        -            "type": "object"
        -          },
        -          "keyValueStores": {
        -            "additionalProperties": {
        -              "properties": {
        -                "apifyConsoleUrl": {
        -                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "description": "Key-value store ID",
        -                  "type": "string"
        -                },
        -                "keyCount": {
        -                  "description": "Total number of keys (omitted when truncated)",
        -                  "type": "number"
        -                },
        -                "keys": {
        -                  "description": "Up to 50 key names",
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "name": {
        -                  "type": "string"
        -                },
        -                "title": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "id"
        -              ],
        -              "type": "object"
        -            },
        -            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
        -            "properties": {
        -              "default": {
        -                "properties": {
        -                  "apifyConsoleUrl": {
        -                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
        -                    "type": "string"
        -                  },
        -                  "id": {
        -                    "description": "Key-value store ID",
        -                    "type": "string"
        -                  },
        -                  "keyCount": {
        -                    "description": "Total number of keys (omitted when truncated)",
        -                    "type": "number"
        -                  },
        -                  "keys": {
        -                    "description": "Up to 50 key names",
        -                    "items": {
        -                      "type": "string"
        -                    },
        -                    "type": "array"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "title": {
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "id"
        -                ],
        -                "type": "object"
        -              }
        -            },
        -            "required": [
        -              "default"
        -            ],
        -            "type": "object"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "summary": {
        -        "description": "Past-tense summary of the run state",
        -        "type": "string"
        -      },
        -      "tip": {
        -        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
        -        "properties": {
        -          "caveat": {
        -            "description": "Present when this session cannot run the Actor the tip recommends",
        -            "type": "string"
        -          },
        -          "level": {
        -            "description": "Omitted when the Actor wrote an unrecognized level",
        -            "enum": [
        -              "info",
        -              "warning"
        -            ],
        -            "type": "string"
        -          },
        -          "message": {
        -            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
        -            "type": "string"
        -          },
        -          "recommendedActorId": {
        -            "description": "Apify Actor ID the tip recommends, when it names one",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "message"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "runId",
        -      "actorId",
        -      "status",
        -      "storages",
        -      "summary",
        -      "nextStep"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "accepts": {
        -        "items": {
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "error": {
        -        "type": "string"
        -      },
        -      "resource": {
        -        "type": "object"
        -      },
        -      "x402Version": {
        -        "type": "number"
        -      }
        -    },
        -    "required": [
        -      "x402Version",
        -      "accepts"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "actorId": {
        +        "description": "Stable Apify Actor ID from the run record",
        +        "type": "string"
        +      },
        +      "actorName": {
        +        "description": "\"username/actor-name\"",
        +        "type": "string"
        +      },
        +      "apifyConsoleUrl": {
        +        "description": "Personalized Apify Console link to the run; present only for Console sessions",
        +        "type": "string"
        +      },
        +      "exitCode": {
        +        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
        +        "type": "number"
        +      },
        +      "finishedAt": {
        +        "description": "ISO timestamp when the run finished (terminal states only)",
        +        "type": "string"
        +      },
        +      "nextStep": {
        +        "description": "One primary follow-up action with identifiers interpolated",
        +        "type": "string"
        +      },
        +      "runId": {
        +        "description": "Actor run ID",
        +        "type": "string"
        +      },
        +      "startedAt": {
        +        "description": "ISO timestamp when the run started",
        +        "type": "string"
        +      },
        +      "stats": {
        +        "description": "Run statistics",
        +        "properties": {
        +          "computeUnits": {
        +            "type": "number"
        +          },
        +          "memMaxBytes": {
        +            "type": "number"
        +          },
        +          "runTimeSecs": {
        +            "type": "number"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "status": {
        +        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
        +        "type": "string"
        +      },
        +      "statusMessage": {
        +        "description": "Pass-through from Apify run.statusMessage",
        +        "type": "string"
        +      },
        +      "storages": {
        +        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
        +        "properties": {
        +          "datasets": {
        +            "additionalProperties": {
        +              "properties": {
        +                "apifyConsoleUrl": {
        +                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        +                  "type": "string"
        +                },
        +                "fields": {
        +                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "id": {
        +                  "description": "Dataset ID",
        +                  "type": "string"
        +                },
        +                "inflatedBytes": {
        +                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        +                  "type": "number"
        +                },
        +                "itemCount": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "id"
        +              ],
        +              "type": "object"
        +            },
        +            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
        +            "properties": {
        +              "default": {
        +                "properties": {
        +                  "apifyConsoleUrl": {
        +                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        +                    "type": "string"
        +                  },
        +                  "fields": {
        +                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "id": {
        +                    "description": "Dataset ID",
        +                    "type": "string"
        +                  },
        +                  "inflatedBytes": {
        +                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        +                    "type": "number"
        +                  },
        +                  "itemCount": {
        +                    "type": "number"
        +                  },
        +                  "itemsSchema": {
        +                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
        +                    "properties": {
        +                      "brief": {
        +                        "type": "string"
        +                      },
        +                      "qa": {
        +                        "properties": {
        +                          "issues": {
        +                            "items": {
        +                              "type": "string"
        +                            },
        +                            "type": "array"
        +                          },
        +                          "revised": {
        +                            "type": "boolean"
        +                          },
        +                          "score": {
        +                            "type": "number"
        +                          },
        +                          "summary": {
        +                            "type": "string"
        +                          },
        +                          "verdict": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "type": "object"
        +                      },
        +                      "research": {
        +                        "properties": {
        +                          "evidence_count": {
        +                            "type": "number"
        +                          },
        +                          "unresolved_questions": {
        +                            "items": {
        +                              "type": "string"
        +                            },
        +                            "type": "array"
        +                          }
        +                        },
        +                        "type": "object"
        +                      },
        +                      "research_date": {
        +                        "type": "string"
        +                      },
        +                      "research_question": {
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "type": "string"
        +                      },
        +                      "usage": {
        +                        "properties": {
        +                          "input_tokens": {
        +                            "type": "number"
        +                          },
        +                          "output_tokens": {
        +                            "type": "number"
        +                          },
        +                          "requests": {
        +                            "type": "number"
        +                          },
        +                          "total_tokens": {
        +                            "type": "number"
        +                          }
        +                        },
        +                        "type": "object"
        +                      }
        +                    },
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "title": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "id"
        +                ],
        +                "type": "object"
        +              }
        +            },
        +            "required": [
        +              "default"
        +            ],
        +            "type": "object"
        +          },
        +          "keyValueStores": {
        +            "additionalProperties": {
        +              "properties": {
        +                "apifyConsoleUrl": {
        +                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "description": "Key-value store ID",
        +                  "type": "string"
        +                },
        +                "keyCount": {
        +                  "description": "Total number of keys (omitted when truncated)",
        +                  "type": "number"
        +                },
        +                "keys": {
        +                  "description": "Up to 50 key names",
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "name": {
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "id"
        +              ],
        +              "type": "object"
        +            },
        +            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
        +            "properties": {
        +              "default": {
        +                "properties": {
        +                  "apifyConsoleUrl": {
        +                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "description": "Key-value store ID",
        +                    "type": "string"
        +                  },
        +                  "keyCount": {
        +                    "description": "Total number of keys (omitted when truncated)",
        +                    "type": "number"
        +                  },
        +                  "keys": {
        +                    "description": "Up to 50 key names",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "title": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "id"
        +                ],
        +                "type": "object"
        +              }
        +            },
        +            "required": [
        +              "default"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "summary": {
        +        "description": "Past-tense summary of the run state",
        +        "type": "string"
        +      },
        +      "tip": {
        +        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
        +        "properties": {
        +          "caveat": {
        +            "description": "Present when this session cannot run the Actor the tip recommends",
        +            "type": "string"
        +          },
        +          "level": {
        +            "description": "Omitted when the Actor wrote an unrecognized level",
        +            "enum": [
        +              "info",
        +              "warning"
        +            ],
        +            "type": "string"
        +          },
        +          "message": {
        +            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
        +            "type": "string"
        +          },
        +          "recommendedActorId": {
        +            "description": "Apify Actor ID the tip recommends, when it names one",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "message"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "runId",
        +      "actorId",
        +      "status",
        +      "storages",
        +      "summary",
        +      "nextStep"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "accepts": {
        +        "items": {
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "error": {
        +        "type": "string"
        +      },
        +      "resource": {
        +        "type": "object"
        +      },
        +      "x402Version": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "x402Version",
        +      "accepts"
        +    ],
        +    "type": "object"
        +  }
        +]
  2. 1 tool update
    • Changedindustrial_platform--research-brief-agent1 field changed
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "actorId": {
        -        "description": "Stable Apify Actor ID from the run record",
        -        "type": "string"
        -      },
        -      "actorName": {
        -        "description": "\"username/actor-name\"",
        -        "type": "string"
        -      },
        -      "apifyConsoleUrl": {
        -        "description": "Personalized Apify Console link to the run; present only for Console sessions",
        -        "type": "string"
        -      },
        -      "exitCode": {
        -        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
        -        "type": "number"
        -      },
        -      "finishedAt": {
        -        "description": "ISO timestamp when the run finished (terminal states only)",
        -        "type": "string"
        -      },
        -      "nextStep": {
        -        "description": "One primary follow-up action with identifiers interpolated",
        -        "type": "string"
        -      },
        -      "runId": {
        -        "description": "Actor run ID",
        -        "type": "string"
        -      },
        -      "startedAt": {
        -        "description": "ISO timestamp when the run started",
        -        "type": "string"
        -      },
        -      "stats": {
        -        "description": "Run statistics",
        -        "properties": {
        -          "computeUnits": {
        -            "type": "number"
        -          },
        -          "memMaxBytes": {
        -            "type": "number"
        -          },
        -          "runTimeSecs": {
        -            "type": "number"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "status": {
        -        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
        -        "type": "string"
        -      },
        -      "statusMessage": {
        -        "description": "Pass-through from Apify run.statusMessage",
        -        "type": "string"
        -      },
        -      "storages": {
        -        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
        -        "properties": {
        -          "datasets": {
        -            "additionalProperties": {
        -              "properties": {
        -                "apifyConsoleUrl": {
        -                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        -                  "type": "string"
        -                },
        -                "fields": {
        -                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "id": {
        -                  "description": "Dataset ID",
        -                  "type": "string"
        -                },
        -                "inflatedBytes": {
        -                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        -                  "type": "number"
        -                },
        -                "itemCount": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                },
        -                "title": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "id"
        -              ],
        -              "type": "object"
        -            },
        -            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
        -            "properties": {
        -              "default": {
        -                "properties": {
        -                  "apifyConsoleUrl": {
        -                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        -                    "type": "string"
        -                  },
        -                  "fields": {
        -                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        -                    "items": {
        -                      "type": "string"
        -                    },
        -                    "type": "array"
        -                  },
        -                  "id": {
        -                    "description": "Dataset ID",
        -                    "type": "string"
        -                  },
        -                  "inflatedBytes": {
        -                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        -                    "type": "number"
        -                  },
        -                  "itemCount": {
        -                    "type": "number"
        -                  },
        -                  "itemsSchema": {
        -                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
        -                    "properties": {
        -                      "brief": {
        -                        "type": "string"
        -                      },
        -                      "qa": {
        -                        "properties": {
        -                          "issues": {
        -                            "items": {
        -                              "type": "string"
        -                            },
        -                            "type": "array"
        -                          },
        -                          "revised": {
        -                            "type": "boolean"
        -                          },
        -                          "score": {
        -                            "type": "number"
        -                          },
        -                          "summary": {
        -                            "type": "string"
        -                          },
        -                          "verdict": {
        -                            "type": "string"
        -                          }
        -                        },
        -                        "type": "object"
        -                      },
        -                      "research": {
        -                        "properties": {
        -                          "evidence_count": {
        -                            "type": "number"
        -                          },
        -                          "unresolved_questions": {
        -                            "items": {
        -                              "type": "string"
        -                            },
        -                            "type": "array"
        -                          }
        -                        },
        -                        "type": "object"
        -                      },
        -                      "research_date": {
        -                        "type": "string"
        -                      },
        -                      "research_question": {
        -                        "type": "string"
        -                      },
        -                      "status": {
        -                        "type": "string"
        -                      },
        -                      "usage": {
        -                        "properties": {
        -                          "input_tokens": {
        -                            "type": "number"
        -                          },
        -                          "output_tokens": {
        -                            "type": "number"
        -                          },
        -                          "requests": {
        -                            "type": "number"
        -                          },
        -                          "total_tokens": {
        -                            "type": "number"
        -                          }
        -                        },
        -                        "type": "object"
        -                      }
        -                    },
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "title": {
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "id"
        -                ],
        -                "type": "object"
        -              }
        -            },
        -            "required": [
        -              "default"
        -            ],
        -            "type": "object"
        -          },
        -          "keyValueStores": {
        -            "additionalProperties": {
        -              "properties": {
        -                "apifyConsoleUrl": {
        -                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "description": "Key-value store ID",
        -                  "type": "string"
        -                },
        -                "keyCount": {
        -                  "description": "Total number of keys (omitted when truncated)",
        -                  "type": "number"
        -                },
        -                "keys": {
        -                  "description": "Up to 50 key names",
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "name": {
        -                  "type": "string"
        -                },
        -                "title": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "id"
        -              ],
        -              "type": "object"
        -            },
        -            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
        -            "properties": {
        -              "default": {
        -                "properties": {
        -                  "apifyConsoleUrl": {
        -                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
        -                    "type": "string"
        -                  },
        -                  "id": {
        -                    "description": "Key-value store ID",
        -                    "type": "string"
        -                  },
        -                  "keyCount": {
        -                    "description": "Total number of keys (omitted when truncated)",
        -                    "type": "number"
        -                  },
        -                  "keys": {
        -                    "description": "Up to 50 key names",
        -                    "items": {
        -                      "type": "string"
        -                    },
        -                    "type": "array"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "title": {
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "id"
        -                ],
        -                "type": "object"
        -              }
        -            },
        -            "required": [
        -              "default"
        -            ],
        -            "type": "object"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "summary": {
        -        "description": "Past-tense summary of the run state",
        -        "type": "string"
        -      },
        -      "tip": {
        -        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
        -        "properties": {
        -          "caveat": {
        -            "description": "Present when this session cannot run the Actor the tip recommends",
        -            "type": "string"
        -          },
        -          "level": {
        -            "description": "Omitted when the Actor wrote an unrecognized level",
        -            "enum": [
        -              "info",
        -              "warning"
        -            ],
        -            "type": "string"
        -          },
        -          "message": {
        -            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
        -            "type": "string"
        -          },
        -          "recommendedActorId": {
        -            "description": "Apify Actor ID the tip recommends, when it names one",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "message"
        -        ],
        -        "type": "object"
        -      }
        -    },
        -    "required": [
        -      "runId",
        -      "actorId",
        -      "status",
        -      "storages",
        -      "summary",
        -      "nextStep"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "accepts": {
        -        "items": {
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "error": {
        -        "type": "string"
        -      },
        -      "resource": {
        -        "type": "object"
        -      },
        -      "x402Version": {
        -        "type": "number"
        -      }
        -    },
        -    "required": [
        -      "x402Version",
        -      "accepts"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "actorId": {
        +        "description": "Stable Apify Actor ID from the run record",
        +        "type": "string"
        +      },
        +      "actorName": {
        +        "description": "\"username/actor-name\"",
        +        "type": "string"
        +      },
        +      "apifyConsoleUrl": {
        +        "description": "Personalized Apify Console link to the run; present only for Console sessions",
        +        "type": "string"
        +      },
        +      "exitCode": {
        +        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
        +        "type": "number"
        +      },
        +      "finishedAt": {
        +        "description": "ISO timestamp when the run finished (terminal states only)",
        +        "type": "string"
        +      },
        +      "nextStep": {
        +        "description": "One primary follow-up action with identifiers interpolated",
        +        "type": "string"
        +      },
        +      "runId": {
        +        "description": "Actor run ID",
        +        "type": "string"
        +      },
        +      "startedAt": {
        +        "description": "ISO timestamp when the run started",
        +        "type": "string"
        +      },
        +      "stats": {
        +        "description": "Run statistics",
        +        "properties": {
        +          "computeUnits": {
        +            "type": "number"
        +          },
        +          "memMaxBytes": {
        +            "type": "number"
        +          },
        +          "runTimeSecs": {
        +            "type": "number"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "status": {
        +        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
        +        "type": "string"
        +      },
        +      "statusMessage": {
        +        "description": "Pass-through from Apify run.statusMessage",
        +        "type": "string"
        +      },
        +      "storages": {
        +        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
        +        "properties": {
        +          "datasets": {
        +            "additionalProperties": {
        +              "properties": {
        +                "apifyConsoleUrl": {
        +                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        +                  "type": "string"
        +                },
        +                "fields": {
        +                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "id": {
        +                  "description": "Dataset ID",
        +                  "type": "string"
        +                },
        +                "inflatedBytes": {
        +                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        +                  "type": "number"
        +                },
        +                "itemCount": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "id"
        +              ],
        +              "type": "object"
        +            },
        +            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
        +            "properties": {
        +              "default": {
        +                "properties": {
        +                  "apifyConsoleUrl": {
        +                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
        +                    "type": "string"
        +                  },
        +                  "fields": {
        +                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "id": {
        +                    "description": "Dataset ID",
        +                    "type": "string"
        +                  },
        +                  "inflatedBytes": {
        +                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
        +                    "type": "number"
        +                  },
        +                  "itemCount": {
        +                    "type": "number"
        +                  },
        +                  "itemsSchema": {
        +                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
        +                    "properties": {
        +                      "brief": {
        +                        "type": "string"
        +                      },
        +                      "qa": {
        +                        "properties": {
        +                          "issues": {
        +                            "items": {},
        +                            "type": "array"
        +                          },
        +                          "revised": {
        +                            "type": "boolean"
        +                          },
        +                          "score": {
        +                            "type": "number"
        +                          },
        +                          "summary": {
        +                            "type": "string"
        +                          },
        +                          "verdict": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "type": "object"
        +                      },
        +                      "research": {
        +                        "properties": {
        +                          "evidence_count": {
        +                            "type": "number"
        +                          },
        +                          "unresolved_questions": {
        +                            "items": {},
        +                            "type": "array"
        +                          }
        +                        },
        +                        "type": "object"
        +                      },
        +                      "research_date": {
        +                        "type": "string"
        +                      },
        +                      "research_question": {
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "type": "string"
        +                      },
        +                      "usage": {
        +                        "properties": {
        +                          "input_tokens": {
        +                            "type": "number"
        +                          },
        +                          "output_tokens": {
        +                            "type": "number"
        +                          },
        +                          "requests": {
        +                            "type": "number"
        +                          },
        +                          "total_tokens": {
        +                            "type": "number"
        +                          }
        +                        },
        +                        "type": "object"
        +                      }
        +                    },
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "title": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "id"
        +                ],
        +                "type": "object"
        +              }
        +            },
        +            "required": [
        +              "default"
        +            ],
        +            "type": "object"
        +          },
        +          "keyValueStores": {
        +            "additionalProperties": {
        +              "properties": {
        +                "apifyConsoleUrl": {
        +                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "description": "Key-value store ID",
        +                  "type": "string"
        +                },
        +                "keyCount": {
        +                  "description": "Total number of keys (omitted when truncated)",
        +                  "type": "number"
        +                },
        +                "keys": {
        +                  "description": "Up to 50 key names",
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "name": {
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "id"
        +              ],
        +              "type": "object"
        +            },
        +            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
        +            "properties": {
        +              "default": {
        +                "properties": {
        +                  "apifyConsoleUrl": {
        +                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
        +                    "type": "string"
        +                  },
        +                  "id": {
        +                    "description": "Key-value store ID",
        +                    "type": "string"
        +                  },
        +                  "keyCount": {
        +                    "description": "Total number of keys (omitted when truncated)",
        +                    "type": "number"
        +                  },
        +                  "keys": {
        +                    "description": "Up to 50 key names",
        +                    "items": {
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "title": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "id"
        +                ],
        +                "type": "object"
        +              }
        +            },
        +            "required": [
        +              "default"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "summary": {
        +        "description": "Past-tense summary of the run state",
        +        "type": "string"
        +      },
        +      "tip": {
        +        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
        +        "properties": {
        +          "caveat": {
        +            "description": "Present when this session cannot run the Actor the tip recommends",
        +            "type": "string"
        +          },
        +          "level": {
        +            "description": "Omitted when the Actor wrote an unrecognized level",
        +            "enum": [
        +              "info",
        +              "warning"
        +            ],
        +            "type": "string"
        +          },
        +          "message": {
        +            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
        +            "type": "string"
        +          },
        +          "recommendedActorId": {
        +            "description": "Apify Actor ID the tip recommends, when it names one",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "message"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "runId",
        +      "actorId",
        +      "status",
        +      "storages",
        +      "summary",
        +      "nextStep"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "accepts": {
        +        "items": {
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "error": {
        +        "type": "string"
        +      },
        +      "resource": {
        +        "type": "object"
        +      },
        +      "x402Version": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "x402Version",
        +      "accepts"
        +    ],
        +    "type": "object"
        +  }
        +]

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Generates comprehensive research reports on any topic by fetching and compiling multiple web sources. Pay-per-call via x402 micropayments with no API key or signup required.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.