MentionedOn Discovery Evidence Tools

Assess AI-discovery readiness, plan visibility fixes, and summarize scan evidence. Read-only.

Rate this Server

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ai-discovery-readiness": {
      "url": "https://mentioned-on.com/mcp"
    }
  }
}

Remote endpoints

https://mentioned-on.com/mcpstreamable-http

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢analyze_discovery_readiness(businessName, websiteUrl, signals)

Score caller-supplied website and business discovery signals. This tool does not fetch the website, run an AI scan, persist data, or verify inclusion in any AI product.

Input Schema

{
  "type": "object",
  "properties": {
    "businessName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "The business name used only to label this assessment."
    },
    "websiteUrl": {
      "description": "Optional page URL used only as a label. The tool will not fetch this URL.",
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "signals": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "signal": {
            "type": "string",
            "enum": [
              "business_identity",
              "service_location",
              "page_description",
              "contact_details",
              "structured_data",
              "corroborating_profiles",
              "crawlability",
              "buyer_faq",
              "first_party_evidence",
              "machine_summary"
            ],
            "description": "The discovery-readiness signal being assessed."
          },
          "status": {
            "type": "string",
            "enum": [
              "present",
              "partial",
              "missing",
              "unknown"
            ],
            "description": "Observed status. Use unknown when the caller has no evidence."
          },
          "evidence": {
            "type": "string",
            "minLength": 3,
            "maxLength": 500,
            "description": "Concise caller-supplied evidence supporting the stated status."
          }
        },
        "required": [
          "signal",
          "status"
        ],
        "additionalProperties": false
      },
      "description": "Caller-supplied signal observations. Omitted signals are treated as unknown."
    }
  },
  "required": [
    "businessName",
    "signals"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "const": "caller_supplied_signals_only"
    },
    "businessName": {
      "type": "string"
    },
    "websiteUrl": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "readinessScore": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        {
          "type": "null"
        }
      ]
    },
    "assessment": {
      "type": "string",
      "enum": [
        "strong_observed",
        "developing_observed",
        "limited_observed",
        "weak_observed",
        "insufficient_evidence"
      ]
    },
    "evidenceCoveragePercent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "evaluatedSignals": {
      "minItems": 10,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "signal": {
            "type": "string",
            "enum": [
              "business_identity",
              "service_location",
              "page_description",
              "contact_details",
              "structured_data",
              "corroborating_profiles",
              "crawlability",
              "buyer_faq",
              "first_party_evidence",
              "machine_summary"
            ]
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "present",
              "partial",
              "missing",
              "unknown"
            ]
          },
          "weight": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "evidence": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "signal",
          "title",
          "status",
          "weight",
          "evidence"
        ],
        "additionalProperties": false
      }
    },
    "priorities": {
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "signal": {
            "type": "string",
            "enum": [
              "business_identity",
              "service_location",
              "page_description",
              "contact_details",
              "structured_data",
              "corroborating_profiles",
              "crawlability",
              "buyer_faq",
              "first_party_evidence",
              "machine_summary"
            ]
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "partial",
              "missing"
            ]
          },
          "impactWeight": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "action": {
            "type": "string"
          },
          "verification": {
            "type": "string"
          }
        },
        "required": [
          "signal",
          "title",
          "status",
          "impactWeight",
          "action",
          "verification"
        ],
        "additionalProperties": false
      }
    },
    "verificationNeeded": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "signal": {
            "type": "string",
            "enum": [
              "business_identity",
              "service_location",
              "page_description",
              "contact_details",
              "structured_data",
              "corroborating_profiles",
              "crawlability",
              "buyer_faq",
              "first_party_evidence",
              "machine_summary"
            ]
          },
          "title": {
            "type": "string"
          },
          "verification": {
            "type": "string"
          }
        },
        "required": [
          "signal",
          "title",
          "verification"
        ],
        "additionalProperties": false
      }
    },
    "limitations": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "scope",
    "businessName",
    "websiteUrl",
    "readinessScore",
    "assessment",
    "evidenceCoveragePercent",
    "evaluatedSignals",
    "priorities",
    "verificationNeeded",
    "limitations"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢build_visibility_action_plan(businessName, goal, effortBudget, findings)

