Skip to main content
Glama

Create agent report

create_agent_report

Save an external agent analysis with provenance to a project so its deep link inherits existing access controls. Store structured reports safely for team review.

Instructions

Save an agent analysis with provenance. Its deep link inherits existing project access controls. Producer kinds site_audit, ai_visibility and prompt_explorer are reserved and rejected here.

Input Schema

NameRequiredDescriptionDefault
bodyYesStructured analysis. Maximum 256 KiB; untrusted text is rendered safely.
kindYesExternal analysis kind; site_audit, ai_visibility and prompt_explorer are reserved.
titleYesHuman-readable report title.
project_idYesThe public project ID. Project membership and token scopes are enforced.
provenanceNoSource attribution and limitations. Maximum 32 KiB.
idempotency_keyNoOptional stable retry key, forwarded as the REST Idempotency-Key header.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.17.1

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the bar is lowered. The description adds real context beyond them: the deep link inherits existing project access controls, and three producer kinds (site_audit, ai_visibility, prompt_explorer) are reserved and rejected. It does not describe what a successful save returns or any rate limits.

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?

Three short sentences with no filler, and the core action is front-loaded in the first sentence. The reserved-kind clause is compressed but readable; a slightly more explicit framing of the access-control note would improve it, but nothing is wasted.

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?

For a write tool with nested objects, no output schema, and 6 parameters, the description covers the important behavioral context: access-control inheritance and the reserved-kind rejection. Remaining gaps (return shape, idempotency semantics) are handled by the schema descriptions, so the definition is close to complete.

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 the schema already documents kind, body size limits, project_id enforcement, provenance and idempotency_key. The description's mention of provenance and the reserved kinds largely repeats what the kind parameter description already states. Baseline 3 applies.

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?

States a specific verb+resource: saving an agent analysis (report), with a qualifier about provenance. It is clearly distinguishable from siblings like get_agent_report and list_agent_reports. It does not explicitly name those siblings, but the create-vs-read distinction is unambiguous from the wording.

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

Usage Guidelines3/5

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

Usage is implied: this is where an external agent persists an analysis it produced. The reserved-kind sentence tells the agent when this tool will reject a call, which is useful, but there is no explicit when-to-use/when-not or routing to an alternative tool (e.g., get_agent_report for retrieval).

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

Deploy Server

Other Tools