Dante IX — Brand & GEO Intelligence
Server Details
Hosted Streamable HTTP MCP gateway for 9-Circle Brand Reputation, Social Listening (Reddit, HN, Web) & Multi-Model GEO Audits across ChatGPT, Claude, and Perplexity, plus Technical GEO Shield generation (JSON-LD, llms.txt, Fact-Sheet).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct workflow: artifact generation, AI share measurement, tenant vault querying, hallucination remediation, and comprehensive audit. The descriptions include explicit cross-references and 'use X instead' guidance, which resolves the main potential overlaps between probe_geo_share and run_audit, and between forge_geo_shield and remediate_hallucination.
All tool names use the same dante. prefix followed by a snake_case verb_noun pattern: forge_geo_shield, probe_geo_share, query_street_friction, remediate_hallucination, and run_audit. The convention is predictable and easy to parse.
Five tools is well-scoped for a brand and GEO intelligence server. Each tool corresponds to a meaningful capability area without redundant endpoints or a bloated surface.
The surface covers core workflows: audit, share measurement, internal signal querying, GEO artifact generation, and hallucination remediation. Minor gaps remain, such as retrieving or listing prior audit snapshots by audit_id and managing competitor sets explicitly, but agents can largely work around these.
Available Tools
5 toolsdante.forge_geo_shieldForge Technical GEO Shield (llms.txt & Schema.org JSON-LD)ARead-onlyIdempotentInspect
Generate production-ready technical Generative Engine Optimization (GEO) artifacts for a brand domain: /llms.txt manifest, /.well-known/ai-catalog.json, Schema.org JSON-LD (Organization, Service, FAQPage), and robots.txt rules for AI crawlers (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended). Returns a JSON bundle (llms_txt_content, ai_catalog_json, json_ld_script, robots_txt_snippet, and domain_seal_sha256). Side effects & latency: Read-only deterministic synthesis (<300ms); never modifies external websites and makes zero LLM calls. Constraints: brand_name must match the stem of domain_url, and URLs in official_facts must belong to domain_url. Auth & quota: Consumes 0 live audit credits. Without DANTE_API_KEY, returns a 30% preview at $0 cost; with a paid dnt_live_ key (PRO_INHOUSE 1 domain or AGENCY_PARTNER 10 domains), returns 100% deployable files sealed for that domain. When to use: Use dante.forge_geo_shield to generate /llms.txt and JSON-LD files for AI crawler discovery. Use dante.remediate_hallucination instead when countering a specific false AI claim.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for generated `/llms.txt` and `JSON-LD` descriptions: 'en' for English or 'es' for Spanish (defaults to 'es'). | es |
| brand_name | Yes | Official brand or organization name (2 to 80 characters; must correspond to the root stem of `domain_url`, e.g. 'Acme Cloud'). | |
| domain_url | Yes | Canonical HTTPS website URL for the brand (e.g. 'https://acmecloud.com'). Bound to the license's allowed domain slots. | |
| competitors | No | Optional list of competitor names for semantic disambiguation in `disambiguatingDescription` (0 to 15 strings). | |
| official_facts | Yes | Non-empty list of verified ground-truth facts, pricing, certifications, or SLAs (1 to 30 strings; any embedded URLs must belong to `domain_url`). | |
| industry_context | Yes | Primary industry category, target audience, and market positioning (4 to 240 characters). | |
| products_or_services | Yes | Non-empty list of core products, services, or clinical/technical offerings (1 to 25 strings). |
Output Schema
| Name | Required | Description |
|---|---|---|
| brand_name | No | Canonical brand name. |
| domain_url | No | Normalized HTTPS domain URL. |
| json_ld_script | No | HTML `<script type='application/ld+json'>` block. |
| ai_catalog_json | No | JSON payload for `/.well-known/ai-catalog.json`. |
| llms_txt_content | No | Complete `/llms.txt` markdown manifest for AI crawlers. |
| domain_seal_sha256 | No | 64-character hex SHA-256 authenticity seal verifiable at `https://danteix.com/api/mcp/verify-seal`. |
| robots_txt_snippet | No | Crawler allow rules for `robots.txt`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description still adds material context beyond them: deterministic synthesis under 300ms, zero LLM calls, never touches external sites, consumes no live audit credits, and degrades to a 30% preview without an API key versus full sealed output with a paid key. Tier/domain-slot limits are also disclosed, which annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the artifact list, then organized into labeled sections (Side effects & latency, Constraints, Auth & quota, When to use) that scan well. It is long and restates return keys that the existing output schema already documents, which is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-input synthesis tool with auth tiers and cross-field constraints, everything an agent needs to call it correctly is present: required inputs, constraint invariants, cost/credit behavior, latency, and the preview-vs-full-key distinction. Return values are covered by the output schema, so the description needn't go further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 above that by documenting cross-field constraints not in the schema — `brand_name` must match the stem of `domain_url`, and URLs inside `official_facts` must belong to `domain_url`. It doesn't add per-parameter guidance beyond those invariants, so not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Generate) and a concrete set of resources (`/llms.txt`, `/.well-known/ai-catalog.json`, Schema.org JSON-LD types, robots.txt AI-crawler rules), so an agent knows exactly what artifact comes back. It is clearly separable from siblings like `dante.run_audit` or `dante.remediate_hallucination`, which are named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'When to use' clause plus an explicit alternative with its triggering condition ('use `dante.remediate_hallucination` instead when countering a specific false AI claim'). This is routing guidance an agent can act on without opening either schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dante.query_street_frictionQuery Customer Friction & Social Signal VaultARead-onlyIdempotentInspect
Search the caller's isolated tenant signal vault for customer complaints, sarcasm/irony-calibrated sentiment records, coordinated bot anomaly alerts, and unmet competitor gaps. Returns a JSON object (query, voice_filter, matched_count, records, and tier_mode). Side effects & latency: Strictly read-only (readOnlyHint=true), deterministic, and zero external LLM cost; executes in <200ms against the isolated tenant index. Never accesses or leaks signals belonging to other tenants. Auth & quota: Consumes 0 live audit credits. Without DANTE_API_KEY, searches the isolated free-trial sandbox vault and returns a 30% preview; with a paid dnt_live_ key, searches the caller's dedicated private tenant vault and returns full records. When to use: Use dante.query_street_friction to inspect specific recurring customer pain points (e.g. 'pricing OR billing OR delay') after running dante.run_audit. Do not use this tool to query live external LLMs (use dante.probe_geo_share instead) or to generate website schema files (use dante.forge_geo_shield instead).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of matching signal records to return (integer between 1 and 100, defaults to 10). | |
| query | Yes | Search keywords or boolean expression to match against indexed social and customer signals (2 to 240 chars, e.g. 'pricing OR support OR latency'). | |
| voice_filter | No | Filter records by source voice category: 'ALL' (every source), 'OWN_VOICE' (official brand channels), 'ALLY_ADVERSARY_VOICE' (competitors/press/affiliates), or 'SECTOR_STREET_VOICE' (organic customers). | ALL |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | Executed search query string. |
| records | No | List of attested customer signal records with sentiment and bot-risk flags. |
| tier_mode | No | Active license tier. |
| voice_filter | No | Applied voice category filter. |
| matched_count | No | Number of matching records returned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile, but the description goes well beyond them: sub-200ms latency, determinism, zero external LLM cost, zero audit-credit consumption, and explicit tenant isolation ('never accesses or leaks signals belonging to other tenants'). Critically, it discloses the credential-dependent behavior — without DANTE_API_KEY a free-trial sandbox returns a 30% preview, while a dnt_live_ key returns full records — which materially changes how an agent should interpret matched_count and result completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long but deliberately segmented into labelled blocks (Returns, Side effects & latency, Auth & quota, When to use) that let an agent jump to the relevant clause. Every sentence carries routing, safety, or quota information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read tool this covers the decision-relevant surface: scope, cost, latency, tenant isolation, and the credential tier that determines result completeness. The only slack is that it enumerates return fields (`query`, `voice_filter`, `matched_count`, `records`, `tier_mode`) that an output schema already declares, which is mild duplication rather than an information gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents all three parameters including the voice_filter enum values and limit bounds, so the description need not compensate. The description adds only a runnable boolean query example ('pricing OR billing OR delay'); it says nothing about how voice_filter or limit affect results, so it earns baseline rather than above it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb (search) and a precisely scoped resource (the caller's isolated tenant signal vault) and enumerates the record types returned (complaints, calibrated sentiment, bot alerts, competitor gaps). It also explicitly excludes sibling responsibilities, so an agent can distinguish it from dante.probe_geo_share and dante.forge_geo_shield without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit 'When to use' trigger (inspecting recurring pain points after running dante.run_audit) and a 'Do not use' clause that names the two alternative tools for the excluded cases. Both the positive and negative routing conditions are stated, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dante.remediate_hallucinationRemediate AI Hallucination with ClaimReview CounterweightsARead-onlyIdempotentInspect
Synthesize structured semantic counterweight artifacts to correct an inaccurate or outdated claim (hallucination) made by an AI assistant (ChatGPT, Perplexity, or Google Gemini) about a brand. Returns a JSON package (markdown_counterweight_block, html_claim_review_snippet, faq_json_ld_script, verification_prompts, and domain_seal_sha256). Side effects & latency: Purely deterministic, read-only synthesis (<300ms) with zero external LLM calls and zero destructive behavior. Security & parameter constraints: brand_name must match the stem of domain_url, and verified_fact must not contain third-party foreign URLs. Auth & quota: Consumes 0 live audit credits. Runs in 30% preview mode at $0 cost when DANTE_API_KEY is omitted; returns 100% unredacted ClaimReview and FAQPage artifacts when called with a paid dnt_live_ license key. When to use: Use dante.remediate_hallucination when an AI assistant is actively stating false pricing, wrong features, or outdated ownership about a brand and you need an authoritative Schema.org ClaimReview + FAQPage correction block. Use dante.forge_geo_shield instead for general site-wide /llms.txt and Organization schema generation, or dante.probe_geo_share to check current AI citations.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for generated `ClaimReview` HTML, `FAQPage JSON-LD`, and verification prompts: 'en' for English or 'es' for Spanish (defaults to 'es'). | es |
| brand_name | Yes | Official brand or organization name (2 to 80 characters; must align with `domain_url`). | |
| domain_url | Yes | Canonical HTTPS URL of the official brand website where the correction will be published (e.g. 'https://acmecloud.com'). | |
| target_oracle | Yes | Name of the AI assistant exhibiting the inaccurate claim (e.g. 'ChatGPT', 'Perplexity', 'Gemini', or 'Claude'). | |
| verified_fact | Yes | Authoritative, verifiable ground-truth correction supported by first-party evidence on `domain_url` (10 to 1200 characters). | |
| hallucination_claim | Yes | Exact inaccurate, fabricated, or outdated statement currently produced by the AI engine (10 to 600 characters). | |
| source_url_to_counter | No | Optional outdated third-party article or directory URL that the AI assistant is erroneously citing as its source. |
Output Schema
| Name | Required | Description |
|---|---|---|
| brand_name | No | Official brand name. |
| target_oracle | No | Target AI engine remediated. |
| domain_seal_sha256 | No | 64-character hex SHA-256 cryptographic authenticity seal. |
| faq_json_ld_script | No | `Schema.org FAQPage` JSON-LD script overriding the false claim. |
| verification_prompts | No | Follow-up prompts to verify the AI assistant has updated its answer. |
| html_claim_review_snippet | No | Semantic HTML + microdata `ClaimReview` fact-check block. |
| markdown_counterweight_block | No | Markdown correction block for `/llms.txt` and documentation pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses latency (<300ms), determinism, no external LLM calls, zero destructive behavior, credit consumption, and preview-mode behavior depending on API key. These are meaningful operational behaviors not captured by annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well structured, using inline labels for side effects, security constraints, auth, and when-to-use. It is front-loaded with the purpose and return package, and every sentence contributes actionable context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description still clarifies return artifacts and modes of operation. Combined with auth, quota, security constraints, and sibling-tool routing, it gives an agent everything needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents individual parameters. The description adds cross-parameter constraints the schema does not convey: brand_name must match the stem of domain_url, and verified_fact must not contain third-party foreign URLs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a precise verb and resource: 'Synthesize structured semantic counterweight artifacts to correct an inaccurate or outdated claim' about a brand. It explicitly names the output artifacts and distinguishes itself from sibling tools like dante.forge_geo_shield and dante.probe_geo_share.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states exactly when to use this tool: when an AI assistant actively states false pricing, wrong features, or outdated ownership about a brand. It also names alternative tools for different scenarios, such as forge_geo_shield for site-wide generation and probe_geo_share for citation checking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dante.run_auditRun Full Brand Reputation & Multi-Model GEO AuditAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Report and prompt language code: 'en' for English or 'es' for Spanish (defaults to 'es'). | es |
| csv_path | No | Optional relative path to a local CSV social signal dataset for offline evaluation (omit for cloud gateway audits). | |
| live_geo | No | 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). | |
| target_name | Yes | Brand, product, organization, or public figure name to audit (2 to 120 characters, e.g. 'Stripe' or 'Mayo Clinic'). | |
| vertical_mode | No | 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. | COMMERCIAL_BRAND |
| industry_or_context | Yes | Industry vertical, competitive niche, and geographic market context (3 to 240 characters, e.g. 'B2B payment processing in North America'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| audit_id | No | Unique audit identifier (e.g. AUD-...). |
| win_rate | No | First-choice recommendation win rate across queried AI models. |
| fsm_state | No | Terminal execution state of the audit pipeline. |
| som_score | No | Fixed-point Share of Model score in [0.0000, 1.0000]. |
| tier_mode | No | Active license tier ('FREE_TRIAL_30PCT_PREVIEW', 'PRO_INHOUSE', or 'AGENCY_PARTNER'). |
| target_name | No | Audited brand or entity name. |
TDQS
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.
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.
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.
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.
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.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
dante.forge_geo_shield20 fields changed- changed
Input schema / properties / brand_name / descriptionPrevious value: -"Official brand or organization name (2..80 chars)"New value: +"Official brand or organization name (2 to 80 characters; must correspond to the root stem of `domain_url`, e.g. 'Acme Cloud')." - added
Input schema / properties / brand_name / maxLengthAdded value: +80 - added
Input schema / properties / brand_name / minLengthAdded value: +2 - changed
Input schema / properties / competitors / descriptionPrevious value: -"Optional list of compared competitors"New value: +"Optional list of competitor names for semantic disambiguation in `disambiguatingDescription` (0 to 15 strings)." - added
Input schema / properties / competitors / maxItemsAdded value: +15 - changed
Input schema / properties / domain_url / descriptionPrevious value: -"Canonical website URL (e.g. https://mimarca.com)"New value: +"Canonical HTTPS website URL for the brand (e.g. 'https://acmecloud.com'). Bound to the license's allowed domain slots." - added
Input schema / properties / domain_url / maxLengthAdded value: +253 - added
Input schema / properties / domain_url / minLengthAdded value: +8 - changed
Input schema / properties / industry_context / descriptionPrevious value: -"Industry category and market positioning"New value: +"Primary industry category, target audience, and market positioning (4 to 240 characters)." - added
Input schema / properties / industry_context / maxLengthAdded value: +240 - added
Input schema / properties / industry_context / minLengthAdded value: +4 - changed
Input schema / properties / lang / descriptionPrevious value: -"Output language: 'es' or 'en'"New value: +"Language for generated `/llms.txt` and `JSON-LD` descriptions: 'en' for English or 'es' for Spanish (defaults to 'es')." - added
Input schema / properties / lang / enumAdded value: +[ + "es", + "en" +] - changed
Input schema / properties / official_facts / descriptionPrevious value: -"Verified ground-truth facts, SLAs, pricing, or certifications"New value: +"Non-empty list of verified ground-truth facts, pricing, certifications, or SLAs (1 to 30 strings; any embedded URLs must belong to `domain_url`)." - added
Input schema / properties / official_facts / maxItemsAdded value: +30 - added
Input schema / properties / official_facts / minItemsAdded value: +1 - changed
Input schema / properties / products_or_services / descriptionPrevious value: -"List of core products, services, or technical capabilities"New value: +"Non-empty list of core products, services, or clinical/technical offerings (1 to 25 strings)." - added
Input schema / properties / products_or_services / maxItemsAdded value: +25 - added
Input schema / properties / products_or_services / minItemsAdded value: +1 - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "ai_catalog_json": { + "description": "JSON payload for `/.well-known/ai-catalog.json`.", + "type": "string" + }, + "brand_name": { + "description": "Canonical brand name.", + "type": "string" + }, + "domain_seal_sha256": { + "description": "64-character hex SHA-256 authenticity seal verifiable at `https://danteix.com/api/mcp/verify-seal`.", + "type": "string" + }, + "domain_url": { + "description": "Normalized HTTPS domain URL.", + "type": "string" + }, + "json_ld_script": { + "description": "HTML `<script type='application/ld+json'>` block.", + "type": "string" + }, + "llms_txt_content": { + "description": "Complete `/llms.txt` markdown manifest for AI crawlers.", + "type": "string" + }, + "robots_txt_snippet": { + "description": "Crawler allow rules for `robots.txt`.", + "type": "string" + } + }, + "type": "object" +}
- Changed
dante.probe_geo_share12 fields changed- changed
Input schema / properties / industry_or_context / descriptionPrevious value: -"Industry category or domain context"New value: +"Category, buyer intent query context, and geographic region (3 to 240 characters, e.g. 'Cloud CRM for mid-market sales teams in the US')." - added
Input schema / properties / industry_or_context / maxLengthAdded value: +240 - added
Input schema / properties / industry_or_context / minLengthAdded value: +3 - changed
Input schema / properties / lang / descriptionPrevious value: -"Language: 'es' or 'en'"New value: +"Prompt and response language: 'en' for English or 'es' for Spanish (defaults to 'es')." - added
Input schema / properties / lang / enumAdded value: +[ + "es", + "en" +] - changed
Input schema / properties / live / descriptionPrevious value: -"Execute live AI Oracle queries"New value: +"Set to true to query live AI models over the network (4-12s latency, requires a paid DANTE_API_KEY; false returns an instant <1s deterministic benchmark)." - changed
Input schema / properties / target_name / descriptionPrevious value: -"Target brand or entity to evaluate across AI Oracles"New value: +"Brand, company, or product name to benchmark across AI answer engines (2 to 120 characters)." - added
Input schema / properties / target_name / maxLengthAdded value: +120 - added
Input schema / properties / target_name / minLengthAdded value: +2 - changed
Input schema / properties / vertical_mode / descriptionPrevious value: -"Vertical mode: 'INTERNAL_PROJECT', 'COMMERCIAL_BRAND', or 'POLITICAL_WAR_ROOM'"New value: +"Domain prompt template selector: 'COMMERCIAL_BRAND' (buyer recommendation prompts), 'INTERNAL_PROJECT' (technical adoption prompts), or 'POLITICAL_WAR_ROOM' (public trust prompts)." - added
Input schema / properties / vertical_mode / enumAdded value: +[ + "COMMERCIAL_BRAND", + "INTERNAL_PROJECT", + "POLITICAL_WAR_ROOM" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "oracle_breakdown": { + "description": "Per-model citation and recommendation verdicts.", + "type": "array" + }, + "som_score": { + "description": "Share of Model ratio formatted to 4 decimal places.", + "type": "string" + }, + "target_name": { + "description": "Evaluated 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": "Primary recommendation win rate across AI engines.", + "type": "string" + } + }, + "type": "object" +}
- Changed
dante.query_street_friction9 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum records to return (1 to 100)"New value: +"Maximum number of matching signal records to return (integer between 1 and 100, defaults to 10)." - added
Input schema / properties / limit / maximumAdded value: +100 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / query / descriptionPrevious value: -"Search keywords (e.g. 'pricing OR support OR latency')"New value: +"Search keywords or boolean expression to match against indexed social and customer signals (2 to 240 chars, e.g. 'pricing OR support OR latency')." - added
Input schema / properties / query / maxLengthAdded value: +240 - added
Input schema / properties / query / minLengthAdded value: +2 - changed
Input schema / properties / voice_filter / descriptionPrevious value: -"Voice filter: 'ALL', 'OWN_VOICE', 'ALLY_ADVERSARY_VOICE', or 'SECTOR_STREET_VOICE'"New value: +"Filter records by source voice category: 'ALL' (every source), 'OWN_VOICE' (official brand channels), 'ALLY_ADVERSARY_VOICE' (competitors/press/affiliates), or 'SECTOR_STREET_VOICE' (organic customers)." - added
Input schema / properties / voice_filter / enumAdded value: +[ + "ALL", + "OWN_VOICE", + "ALLY_ADVERSARY_VOICE", + "SECTOR_STREET_VOICE" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "matched_count": { + "description": "Number of matching records returned.", + "type": "integer" + }, + "query": { + "description": "Executed search query string.", + "type": "string" + }, + "records": { + "description": "List of attested customer signal records with sentiment and bot-risk flags.", + "type": "array" + }, + "tier_mode": { + "description": "Active license tier.", + "type": "string" + }, + "voice_filter": { + "description": "Applied voice category filter.", + "type": "string" + } + }, + "type": "object" +}
- Changed
dante.remediate_hallucination20 fields changed- changed
Input schema / properties / brand_name / descriptionPrevious value: -"Official brand name"New value: +"Official brand or organization name (2 to 80 characters; must align with `domain_url`)." - added
Input schema / properties / brand_name / maxLengthAdded value: +80 - added
Input schema / properties / brand_name / minLengthAdded value: +2 - changed
Input schema / properties / domain_url / descriptionPrevious value: -"Canonical website URL"New value: +"Canonical HTTPS URL of the official brand website where the correction will be published (e.g. 'https://acmecloud.com')." - added
Input schema / properties / domain_url / maxLengthAdded value: +253 - added
Input schema / properties / domain_url / minLengthAdded value: +8 - changed
Input schema / properties / hallucination_claim / descriptionPrevious value: -"The inaccurate or outdated claim made by the AI (10..600 chars)"New value: +"Exact inaccurate, fabricated, or outdated statement currently produced by the AI engine (10 to 600 characters)." - added
Input schema / properties / hallucination_claim / maxLengthAdded value: +600 - added
Input schema / properties / hallucination_claim / minLengthAdded value: +10 - changed
Input schema / properties / lang / descriptionPrevious value: -"Output language: 'es' or 'en'"New value: +"Language for generated `ClaimReview` HTML, `FAQPage JSON-LD`, and verification prompts: 'en' for English or 'es' for Spanish (defaults to 'es')." - added
Input schema / properties / lang / enumAdded value: +[ + "es", + "en" +] - changed
Input schema / properties / source_url_to_counter / descriptionPrevious value: -"Optional stale third-party URL being cited by the AI"New value: +"Optional outdated third-party article or directory URL that the AI assistant is erroneously citing as its source." - added
Input schema / properties / source_url_to_counter / maxLengthAdded value: +500 - changed
Input schema / properties / target_oracle / descriptionPrevious value: -"AI Oracle exhibiting the hallucination (e.g. ChatGPT, Perplexity, Gemini)"New value: +"Name of the AI assistant exhibiting the inaccurate claim (e.g. 'ChatGPT', 'Perplexity', 'Gemini', or 'Claude')." - added
Input schema / properties / target_oracle / maxLengthAdded value: +60 - added
Input schema / properties / target_oracle / minLengthAdded value: +2 - changed
Input schema / properties / verified_fact / descriptionPrevious value: -"The verified official ground-truth fact (10..1200 chars)"New value: +"Authoritative, verifiable ground-truth correction supported by first-party evidence on `domain_url` (10 to 1200 characters)." - added
Input schema / properties / verified_fact / maxLengthAdded value: +1200 - added
Input schema / properties / verified_fact / minLengthAdded value: +10 - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "brand_name": { + "description": "Official brand name.", + "type": "string" + }, + "domain_seal_sha256": { + "description": "64-character hex SHA-256 cryptographic authenticity seal.", + "type": "string" + }, + "faq_json_ld_script": { + "description": "`Schema.org FAQPage` JSON-LD script overriding the false claim.", + "type": "string" + }, + "html_claim_review_snippet": { + "description": "Semantic HTML + microdata `ClaimReview` fact-check block.", + "type": "string" + }, + "markdown_counterweight_block": { + "description": "Markdown correction block for `/llms.txt` and documentation pages.", + "type": "string" + }, + "target_oracle": { + "description": "Target AI engine remediated.", + "type": "string" + }, + "verification_prompts": { + "description": "Follow-up prompts to verify the AI assistant has updated its answer.", + "type": "array" + } + }, + "type": "object" +}
- Changed
dante.run_audit14 fields changed- changed
Input schema / properties / csv_path / descriptionPrevious 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)." - added
Input schema / properties / csv_path / maxLengthAdded value: +260 - changed
Input schema / properties / industry_or_context / descriptionPrevious 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')." - added
Input schema / properties / industry_or_context / maxLengthAdded value: +240 - added
Input schema / properties / industry_or_context / minLengthAdded value: +3 - changed
Input schema / properties / lang / descriptionPrevious value: -"Output language: 'es' or 'en'"New value: +"Report and prompt language code: 'en' for English or 'es' for Spanish (defaults to 'es')." - added
Input schema / properties / lang / enumAdded value: +[ + "es", + "en" +] - changed
Input schema / properties / live_geo / descriptionPrevious 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)." - changed
Input schema / properties / target_name / descriptionPrevious 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')." - added
Input schema / properties / target_name / maxLengthAdded value: +120 - added
Input schema / properties / target_name / minLengthAdded value: +2 - changed
Input schema / properties / vertical_mode / descriptionPrevious 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." - added
Input schema / properties / vertical_mode / enumAdded value: +[ + "COMMERCIAL_BRAND", + "INTERNAL_PROJECT", + "POLITICAL_WAR_ROOM" +] - changed
Output 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" +}
5 tool updates
- First observed
dante.forge_geo_shield - First observed
dante.probe_geo_share - First observed
dante.query_street_friction - First observed
dante.remediate_hallucination - First observed
dante.run_audit
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm55 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1618 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.