Nexscope

IMPORTANT ASYNCHRONOUS TASK WORKFLOW

  1. Call this MCP generation tool once and read taskId from structuredContent.
  2. Do not call the generation tool again while the task is PENDING or RUNNING.
  3. Wait at least 5 seconds, then call nexscope_media_task_result with skillSlug set to website-audit-summary, the exact taskId, and the same bearer API key. While the task remains PENDING or RUNNING, use 5, 10, 20, and 30-second progressive backoff. Never query more often than once every 5 seconds.
  4. Stop querying when the task succeeds or fails. On success, return the final Nexscope resource URLs and the returned count as the actual charged credits.
  5. Never invent a taskId and never expose internal provider names or provider resource URLs.

Pages Websites

Website Audit Summary MCP Tool

Website audit summary with explicit observation scope and missing evidence. Uses a fixed bounded plan. Source and image facts retain their observation time; a screenshot does not prove current indexing or complete website coverage.

MCP tool name
nexscope_website_audit_summary
Legacy MCP endpoint
/api/skill-api/v1/mcp
JSON-RPC method
tools/call

Authentication

Send the user API key as a bearer token on every MCP JSON-RPC request.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx

If authentication is missing or invalid, ask the user to open API Access and copy a valid key before calling this tool.

Call this MCP tool

Use tools/call with the MCP tool name below. The arguments object should match the table on this page.

{
  "jsonrpc": "2.0",
  "id": "website-audit-summary-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_website_audit_summary",
    "arguments": {
      "target": "example.com"
    }
  }
}
Legacy endpoint
POST /api/skill-api/v1/mcp
Canonical detail URL
https://www.nexscope.ai/mcp-map/website-audit-summary

Asynchronous task workflow

This capability uses a create-and-query flow. Creating the task and retrieving its final generated resources are two connected requests.

  1. 1. Create onceCall the MCP tool once and keep the returned taskId.
  2. 2. Query with backoffCall nexscope_media_task_result with this skill slug and task ID. Wait at least 5 seconds first; while pending or running, back off at 5, 10, 20, then 30-second intervals.
  3. 3. Use final resultStop at a terminal status. Successful results contain Nexscope resource URLs and the actual charged-credit count.
MCP task result call
{
  "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"
    }
  }
}
REST fallback
GET https://api.nexscope.ai/api/skill-api/v1/skills/website-audit-summary/tasks/{taskId}

Arguments

No arguments are defined for this tool.

Response fields

Treat structuredContent as the programmatic API response payload.

NameTypeRequiredDescription
dataanyrequired
Data value used by this API operation.
codeintegerrequired
0 means accepted or successful; nonzero is a platform error.
msgstring | nullrequired
Msg value used by this API operation.
tsstringrequired
Epoch milliseconds.
timestringrequired
Server local time: yyyy-MM-dd HH:mm:ss.
coststringrequired
Elapsed milliseconds, never credits; -1 outside web requests.
traceIdstring | nullrequired
Trace id value used by this API operation.

Any of option 1

NameTypeRequiredDescription
dataanyrequired
Data value used by this API operation.

One of option 1 — requires callId, status, result

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.resultanyrequired
Result value used by this API operation.
data.callIdstringrequired
Call id value used by this API operation.
data.schemaVersionstringoptional
Schema version value used by this API operation.
data.statusstringrequired
Status value used by this API operation.
data.sourcestringoptional
Source value used by this API operation.
data.requestedAtstring | integer | nulloptional
Requested at value used by this API operation.
data.completedAtstring | integer | nulloptional
Completed at value used by this API operation.
data.coverageobject | nulloptional
Coverage value used by this API operation.
data.usageobject | nulloptional
Usage value used by this API operation.
data.usage.billingStatusstring | nulloptional
Billing status value used by this API operation.
data.usage.chargedCreditsstring | integer | nulloptional
Charged credits value used by this API operation.

Any of option 1 — requires source, coverage, items, missingFields, warnings

