MCP-Server

MentionedOn Discovery Evidence Tools

com.mentioned-on/ai-discovery-readiness
Marketing & Werbung Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Scores supplied business discovery signals, prioritizes AI visibility fixes, and summarizes supplied scan evidence.

analyze_discovery_readiness
Analyze AI Discovery Readiness
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessName', 'signals'], 'properties': {'signals': {'type': 'array', 'items': {'type': 'object', 'required': ['signal', 'status'], 'properties': {'signal': {'enum': ['business_identity', 'service_location', 'page_description', 'contact_details', 'structured_data', 'corroborating_profiles', 'crawlability', 'buyer_faq', 'first_party_evidence', 'machine_summary'], 'type': 'string', 'description': 'The discovery-readiness signal being assessed.'}, 'status': {'enum': ['present', 'partial', 'missing', 'unknown'], 'type': 'string', 'description': 'Observed status. Use unknown when the caller has no evidence.'}, 'evidence': {'type': 'string', 'maxLength': 500, 'minLength': 3, 'description': 'Concise caller-supplied evidence supporting the stated status.'}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': 'Caller-supplied signal observations. Omitted signals are treated as unknown.'}, 'websiteUrl': {'type': 'string', 'format': 'uri', 'maxLength': 2048, 'description': 'Optional page URL used only as a label. The tool will not fetch this URL.'}, 'businessName': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'The business name used only to label this assessment.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scope', 'businessName', 'websiteUrl', 'readinessScore', 'assessment', 'evidenceCoveragePercent', 'evaluatedSignals', 'priorities', 'verificationNeeded', 'limitations'], 'properties': {'scope': {'type': 'string', 'const': 'caller_supplied_signals_only'}, 'assessment': {'enum': ['strong_observed', 'developing_observed', 'limited_observed', 'weak_observed', 'insufficient_evidence'], 'type': 'string'}, 'priorities': {'type': 'array', 'items': {'type': 'object', 'required': ['signal', 'title', 'status', 'impactWeight', 'action', 'verification'], 'properties': {'title': {'type': 'string'}, 'action': {'type': 'string'}, 'signal': {'enum': ['business_identity', 'service_location', 'page_description', 'contact_details', 'structured_data', 'corroborating_profiles', 'crawlability', 'buyer_faq', 'first_party_evidence', 'machine_summary'], 'type': 'string'}, 'status': {'enum': ['partial', 'missing'], 'type': 'string'}, 'impactWeight': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'verification': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 5}, 'websiteUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'businessName': {'type': 'string'}, 'readinessScore': {'anyOf': [{'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'evaluatedSignals': {'type': 'array', 'items': {'type': 'object', 'required': ['signal', 'title', 'status', 'weight', 'evidence'], 'properties': {'title': {'type': 'string'}, 'signal': {'enum': ['business_identity', 'service_location', 'page_description', 'contact_details', 'structured_data', 'corroborating_profiles', 'crawlability', 'buyer_faq', 'first_party_evidence', 'machine_summary'], 'type': 'string'}, 'status': {'enum': ['present', 'partial', 'missing', 'unknown'], 'type': 'string'}, 'weight': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'evidence': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 10}, 'verificationNeeded': {'type': 'array', 'items': {'type': 'object', 'required': ['signal', 'title', 'verification'], 'properties': {'title': {'type': 'string'}, 'signal': {'enum': ['business_identity', 'service_location', 'page_description', 'contact_details', 'structured_data', 'corroborating_profiles', 'crawlability', 'buyer_faq', 'first_party_evidence', 'machine_summary'], 'type': 'string'}, 'verification': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 10}, 'evidenceCoveragePercent': {'type': 'number', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}
build_visibility_action_plan
Build an AI Visibility Action Plan
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessName', 'goal', 'effortBudget', 'findings'], 'properties': {'goal': {'enum': ['improve_discovery_clarity', 'strengthen_citation_evidence', 'prepare_for_monitoring'], 'type': 'string', 'description': 'The outcome used to break ties in the deterministic priority rubric.'}, 'findings': {'type': 'array', 'items': {'type': 'object', 'required': ['signal', 'status'], 'properties': {'signal': {'enum': ['business_identity', 'service_location', 'page_description', 'contact_details', 'structured_data', 'corroborating_profiles', 'crawlability', 'buyer_faq', 'first_party_evidence', 'machine_summary'], 'type': 'string', 'description': 'The discovery-readiness signal being assessed.'}, 'status': {'enum': ['present', 'partial', 'missing', 'unknown'], 'type': 'string', 'description': 'Observed status. Use unknown when the caller has no evidence.'}, 'evidence': {'type': 'string', 'maxLength': 500, 'minLength': 3, 'description': 'Concise caller-supplied evidence supporting the stated status.'}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': 'Caller-supplied findings. Present findings are acknowledged but do not create actions.'}, 'businessName': {'type': 'string', 'maxLength': 120, 'minLength': 2}, 'effortBudget': {'enum': ['lean', 'balanced', 'comprehensive'], 'type': 'string', 'description': 'Controls how many actions are returned and how they are phased.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scope', 'businessName', 'goal', 'goalLabel', 'effortBudget', 'actions', 'omittedActionCount', 'excludedPresentSignals', 'limitations'], 'properties': {'goal': {'enum': ['improve_discovery_clarity', 'strengthen_citation_evidence', 'prepare_for_monitoring'], 'type': 'string'}, 'scope': {'type': 'string', 'const': 'caller_supplied_findings_only'}, 'actions': {'type': 'array', 'items': {'type': 'object', 'required': ['rank', 'phase', 'signal', 'title', 'status', 'effort', 'priorityScore', 'suppliedEvidence', 'action', 'verification'], 'properties': {'rank': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'phase': {'enum': ['now', 'next', 'later'], 'type': 'string'}, 'title': {'type': 'string'}, 'action': {'type': 'string'}, 'effort': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'signal': {'enum': ['business_identity', 'service_location', 'page_description', 'contact_details', 'structured_data', 'corroborating_profiles', 'crawlability', 'buyer_faq', 'first_party_evidence', 'machine_summary'], 'type': 'string'}, 'status': {'enum': ['partial', 'missing', 'unknown'], 'type': 'string'}, 'verification': {'type': 'string'}, 'priorityScore': {'type': 'number', 'minimum': 0}, 'suppliedEvidence': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 10}, 'goalLabel': {'type': 'string'}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'businessName': {'type': 'string'}, 'effortBudget': {'enum': ['lean', 'balanced', 'comprehensive'], 'type': 'string'}, 'omittedActionCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'excludedPresentSignals': {'type': 'array', 'items': {'enum': ['business_identity', 'service_location', 'page_description', 'contact_details', 'structured_data', 'corroborating_profiles', 'crawlability', 'buyer_faq', 'first_party_evidence', 'machine_summary'], 'type': 'string'}}}, 'additionalProperties': False}
summarize_scan_evidence
Summarize AI Scan Evidence
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.
Nur Lesen
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['businessName', 'observations'], 'properties': {'businessName': {'type': 'string', 'maxLength': 120, 'minLength': 2}, 'observations': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['sourceLabel', 'surfaceType', 'prompt', 'observedAt', 'status', 'businessMentioned'], 'properties': {'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'status': {'type': 'string', 'const': 'completed'}, 'position': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'sentiment': {'enum': ['positive', 'neutral', 'negative', 'mixed', 'not_scored'], 'type': 'string'}, '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.'}, 'sourceLabel': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Caller-supplied label for the model, product, or source.'}, 'surfaceType': {'enum': ['model_api_capture', 'consumer_app_capture', 'search_ai_capture', 'other'], 'type': 'string', 'description': 'How the caller obtained this capture.'}, 'businessMentioned': {'type': 'boolean'}, 'businessCitationUrls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'default': [], 'maxItems': 10, 'description': 'URLs that the caller identified as citations specifically for the named business.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['sourceLabel', 'surfaceType', 'prompt', 'observedAt', 'status', 'reason'], 'properties': {'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'reason': {'type': 'string', 'maxLength': 500, 'minLength': 3}, 'status': {'enum': ['error', 'skipped'], 'type': 'string'}, '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.'}, 'sourceLabel': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Caller-supplied label for the model, product, or source.'}, 'surfaceType': {'enum': ['model_api_capture', 'consumer_app_capture', 'search_ai_capture', 'other'], 'type': 'string', 'description': 'How the caller obtained this capture.'}}, 'additionalProperties': False}]}, 'maxItems': 50, 'minItems': 1, 'description': 'Point-in-time captures supplied by the caller. The tool will not obtain new captures.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scope', 'businessName', 'establishesLiveInclusion', 'observationCount', 'completedCount', 'unavailableCount', 'mentionCount', 'businessCitationCount', 'mentionRatePercent', 'businessCitationRatePercent', 'observedAtRange', 'uniqueBusinessCitationHosts', 'sentimentBreakdown', 'bySource', 'unavailable', 'evidenceStatements', 'limitations'], 'properties': {'scope': {'type': 'string', 'const': 'caller_supplied_captures_only'}, 'bySource': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceLabel', 'completedCount', 'unavailableCount', 'mentionCount', 'businessCitationCount', 'mentionRatePercent', 'businessCitationRatePercent'], 'properties': {'sourceLabel': {'type': 'string'}, 'mentionCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'completedCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'unavailableCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'mentionRatePercent': {'anyOf': [{'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'businessCitationCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'businessCitationRatePercent': {'anyOf': [{'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'unavailable': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceLabel', 'surfaceType', 'prompt', 'observedAt', 'status', 'reason'], 'properties': {'prompt': {'type': 'string'}, 'reason': {'type': 'string'}, 'status': {'enum': ['error', 'skipped'], 'type': 'string'}, 'observedAt': {'type': 'string'}, 'sourceLabel': {'type': 'string'}, 'surfaceType': {'enum': ['model_api_capture', 'consumer_app_capture', 'search_ai_capture', 'other'], 'type': 'string'}}, 'additionalProperties': False}}, 'businessName': {'type': 'string'}, 'mentionCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'completedCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'observedAtRange': {'anyOf': [{'type': 'object', 'required': ['earliest', 'latest'], 'properties': {'latest': {'type': 'string'}, 'earliest': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'observationCount': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'unavailableCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'evidenceStatements': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'mentionRatePercent': {'anyOf': [{'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'sentimentBreakdown': {'type': 'object', 'required': ['positive', 'neutral', 'negative', 'mixed', 'notScored'], 'properties': {'mixed': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'neutral': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'negative': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'positive': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'notScored': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'businessCitationCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'establishesLiveInclusion': {'type': 'boolean', 'const': False}, 'businessCitationRatePercent': {'anyOf': [{'type': 'number', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'uniqueBusinessCitationHosts': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Hinzugefügt
summarize_scan_evidence
23. September 2026 02:40
Hinzugefügt
build_visibility_action_plan
23. September 2026 02:40
Hinzugefügt
analyze_discovery_readiness
23. September 2026 02:40