Prioritize fixes from caller-supplied findings using a deterministic rubric. This tool does not edit a website, contact third parties, persist data, or promise rankings or mentions.

Input Schema

{
  "type": "object",
  "properties": {
    "businessName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120
    },
    "goal": {
      "type": "string",
      "enum": [
        "improve_discovery_clarity",
        "strengthen_citation_evidence",
        "prepare_for_monitoring"
      ],
      "description": "The outcome used to break ties in the deterministic priority rubric."
    },
    "effortBudget": {
      "type": "string",
      "enum": [
        "lean",
        "balanced",
        "comprehensive"
      ],
      "description": "Controls how many actions are returned and how they are phased."
    },
    "findings": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "signal": {
            "type": "string",
            "enum": [
              "business_identity",
              "service_location",
              "page_description",
              "contact_details",
              "structured_data",
              "corroborating_profiles",
              "crawlability",
              "buyer_faq",
              "first_party_evidence",
              "machine_summary"
            ],
            "description": "The discovery-readiness signal being assessed."
          },
          "status": {
            "type": "string",
            "enum": [
              "present",
              "partial",
              "missing",
              "unknown"
            ],
            "description": "Observed status. Use unknown when the caller has no evidence."
          },
          "evidence": {
            "type": "string",
            "minLength": 3,
            "maxLength": 500,
            "description": "Concise caller-supplied evidence supporting the stated status."
          }
        },
        "required": [
          "signal",
          "status"
        ],
        "additionalProperties": false
      },
      "description": "Caller-supplied findings. Present findings are acknowledged but do not create actions."
    }
  },
  "required": [
    "businessName",
    "goal",
    "effortBudget",
    "findings"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "const": "caller_supplied_findings_only"
    },
    "businessName": {
      "type": "string"
    },
    "goal": {
      "type": "string",
      "enum": [
        "improve_discovery_clarity",
        "strengthen_citation_evidence",
        "prepare_for_monitoring"
      ]
    },
    "goalLabel": {
      "type": "string"
    },
    "effortBudget": {
      "type": "string",
      "enum": [
        "lean",
        "balanced",
        "comprehensive"
      ]
    },
    "actions": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "phase": {
            "type": "string",
            "enum": [
              "now",
              "next",
              "later"
            ]
          },
          "signal": {
            "type": "string",
            "enum": [
              "business_identity",
              "service_location",
              "page_description",
              "contact_details",
              "structured_data",
              "corroborating_profiles",
              "crawlability",
              "buyer_faq",
              "first_party_evidence",
              "machine_summary"
            ]
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "partial",
              "missing",
              "unknown"
            ]
          },
          "effort": {
            "type": "string",
            "enum": [
              "low",
              "medium",
              "high"
            ]
          },
          "priorityScore": {
            "type": "number",
            "minimum": 0
          },
          "suppliedEvidence": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "action": {
            "type": "string"
          },
          "verification": {
            "type": "string"
          }
        },
        "required": [
          "rank",
          "phase",
          "signal",
          "title",
          "status",
          "effort",
          "priorityScore",
          "suppliedEvidence",
          "action",
          "verification"
        ],
        "additionalProperties": false
      }
    },
    "omittedActionCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "excludedPresentSignals": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "business_identity",
          "service_location",
          "page_description",
          "contact_details",
          "structured_data",
          "corroborating_profiles",
          "crawlability",
          "buyer_faq",
          "first_party_evidence",
          "machine_summary"
        ]
      }
    },
    "limitations": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "scope",
    "businessName",
    "goal",
    "goalLabel",
    "effortBudget",
    "actions",
    "omittedActionCount",
    "excludedPresentSignals",
    "limitations"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢summarize_scan_evidence(businessName, observations)

Calculate mention and business-citation rates from caller-supplied captures. This tool does not call AI providers, fetch URLs, persist data, or establish current inclusion beyond the supplied observations.

Input Schema

