Assess AI-discovery readiness, plan visibility fixes, and summarize scan evidence. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Caller-supplied signal observations. Omitted signals are treated as unknown.
The business name used only to label this assessment.
Optional page URL used only as a label. The tool will not fetch this URL.
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.
| Argument | Type | Description |
|---|---|---|
| signals* | array | Caller-supplied signal observations. Omitted signals are treated as unknown. |
| websiteUrl | string | Optional page URL used only as a label. The tool will not fetch this URL. |
| businessName* | string | The business name used only to label this assessment. |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| goal* | string | The outcome used to break ties in the deterministic priority rubric. |
| findings* | array | Caller-supplied findings. Present findings are acknowledged but do not create actions. |
| businessName* | string | |
| effortBudget* | string | Controls how many actions are returned and how they are phased. |
{
"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
}Generate and save reviewable business schema, website copy and a business-profile description from facts the user explicitly confirms. Inspect first, preserve the exact revision, and never invent missing business facts. No model spend, external publication or messages.
| Argument | Type | Description |
|---|---|---|
| facts* | object | |
| revision* | integer | Exact saved revision returned by get_website_fixes; use 0 when no record exists. |
| confirmed* | boolean | |
| businessId* | string | Business id returned by list_monitored_businesses. |
| businessType* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessId",
"revision",
"facts",
"businessType",
"confirmed"
],
"properties": {
"facts": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 300
},
"email": {
"type": "string",
"maxLength": 300
},
"services": {
"type": "string",
"maxLength": 1000
},
"telephone": {
"type": "string",
"maxLength": 300
},
"postalCode": {
"type": "string",
"maxLength": 300
},
"description": {
"type": "string",
"maxLength": 700
},
"openingHours": {
"type": "string",
"maxLength": 300
},
"addressRegion": {
"type": "string",
"maxLength": 300
},
"streetAddress": {
"type": "string",
"maxLength": 300
},
"addressCountry": {
"type": "string",
"maxLength": 300
},
"addressLocality": {
"type": "string",
"maxLength": 300
}
},
"additionalProperties": false
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact saved revision returned by get_website_fixes; use 0 when no record exists."
},
"confirmed": {
"type": "boolean",
"const": true
},
"businessId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Business id returned by list_monitored_businesses."
},
"businessType": {
"enum": [
"LocalBusiness",
"ProfessionalService",
"HomeAndConstructionBusiness",
"Plumber",
"Electrician",
"HVACBusiness",
"RoofingContractor",
"Dentist",
"MedicalBusiness",
"LegalService",
"RealEstateAgent",
"Restaurant",
"LodgingBusiness",
"Store",
"AutoRepair",
"BeautySalon"
],
"type": "string"
}
},
"additionalProperties": false
}Read a business's latest saved AI capture, competitors, source links and up to 30 prior snapshots. Compare scores only when saved model, prompt and capture recipes match and both captures are complete. Reports provider gaps and timestamps. This does not query models or establish current consumer-app inclusion.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| businessId* | string | Business id returned by list_monitored_businesses. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessId"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"businessId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Business id returned by list_monitored_businesses."
}
},
"additionalProperties": false
}Read the current revision, source observations, confirmed facts, proposed schema/copy and installation checks for an owned business. No website is fetched or changed.
| Argument | Type | Description |
|---|---|---|
| businessId* | string | Business id returned by list_monitored_businesses. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessId"
],
"properties": {
"businessId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Business id returned by list_monitored_businesses."
}
},
"additionalProperties": false
}Fetch the saved business website with bounded public HTML requests and save candidate facts with source receipts. Requires a paid or trial monitoring slot and explicit authorization. Pass the exact current revision. Existing draft content is preserved: start a new inspection only before confirming facts. Does not run AI scans or publish anything.
| Argument | Type | Description |
|---|---|---|
| revision* | integer | Exact saved revision returned by get_website_fixes; use 0 when no record exists. |
| businessId* | string | Business id returned by list_monitored_businesses. |
| authorizationAcknowledged* | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessId",
"revision",
"authorizationAcknowledged"
],
"properties": {
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact saved revision returned by get_website_fixes; use 0 when no record exists."
},
"businessId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Business id returned by list_monitored_businesses."
},
"authorizationAcknowledged": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}List businesses owned by your connected MentionedOn account and their monitoring/setup status. Start here when the user asks how their business appears in AI answers. Returns a setup link for an empty account. No scan, subscription or charge is started.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| businessName* | string | |
| observations* | array | Point-in-time captures supplied by the caller. The tool will not obtain new captures. |
{
"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
}Compare saved, reviewed schema and text against a page on the same owned business website. Save dated found/not-found/unknown checks against the exact artifact revision. Requires authorization and an entitled monitoring slot. Installation checks do not prove a visibility improvement.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| revision* | integer | |
| businessId* | string | Business id returned by list_monitored_businesses. |
| authorizationAcknowledged* | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"businessId",
"revision",
"url",
"authorizationAcknowledged"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"businessId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Business id returned by list_monitored_businesses."
},
"authorizationAcknowledged": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}