IMPORTANT ASYNCHRONOUS TASK WORKFLOW
- Call this MCP generation tool once and read taskId from structuredContent.
- Do not call generation again while pending or running.
- Query nexscope_media_task_result with this skill slug, the exact taskId, and the same bearer credential using progressive backoff.
Pages Websites
Website Audit Summary
Website audit summary with explicit observation scope and missing evidence.
nexscope_website_audit_summaryhttps://api.nexscope.ai/mcptools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize 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": {
"target": "example.com"
}
}
}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
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
data | any | required | Data value used by this API operation. |
msg | string | null | required | Msg value used by this API operation. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
traceId | string | null | required | Trace id value used by this API operation. |
ts | string | required | Epoch milliseconds. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
One of option 1 — requires callId, status, result
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.callId | string | required | 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 | null | optional | Coverage value used by this API operation. |
data.requestedAt | string | integer | null | optional | Requested at value used by this API operation. |
data.result | any | required | Result value used by this API operation. |
data.schemaVersion | string | optional | Schema version value used by this API operation. |
data.source | string | optional | Source value used by this API operation. |
data.status | string | required | Status value used by this API operation. |
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. |
Any of option 1 — requires source, coverage, items, missingFields, warnings
| Name | Type | Required | Description |
|---|---|---|---|
data.result | object | 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. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data.result | null | required | Result value used by this API operation. |
One of option 2 — requires callId, status, reason, retryable
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.callId | string | null | required | Call id value used by this API operation. |
data.reason | string | required | Reason value used by this API operation. |
data.retryable | boolean | required | Retryable value used by this API operation. |
data.status | string | required | Status value used by this API operation. |
data.taskId | string | null | optional | Task id value used by this API operation. |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Examples
Example arguments
{
"target": "example.com"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {
"callId": "00000000-0000-4000-8000-000000000001",
"reason": "IN_PROGRESS",
"retryable": false,
"status": "PROCESSING"
},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}