{
  "type": "object",
  "properties": {
    "businessName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120
    },
    "observations": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "sourceLabel": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "description": "Caller-supplied label for the model, product, or source."
              },
              "surfaceType": {
                "type": "string",
                "enum": [
                  "model_api_capture",
                  "consumer_app_capture",
                  "search_ai_capture",
                  "other"
                ],
                "description": "How the caller obtained this capture."
              },
              "prompt": {
                "type": "string",
                "minLength": 3,
                "maxLength": 1000
              },
              "observedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "description": "ISO 8601 timestamp for the supplied capture."
              },
              "status": {
                "type": "string",
                "const": "completed"
              },
              "businessMentioned": {
                "type": "boolean"
              },
              "businessCitationUrls": {
                "default": [],
                "description": "URLs that the caller identified as citations specifically for the named business.",
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 2048,
                  "format": "uri"
                }
              },
              "position": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "sentiment": {
                "type": "string",
                "enum": [
                  "positive",
                  "neutral",
                  "negative",
                  "mixed",
                  "not_scored"
                ]
              }
            },
            "required": [
              "sourceLabel",
              "surfaceType",
              "prompt",
              "observedAt",
              "status",
              "businessMentioned"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "sourceLabel": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "description": "Caller-supplied label for the model, product, or source."
              },
              "surfaceType": {
                "type": "string",
                "enum": [
                  "model_api_capture",
                  "consumer_app_capture",
                  "search_ai_capture",
                  "other"
                ],
                "description": "How the caller obtained this capture."
              },
              "prompt": {
                "type": "string",
                "minLength": 3,
                "maxLength": 1000
              },
              "observedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                "description": "ISO 8601 timestamp for the supplied capture."
              },
              "status": {
                "type": "string",
                "enum": [
                  "error",
                  "skipped"
                ]
              },
              "reason": {
                "type": "string",
                "minLength": 3,
                "maxLength": 500
              }
            },
            "required": [
              "sourceLabel",
              "surfaceType",
              "prompt",
              "observedAt",
              "status",
              "reason"
            ],
            "additionalProperties": false
          }
        ]
      },
      "description": "Point-in-time captures supplied by the caller. The tool will not obtain new captures."
    }
  },
  "required": [
    "businessName",
    "observations"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "scope": {
      "type": "string",
      "const": "caller_supplied_captures_only"
    },
    "businessName": {
      "type": "string"
    },
    "establishesLiveInclusion": {
      "type": "boolean",
      "const": false
    },
    "observationCount": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "completedCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "unavailableCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "mentionCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "businessCitationCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "mentionRatePercent": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        {
          "type": "null"
        }
      ]
    },
    "businessCitationRatePercent": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        {
          "type": "null"
        }
      ]
    },
    "observedAtRange": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "earliest": {
              "type": "string"
            },
            "latest": {
              "type": "string"
            }
          },
          "required": [
            "earliest",
            "latest"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "uniqueBusinessCitationHosts": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "sentimentBreakdown": {
      "type": "object",
      "properties": {
        "positive": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "neutral": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "negative": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "mixed": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "notScored": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "positive",
        "neutral",
        "negative",
        "mixed",
        "notScored"
      ],
      "additionalProperties": false
    },
    "bySource": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sourceLabel": {
            "type": "string"
          },
          "completedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "unavailableCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "mentionCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "businessCitationCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "mentionRatePercent": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          },
          "businessCitationRatePercent": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "sourceLabel",
          "completedCount",
          "unavailableCount",
          "mentionCount",
          "businessCitationCount",
          "mentionRatePercent",
          "businessCitationRatePercent"
        ],
        "additionalProperties": false
      }
    },
    "unavailable": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sourceLabel": {
            "type": "string"
          },
          "surfaceType": {
            "type": "string",
            "enum": [
              "model_api_capture",
              "consumer_app_capture",
              "search_ai_capture",
              "other"
            ]
          },
          "prompt": {
            "type": "string"
          },
          "observedAt": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "error",
              "skipped"
            ]
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "sourceLabel",
          "surfaceType",
          "prompt",
          "observedAt",
          "status",
          "reason"
        ],
        "additionalProperties": false
      }
    },
    "evidenceStatements": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "limitations": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "scope",
    "businessName",
    "establishesLiveInclusion",
    "observationCount",
    "completedCount",
    "unavailableCount",
    "mentionCount",
    "businessCitationCount",
    "mentionRatePercent",
    "businessCitationRatePercent",
    "observedAtRange",
    "uniqueBusinessCitationHosts",
    "sentimentBreakdown",
    "bySource",
    "unavailable",
    "evidenceStatements",
    "limitations"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Recent observations

verifiedversion not recorded3 tools