NameTypeRequiredDescription
data.resultobjectrequired
Result value used by this API operation.
data.result.sourceobjectrequired
Source value used by this API operation.
data.result.source.providerstringrequired
Provider value used by this API operation.
Constant: DATAFORSEO
data.result.source.productstringrequired
Product value used by this API operation.
Constant: on_page
data.result.source.candidateIdstringrequired
Candidate id value used by this API operation.
Constant: MD-PW-02
data.result.source.sourceCallIdstring | nullrequired
Source call id value used by this API operation.
data.result.source.sourceSchemaVersionstring | nullrequired
Source schema version value used by this API operation.
data.result.source.sourcePlanVersionstring | nullrequired
Source plan version value used by this API operation.
data.result.source.collectedAtinteger | nullrequired
Collected at value used by this API operation.
Minimum: 0
data.result.source.queriedAtintegerrequired
Queried at value used by this API operation.
Minimum: 0
data.result.source.observationKindstringrequired
Observation kind value used by this API operation.
Constant: CRAWL_SAMPLE
data.result.coverageobjectrequired
Coverage value used by this API operation.
data.result.coverage.sampledbooleanrequired
Sampled value used by this API operation.
Constant: true
data.result.coverage.maxCrawlPagesinteger | nullrequired
Max crawl pages value used by this API operation.
Minimum: 0
data.result.coverage.pagesCrawledinteger | nullrequired
Pages crawled value used by this API operation.
Minimum: 0
data.result.coverage.stopReasonstring | nullrequired
Stop reason value used by this API operation.
data.result.coverage.providerTotalinteger | nullrequired
Provider total value used by this API operation.
Minimum: 0
data.result.coverage.returnedCountintegerrequired
Returned count value used by this API operation.
Minimum: 0
data.result.coverage.offsetintegerrequired
Offset value used by this API operation.
Minimum: 0
data.result.coverage.limitintegerrequired
Limit value used by this API operation.
Minimum: 0
data.result.coverage.truncatedbooleanrequired
Truncated value used by this API operation.
data.result.coverage.invalidItemCountintegerrequired
Invalid item count value used by this API operation.
Minimum: 0
data.result.itemsarrayrequired
Items value used by this API operation.
Maximum items: 1
data.result.items[]objectrequired
Item in data result items.
data.result.items[].targetstringrequired
Target value used by this API operation.
data.result.items[].profilestringrequired
Profile value used by this API operation.
Allowed: BASE, ENRICHED
data.result.items[].pagesCrawledinteger | nullrequired
Pages crawled value used by this API operation.
Minimum: 0
data.result.items[].stopReasonstring | nullrequired
Stop reason value used by this API operation.
data.result.items[].crawlStartedAtinteger | nullrequired
Crawl started at value used by this API operation.
Minimum: 0
data.result.items[].crawlEndedAtinteger | nullrequired
Crawl ended at value used by this API operation.
Minimum: 0
data.result.items[].onpageScorenumber | nullrequired
Onpage score value used by this API operation.
Minimum: 0
Maximum: 100
data.result.items[].internalLinksinteger | nullrequired
Internal links value used by this API operation.
Minimum: 0
data.result.items[].externalLinksinteger | nullrequired
External links value used by this API operation.
Minimum: 0
data.result.items[].duplicateTitlesinteger | nullrequired
Duplicate titles value used by this API operation.
Minimum: 0
data.result.items[].duplicateDescriptionsinteger | nullrequired
Duplicate descriptions value used by this API operation.
Minimum: 0
data.result.items[].duplicateContentsinteger | nullrequired
Duplicate contents value used by this API operation.
Minimum: 0
data.result.items[].brokenLinksinteger | nullrequired
Broken links value used by this API operation.
Minimum: 0
data.result.items[].brokenResourcesinteger | nullrequired
Broken resources value used by this API operation.
Minimum: 0
data.result.items[].nonIndexableinteger | nullrequired
Non indexable value used by this API operation.
Minimum: 0
data.result.missingFieldsarrayrequired
Missing fields value used by this API operation.
Maximum items: 10000
data.result.missingFields[]objectrequired
Item in data result missingFields.
data.result.missingFields[].fieldstringrequired
Field value used by this API operation.
data.result.missingFields[].reasonstringrequired
Reason value used by this API operation.
data.result.warningsarrayrequired
Warnings value used by this API operation.
Maximum items: 1000
data.result.warnings[]stringrequired
Item in data result warnings.

Any of option 2

NameTypeRequiredDescription
data.resultnullrequired
Result value used by this API operation.

One of option 2 — requires callId, status, reason, retryable

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.reasonstringrequired
Reason value used by this API operation.
data.callIdstring | nullrequired
Call id value used by this API operation.
data.statusstringrequired
Status value used by this API operation.
data.retryablebooleanrequired
Retryable value used by this API operation.
data.taskIdstring | nulloptional
Task id value used by this API operation.

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Examples

Example arguments

{
  "target": "example.com"
}

Example structuredContent

{
  "data": {
    "status": "PROCESSING",
    "retryable": false,
    "reason": "IN_PROGRESS",
    "callId": "00000000-0000-4000-8000-000000000001"
  },
  "code": 0,
  "msg": null,
  "ts": "0",
  "time": "2026-01-01 00:00:00",
  "cost": "-1",
  "traceId": null
}