Public website audits and sourced SEO/AEO content drafts, ready for your review.
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.
Where a Website SEO/AEO audit stands. When it is ready, the full result as text and a link to it on Findable's site.
The id start returned.
Where a Website SEO/AEO audit stands. When it is ready, the full result as text and a link to it on Findable's site.
| Argument | Type | Description |
|---|---|---|
| id* | string | The id start returned. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The id start returned."
}
}
}Create a stored SEO/AEO audit of a public business website without an account or data connection. Accepts optional dated provider reports. Reads the homepage, up to four internal pages, robots.txt, sitemap.xml and up to five relevant competitor websites discovered from public market research or supplied by the client. Samples three unbranded customer questions about the category, a task and a problem through live OpenAI API web searches when available. Newly audited competitors use the same questions and source-check rubric. Recent public research may be reused with its original dates; private client data is excluded from that cache. Returns an audit ID for retrieving progress and the completed report. Tool results omit contact tables, email addresses and phone numbers. Results include sourced findings, exact target URLs, up to three priorities, relevant content drafts, expected impact, realistic review points and measurement steps. The service cannot access other MCP connections, infer private metrics or edit websites. Starts the work and returns an id. It usually takes several minutes.
| Argument | Type | Description |
|---|---|---|
| site* | string | The client's public HTTPS website, such as https://lightsource.ai/. |
| goals | string | The target customer and desired customer action, when known. |
| hosting | string | Where the client publishes the website, such as Framer, Webflow or WordPress. |
| shared_data | array | Optional snapshots collected with the client's permission through their own tools. Snapshots contain report data rather than credentials. The audit can run without them. |
| priority_urls | array | Up to three priority pages on the client's website. These replace the automatic page selection. |
| competitor_urls | array | Optional public competitor websites. Findable checks relevance to the same buyers and market before comparing them. |
| research_competitors | boolean | Whether the public audit includes relevant competitor discovery and comparisons. Defaults to true. |
| refresh_public_research | boolean | Fetch fresh public evidence and analysis even when recent research exists, for example after website changes. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"site"
],
"properties": {
"site": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "The client's public HTTPS website, such as https://lightsource.ai/."
},
"goals": {
"type": "string",
"maxLength": 2000,
"description": "The target customer and desired customer action, when known."
},
"hosting": {
"type": "string",
"maxLength": 100,
"description": "Where the client publishes the website, such as Framer, Webflow or WordPress."
},
"shared_data": {
"type": "array",
"items": {
"type": "object",
"required": [
"provider",
"site",
"property",
"collected_at",
"start_date",
"end_date",
"scope",
"totals",
"rows",
"notes"
],
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"metrics"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2000
},
"label": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value",
"unit",
"definition"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"unit": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"value": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"definition": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
}
},
"maxItems": 8
}
}
},
"maxItems": 50
},
"site": {
"type": "string",
"format": "uri",
"maxLength": 2000,
"description": "The client website this data describes."
},
"notes": {
"type": "string",
"maxLength": 3000,
"description": "Coverage, missing rows, indexing verdicts or citation observations. No credentials or personal customer data."
},
"scope": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "Report, filters, country, device, search type, engine coverage, date completeness, and any unknown scope details."
},
"totals": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value",
"unit",
"definition"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"unit": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"value": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"definition": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
}
},
"maxItems": 12,
"description": "Actual provider-reported totals. Partial query/page rows are not totals. Unknown values are null."
},
"end_date": {
"type": "string",
"format": "date",
"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])))$"
},
"property": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "The selected property, project or domain in that provider."
},
"provider": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Search Console, Semrush, Profound, analytics, or another source."
},
"start_date": {
"type": "string",
"format": "date",
"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])))$"
},
"collected_at": {
"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": "A dated, client-authorized read-only snapshot from their own connected tool or export. Findable does not inherit that connection or independently verify the snapshot."
},
"maxItems": 3,
"description": "Optional snapshots collected with the client's permission through their own tools. Snapshots contain report data rather than credentials. The audit can run without them."
},
"priority_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"maxLength": 2000
},
"maxItems": 3,
"description": "Up to three priority pages on the client's website. These replace the automatic page selection."
},
"competitor_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"maxLength": 2000
},
"maxItems": 5,
"description": "Optional public competitor websites. Findable checks relevance to the same buyers and market before comparing them."
},
"research_competitors": {
"type": "boolean",
"description": "Whether the public audit includes relevant competitor discovery and comparisons. Defaults to true."
},
"refresh_public_research": {
"type": "boolean",
"description": "Fetch fresh public evidence and analysis even when recent research exists, for example after website changes."
}
}
}