Pages Websites
Website Audit Summary MCP
Get an SEO audit summary of a website, with issues found during a crawl. Call the Website Audit Summary API via REST or MCP to automate SEO research.
Website Audit Summary AI Prompts & Use Cases
After connecting this MCP tool to your AI assistant, you can ask the questions below. Replace bracketed placeholders with your own inputs and use the supported values in Arguments.
New to Nexscope MCP? Follow the connection guide, then use the prompts below. The Integration and Parameters & Response tabs contain the connection steps, call example, and technical reference.
1. Review A Website Audit Summary
Prompt: Run the base website audit for [domain]. Summarize observed crawl issues and preserve the crawl scope and any missing evidence; do not claim every page was checked.
2. Request An Enriched Website Audit
Prompt: Run the enriched website audit for [domain]. Show the returned additional evidence and missing fields while keeping the crawl limits explicit.
3. Prioritize Observed Website Issues
Prompt: Run the base website audit for [domain]. Summarize observed crawl issues and preserve the crawl scope and any missing evidence; do not claim every page was checked. Separate broken links and resources, non-indexable pages, duplicate titles, descriptions and content counts. Use them to plan investigation, retaining crawl dates and pages crawled; do not add overlapping issue counts into a unique affected-page total.
What You Need to Provide
A submitted task is not a completed result. Keep its reference and check completion before summarizing output; do not create duplicate jobs.
Missing values are not zero. Interpret only returned evidence within its observation period and sample scope.
Step 1 · Connect
Connect Your AI Assistant
Connect a compatible MCP client to Nexscope, then select this tool from your assistant. Use the connection settings in your client to complete authentication.
POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/jsonAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxUsing an API key? Get your key from API Access and include it in the Authorization header shown above.
Call this MCP tool
nexscope_website_audit_summaryhttps://api.nexscope.ai/mcptools/callInitialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "website-audit-summary-1",
"method": "tools/call",
"params": {
"name": "nexscope_website_audit_summary",
"arguments": {
"profile": "BASE",
"target": "nexscope.ai"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Asynchronous task workflow
- 1. Create once
Keep the returned taskId.
- 2. Query with backoff
Use nexscope_media_task_result after 5 seconds, then 10, 20, and 30 seconds.
- 3. Use final result
Stop at success, failure, or timeout.
{
"jsonrpc": "2.0",
"id": "website-audit-summary-result-1",
"method": "tools/call",
"params": {
"name": "nexscope_media_task_result",
"arguments": {
"skillSlug": "website-audit-summary",
"taskId": "TASK_ID_FROM_THE_GENERATION_RESULT"
}
}
}Arguments
| Name | Type | Required | Description |
|---|---|---|---|
profile | string | optional | - |
target | string | required | - |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 is a successful envelope; inspect data.status separately. Allowed: 0, 42008, 42009 |
cost | string | required | Elapsed processing milliseconds; not price. -1 for non-web context. |
data | object | required | Data value used by this API operation. |
data.callId | string | null | optional | Call id value used by this API operation. |
data.completedAt | string | integer | null | optional | Completed at value used by this API operation. |
data.coverage | object | optional | Coverage value used by this API operation. |
data.coverage.missing | array | optional | Missing value used by this API operation. |
data.coverage.missing[] | object | required | Item in data coverage missing. |
data.coverage.missing[].field | string | optional | Field value used by this API operation. |
data.coverage.missing[].reason | string | optional | Reason value used by this API operation. |
data.coverage.status | string | optional | Status value used by this API operation. |
data.requestedAt | string | integer | null | optional | Requested at value used by this API operation. |
data.result | object | null | required | Result value used by this API operation. |
data.result.coverage | object | required | Coverage value used by this API operation. |
data.result.coverage.invalidItemCount | integer | required | Invalid item count value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.coverage.limit | integer | required | Limit value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.coverage.maxCrawlPages | integer | null | required | Max crawl pages value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.coverage.offset | integer | required | Offset value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.coverage.pagesCrawled | integer | null | required | Pages crawled value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.coverage.providerTotal | integer | null | required | Provider total value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.coverage.returnedCount | integer | required | Returned count value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.coverage.sampled | boolean | required | Sampled value used by this API operation. Constant: true |
data.result.coverage.stopReason | string | null | required | Stop reason value used by this API operation. |
data.result.coverage.truncated | boolean | required | Truncated value used by this API operation. |
data.result.items | array | required | Items value used by this API operation. Maximum items: 1 |
data.result.items[] | object | required | Item in data result items. |
data.result.items[].brokenLinks | integer | null | required | Broken links value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].brokenResources | integer | null | required | Broken resources value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].crawlEndedAt | integer | null | required | Crawl ended at value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].crawlStartedAt | integer | null | required | Crawl started at value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].duplicateContents | integer | null | required | Duplicate contents value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].duplicateDescriptions | integer | null | required | Duplicate descriptions value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].duplicateTitles | integer | null | required | Duplicate titles value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].externalLinks | integer | null | required | External links value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].internalLinks | integer | null | required | Internal links value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].nonIndexable | integer | null | required | Non indexable value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].onpageScore | number | null | required | Onpage score value used by this API operation. Minimum: 0 Maximum: 100 |
data.result.items[].pagesCrawled | integer | null | required | Pages crawled value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.items[].profile | string | required | Profile value used by this API operation. Allowed: BASE, ENRICHED |
data.result.items[].stopReason | string | null | required | Stop reason value used by this API operation. |
data.result.items[].target | string | required | Target value used by this API operation. |
data.result.missingFields | array | required | Missing fields value used by this API operation. Maximum items: 10000 |
data.result.missingFields[] | object | required | Item in data result missingFields. |
data.result.missingFields[].field | string | required | Field value used by this API operation. |
data.result.missingFields[].reason | string | required | Reason value used by this API operation. |
data.result.source | object | required | Source value used by this API operation. |
data.result.source.candidateId | string | required | Candidate id value used by this API operation. Constant: MD-PW-02 |
data.result.source.collectedAt | integer | null | required | Collected at value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.source.observationKind | string | required | Observation kind value used by this API operation. Constant: CRAWL_SAMPLE |
data.result.source.product | string | required | Product value used by this API operation. Constant: on_page |
data.result.source.provider | string | required | Provider value used by this API operation. Constant: DATAFORSEO |
data.result.source.queriedAt | integer | required | Queried at value used by this API operation. Minimum: 0 Maximum: 9007199254740991 |
data.result.source.sourceCallId | string | null | required | Source call id value used by this API operation. |
data.result.source.sourcePlanVersion | string | null | required | Source plan version value used by this API operation. |
data.result.source.sourceSchemaVersion | string | null | required | Source schema version value used by this API operation. |
data.result.warnings | array | required | Warnings value used by this API operation. Maximum items: 1000 |
data.result.warnings[] | string | required | Item in data result warnings. |
data.schemaVersion | string | null | optional | Schema version value used by this API operation. |
data.source | string | null | optional | Source value used by this API operation. |
data.status | string | optional | Status value used by this API operation. Allowed: SUCCESS, PARTIAL, EMPTY, PROCESSING, UNKNOWN, FAILED |
data.usage | object | null | optional | Usage value used by this API operation. |
data.usage.billingStatus | string | null | optional | Billing status value used by this API operation. |
data.usage.chargedCredits | string | integer | null | optional | Charged credits value used by this API operation. |
msg | string | null | required | Available upstream msg/errmsg/message is preferred for success and failure; Chinese is translated to English. Missing successful message is null. Platform-only errors and task states use platform English. Message text never determines success or retry. |
time | string | required | yyyy-MM-dd HH:mm:ss |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds; global long serializer. |
Format Illustration
Illustrative example with fictional data, not a live tool call.
Illustrative Question
Run the base website audit for example.com. Summarize observed crawl issues and preserve the crawl scope and any missing evidence; do not claim every page was checked.
Illustrative Response Explanation
The illustrative base audit crawls 10 pages and reports two broken links and one non-indexable page. The counts describe this crawl sample, not the entire website.
About this sample: Illustrative example with fictional data, not a live tool call. Reserved example domains and references demonstrate the format and cannot be used as proof of current results. Null fields remain unavailable, not zero.
Published sample data is not available for this page. A format illustration or workflow guide is not a substitute for a published result.
View the MCP Request & Response Format
Examples
Illustrative example with fictional data, not a live tool call.
The JSON-RPC envelope below illustrates how the shown arguments and payload fit into MCP. It is not captured network traffic or proof of a successful call. Workflow-only examples do not include a result.
MCP Request
{
"jsonrpc": "2.0",
"id": "website-audit-summary-example",
"method": "tools/call",
"params": {
"name": "nexscope_website_audit_summary",
"arguments": {
"profile": "BASE",
"target": "example.com"
}
}
}MCP Response Format
{
"jsonrpc": "2.0",
"id": "website-audit-summary-example",
"result": {
"content": [
{
"type": "text",
"text": "{\"code\":0,\"cost\":\"-1\",\"data\":{\"callId\":\"00000000-0000-4000-8000-000000000001\",\"completedAt\":\"1767225601000\",\"coverage\":{\"missing\":[],\"status\":\"PARTIAL\"},\"requestedAt\":\"1767225600000\",\"result\":{\"coverage\":{\"invalidItemCount\":0,\"limit\":0,\"maxCrawlPages\":null,\"offset\":0,\"pagesCrawled\":null,\"providerTotal\":null,\"returnedCount\":0,\"sampled\":true,\"stopReason\":null,\"truncated\":false},\"items\":[{\"brokenLinks\":2,\"brokenResources\":null,\"crawlEndedAt\":null,\"crawlStartedAt\":null,\"duplicateContents\":null,\"duplicateDescriptions\":null,\"duplicateTitles\":null,\"externalLinks\":null,\"internalLinks\":null,\"nonIndexable\":1,\"onpageScore\":null,\"pagesCrawled\":10,\"profile\":\"BASE\",\"stopReason\":null,\"target\":\"example.com\"}],\"missingFields\":[],\"source\":{\"candidateId\":\"MD-PW-02\",\"collectedAt\":null,\"observationKind\":\"CRAWL_SAMPLE\",\"product\":\"on_page\",\"provider\":\"DATAFORSEO\",\"queriedAt\":0,\"sourceCallId\":null,\"sourcePlanVersion\":null,\"sourceSchemaVersion\":null},\"warnings\":[]},\"schemaVersion\":\"1.0\",\"source\":\"dataforseo\",\"status\":\"PARTIAL\",\"usage\":null},\"msg\":null,\"time\":\"2026-01-01 00:00:01\",\"traceId\":null,\"ts\":\"1767225601000\"}"
}
],
"structuredContent": {
"code": 0,
"cost": "-1",
"data": {
"callId": "00000000-0000-4000-8000-000000000001",
"completedAt": "1767225601000",
"coverage": {
"missing": [],
"status": "PARTIAL"
},
"requestedAt": "1767225600000",
"result": {
"coverage": {
"invalidItemCount": 0,
"limit": 0,
"maxCrawlPages": null,
"offset": 0,
"pagesCrawled": null,
"providerTotal": null,
"returnedCount": 0,
"sampled": true,
"stopReason": null,
"truncated": false
},
"items": [
{
"brokenLinks": 2,
"brokenResources": null,
"crawlEndedAt": null,
"crawlStartedAt": null,
"duplicateContents": null,
"duplicateDescriptions": null,
"duplicateTitles": null,
"externalLinks": null,
"internalLinks": null,
"nonIndexable": 1,
"onpageScore": null,
"pagesCrawled": 10,
"profile": "BASE",
"stopReason": null,
"target": "example.com"
}
],
"missingFields": [],
"source": {
"candidateId": "MD-PW-02",
"collectedAt": null,
"observationKind": "CRAWL_SAMPLE",
"product": "on_page",
"provider": "DATAFORSEO",
"queriedAt": 0,
"sourceCallId": null,
"sourcePlanVersion": null,
"sourceSchemaVersion": null
},
"warnings": []
},
"schemaVersion": "1.0",
"source": "dataforseo",
"status": "PARTIAL",
"usage": null
},
"msg": null,
"time": "2026-01-01 00:00:01",
"traceId": null,
"ts": "1767225601000"
},
"isError": false
}
}