Skip to main content
Glama

Dante IX — Brand & GEO Intelligence

Run Full Brand Reputation & Multi-Model GEO Audit

dante.run_audit
Idempotent

Execute a comprehensive 9-dimension brand reputation, social sentiment, and Generative Engine Optimization (GEO) audit across ChatGPT, Google Gemini, and Perplexity. Returns a structured JSON report (audit_id, fsm_state, som_score, win_rate, own_voice_count, ally_adversary_count, sector_street_count, recalibrated_count, suspected_bot_count, and cryptographic SHA-256 attestation). Side effects & latency: Non-destructive; persists an isolated audit snapshot in the caller's tenant vault so subsequent calls to dante.query_street_friction can search the indexed signals. Completes in <1s when live_geo=false (deterministic baseline) or 5-15s when live_geo=true (live multi-LLM network queries). Auth & quota: If DANTE_API_KEY is omitted, runs in free 30% preview mode at $0 cost (live_geo is forced to false). With a paid dnt_live_ key (PRO_INHOUSE 25/mo or AGENCY_PARTNER 100/mo), returns 100% unredacted results and consumes 1 monthly quota unit when live_geo=true. When to use: Use dante.run_audit for a complete end-to-end diagnostic combining social sentiment, bot detection, and AI search share. Use dante.probe_geo_share instead when you only need a fast AI citation Share-of-Model check without social listening, or dante.forge_geo_shield when you already know your brand facts and want to generate /llms.txt and Schema.org JSON-LD.

Input Schema

NameRequiredDescriptionDefault
langNoReport and prompt language code: 'en' for English or 'es' for Spanish (defaults to 'es').es
csv_pathNoOptional relative path to a local CSV social signal dataset for offline evaluation (omit for cloud gateway audits).
live_geoNoSet to true to execute live network queries against ChatGPT, Gemini, and Perplexity (takes 5-15s and requires a paid DANTE_API_KEY; defaults to false for <1s deterministic baseline).
target_nameYesBrand, product, organization, or public figure name to audit (2 to 120 characters, e.g. 'Stripe' or 'Mayo Clinic').
vertical_modeNoEvaluation rubric mode: 'COMMERCIAL_BRAND' for B2B/B2C companies, 'INTERNAL_PROJECT' for software/product launches, or 'POLITICAL_WAR_ROOM' for public figures and civic campaigns.COMMERCIAL_BRAND
industry_or_contextYesIndustry vertical, competitive niche, and geographic market context (3 to 240 characters, e.g. 'B2B payment processing in North America').

Output Schema

