Skip to main content
Glama

Get Audit Findings

get_audit_findings
Read-onlyIdempotent

Get audit issues + flagged pages for an AI-search technical audit.

Returns the audit's issue list and the worst-scoring pages, mirroring what the Optimize page's Findings and Pages tabs render. Includes site-wide rollups like has_llms_txt, ai_crawler_blocked, and has_sitemap so the agent can answer "is this site set up for AI search?" in one call.

Dismissals are applied. A check the customer marked intentional in Optimize comes back as status='ignored' instead of open, and stays that way across re-scans, because a dismissal is keyed on the brand, the check and the URL rather than on the audit row (audit rows are rebuilt on every scan). Pass issue_status='ignored' to list them. A check dismissed on only some of the URLs it affects stays open, since work remains on the rest.

Returns status='no_audit_yet' if the brand has no completed audit. Read-only; never triggers an audit.

Args: brand_id: The brand (required). audit_id: Specific audit. Defaults to the brand's latest complete audit. severity: Comma-separated. critical | high | medium | low. Default 'critical,high'. issue_status: Comma-separated. open | in_progress | fixed | ignored. Default 'open,in_progress'. check_name: Filter to issues whose check_name contains this string (e.g. 'llms_txt', 'schema', 'robots'). page_url: Filter to issues whose affected_urls contain this URL. page_type: Filter audit_pages by page_type. url_pattern: Filter audit_pages by URL substring. min_score: Min technical_score for pages (0-100). max_score: Max technical_score for pages (0-100). issues_limit: Max issues. 1-50. Default 20. pages_limit: Max pages. 1-100. Default 20. 100 covers a whole site on almost every audit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
audit_idNo
brand_idYes
page_urlNo
severityNocritical,high
max_scoreNo
min_scoreNo
page_typeNo
check_nameNo
pages_limitNo
url_patternNo
user_intentNoAnalytics hint: the user's latest request in one short sentence. Omit secrets and prior chat.
issue_statusNoopen,in_progress
issues_limitNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/ idempotent/ non-destructive, and the description goes well beyond them: dismissal semantics keyed on brand+check+URL, persistence across re-scans, partial-dismissal staying open, and the no_audit_yet return signal. This is rich behavioral disclosure the annotations cannot carry.

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-loads what it returns and the one-call value proposition, then the dismissal nuance, then a clean Args list. The dismissal paragraph is dense but each sentence adds non-obvious semantics; size is justified for a 13-parameter tool, though it is longer than strictly necessary.

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?

No output schema exists, and the description still specifies what comes back (issue list, worst-scoring pages, site-wide rollups like has_llms_txt and ai_crawler_blocked) plus the status='no_audit_yet' edge case. With every filter documented, an agent can call this correctly without further information.

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

Parameters5/5

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

Schema description coverage is only 8%, so the description must carry the burden, and it does: every filter is explained with format, accepted values, defaults, and valid ranges (severity enum values, issues_limit 1-50, pages_limit 1-100 with rationale, check_name substring examples). Only user_intent is left undocumented.

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 audit issues + flagged pages for an AI-search technical audit') and scopes it to exactly what the Optimize Findings/Pages tabs render, which distinguishes it from siblings like list_audits or get_page_analysis.

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 clear context for when to use it ('answer is this site set up for AI search? in one call') plus a key constraint (read-only, never triggers an audit) and the no_audit_yet case. It does not explicitly name a sibling alternative or state when not to use it, so it stops short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources