Skip to main content
Glama

Grisoco AI security audits

Submit an audit

submit_audit

Start an audit. SPENDS the quoted price from the prepaid balance, refused (nothing charged) if the price is above max_price_cents. Returns an audit id at once; the audit runs in the background (minutes). Poll get_audit about every 30 seconds.

Input Schema

NameRequiredDescriptionDefault
filesYesSource files. path is relative (e.g. src/Vault.sol); imported files must be included too.
productYesdeep_review: AI security review on top of the analysis tools (Solidity or DAML). tools: static analysis tools only (Solidity), cheaper and faster.
languageNoSource language: solidity for EVM contracts, daml for Canton/DAML packages.solidity
project_nameYesProject or company name shown on the report.
audit_targetsNoOptional: which files to audit and bill for. Default: every file sent. Imports are free.
max_price_centsYesThe most you agree to pay, in US cents. Use the price from quote_audit.

Output Schema

NameRequiredDescriptionDefault
idYesAudit id.
errorYesWhy the audit failed, if it did.
stageYesProgress detail while running.
statusYesfailed audits are refunded; expired reports were deleted after the retention window.
productYesdeep_review or tools.
languageYessolidity or daml.
refundedYesTrue when the audit failed and the price was returned.
total_locYesLines of code audited.
created_atYesISO 8601 timestamp.
started_atYesISO 8601 timestamp.
finished_atYesISO 8601 timestamp.
price_centsYesPrice charged, in US cents.
project_nameYesProject name shown on the report.
audit_targetsYesThe files audited.
contract_countYesNumber of files audited and billed.
discount_percentYesAccount discount applied, 0 if none.
report_availableYesTrue when get_audit_report can return the report.
report_expires_atYesWhen the report is deleted (ISO 8601).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false / idempotentHint=false; the description adds the critical context of what actually happens: a prepaid-balance spend, atomic refusal with nothing charged when the price exceeds max_price_cents, an immediate id return, and a background job taking minutes. This is materially more than the annotations convey.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action and the spend implication, then async behavior and polling cadence. No filler; every sentence carries operational information.

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?

For a non-idempotent, cost-incurring, asynchronous submission tool, the description covers cost, atomicity of failure, return shape at a high level, duration, and follow-up polling. With an output schema present, return-value details are appropriately left out.

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%, so per-parameter meaning is already documented, including the enum options and file semantics. The description adds the guardrail semantics of max_price_cents (refusal behavior) but leaves other parameters, such as audit_targets and language, entirely to the schema. Baseline 3 is appropriate.

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 ('Start an audit') and immediately distinguishes this submission tool from its siblings by naming the price source (quote_audit) and the polling target (get_audit). An agent can position it in the workflow without opening any 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?

Establishes the workflow context – quoted price from quote_audit and polling get_audit every ~30 seconds – which implies the correct call order. It stops short of an explicit 'call quote_audit first' instruction or any when-not-to-use condition, so it is clear but not fully prescriptive.

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