NameRequiredDescriptionDefault
audit_idNoUnique audit identifier (e.g. AUD-...).
win_rateNoFirst-choice recommendation win rate across queried AI models.
fsm_stateNoTerminal execution state of the audit pipeline.
som_scoreNoFixed-point Share of Model score in [0.0000, 1.0000].
tier_modeNoActive license tier ('FREE_TRIAL_30PCT_PREVIEW', 'PRO_INHOUSE', or 'AGENCY_PARTNER').
target_nameNoAudited brand or entity name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • changedInput schema / properties / csv_path / description
      Previous value: -"Optional path to CSV fixture"New value: +"Optional relative path to a local CSV social signal dataset for offline evaluation (omit for cloud gateway audits)."
    • addedInput schema / properties / csv_path / maxLength
      Added value: +260
    • changedInput schema / properties / industry_or_context / description
      Previous value: -"Industry vertical, market niche, or regional context"New value: +"Industry vertical, competitive niche, and geographic market context (3 to 240 characters, e.g. 'B2B payment processing in North America')."
    • addedInput schema / properties / industry_or_context / maxLength
      Added value: +240
    • addedInput schema / properties / industry_or_context / minLength
      Added value: +3
    • changedInput schema / properties / lang / description
      Previous value: -"Output language: 'es' or 'en'"New value: +"Report and prompt language code: 'en' for English or 'es' for Spanish (defaults to 'es')."
    • addedInput schema / properties / lang / enum
      Added value: +[
      +  "es",
      +  "en"
      +]
    • changedInput schema / properties / live_geo / description
      Previous value: -"Whether to run live AI Oracle sweeps"New value: +"Set to true to execute live network queries against ChatGPT, Gemini, and Perplexity (takes 5-15s and requires a paid DANTE_API_KEY; defaults to false for <1s deterministic baseline)."
    • changedInput schema / properties / target_name / description
      Previous value: -"Brand, organization, product, or public entity"New value: +"Brand, product, organization, or public figure name to audit (2 to 120 characters, e.g. 'Stripe' or 'Mayo Clinic')."
    • addedInput schema / properties / target_name / maxLength
      Added value: +120
    • addedInput schema / properties / target_name / minLength
      Added value: +2
    • changedInput schema / properties / vertical_mode / description
      Previous value: -"Vertical mode: 'INTERNAL_PROJECT', 'COMMERCIAL_BRAND', or 'POLITICAL_WAR_ROOM'"New value: +"Evaluation rubric mode: 'COMMERCIAL_BRAND' for B2B/B2C companies, 'INTERNAL_PROJECT' for software/product launches, or 'POLITICAL_WAR_ROOM' for public figures and civic campaigns."
    • addedInput schema / properties / vertical_mode / enum
      Added value: +[
      +  "COMMERCIAL_BRAND",
      +  "INTERNAL_PROJECT",
      +  "POLITICAL_WAR_ROOM"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "audit_id": {
      +      "description": "Unique audit identifier (e.g. AUD-...).",
      +      "type": "string"
      +    },
      +    "fsm_state": {
      +      "description": "Terminal execution state of the audit pipeline.",
      +      "type": "string"
      +    },
      +    "som_score": {
      +      "description": "Fixed-point Share of Model score in [0.0000, 1.0000].",
      +      "type": "string"
      +    },
      +    "target_name": {
      +      "description": "Audited brand or entity name.",
      +      "type": "string"
      +    },
      +    "tier_mode": {
      +      "description": "Active license tier ('FREE_TRIAL_30PCT_PREVIEW', 'PRO_INHOUSE', or 'AGENCY_PARTNER').",
      +      "type": "string"
      +    },
      +    "win_rate": {
      +      "description": "First-choice recommendation win rate across queried AI models.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations (which only say openWorld=true, destructive=false, idempotent=true) by disclosing the persistence side effect — an isolated snapshot written to the caller's tenant vault that later feeds dante.query_street_friction. It also quantifies latency under both live_geo modes and explains auth/quota: unauthenticated runs force live_geo=false with 30% redacted preview at $0, while paid keys consume one monthly quota unit per live call.

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 purpose, then side effects and latency, then auth, then tool routing — a sensible reading order that lets an agent stop early. Docked one point because the parenthetical enumeration of return fields (audit_id, fsm_state, som_score, ...) duplicates the output schema it already has.

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 costly, network-touching, tenant-persisting operation this covers everything an agent must know before calling: cost model, latency, side effects, redaction, and sibling routing. Return values are covered by the output schema and the description need not restate them.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns an extra point by adding cross-parameter behavior the schema cannot express — notably that omitting DANTE_API_KEY overrides live_geo to false regardless of the caller's value, and that live_geo drives the <1s vs 5-15s cost. It does not elaborate on csv_path or vertical_mode beyond what the enum descriptions already give.

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 (Execute) and a precisely scoped resource: a 9-dimension brand reputation, social sentiment, and GEO audit across ChatGPT, Gemini, and Perplexity. An agent can distinguish this full diagnostic from the narrower siblings (a citation-only probe, an asset generator) 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 Guidelines5/5

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

Includes an explicit 'When to use' clause plus two named alternatives with the exact conditions that select them: dante.probe_geo_share for a fast Share-of-Model check without social listening, dante.forge_geo_shield when brand facts are already known. Exclusion criteria and alternatives are both spelled out.

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