Ai Search Citations
seo-ai-target-comparison MCP Tool
Independent target group metrics and provider union aggregate without summing overlapping groups. Historical provider database facts, not a live model execution. Domain filters use cited sources and keyword filters use answer text. Preserve nullable evidence and unsupported dimensions.
MCP tool name
nexscope_seo_ai_target_comparisonLegacy MCP endpoint
/api/skill-api/v1/mcpJSON-RPC method
tools/callAuthentication
Send the user API key as a bearer token on every MCP JSON-RPC request.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf 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": "seo-ai-target-comparison-1",
"method": "tools/call",
"params": {
"name": "nexscope_seo_ai_target_comparison",
"arguments": {
"groups": [
{
"key": " A ",
"target": [
{
"kind": "DOMAIN",
"domain": " Example.COM "
}
]
},
{
"key": "B",
"target": [
{
"kind": "KEYWORD",
"keyword": " Shoes "
}
]
}
]
}
}
}Legacy endpoint
POST /api/skill-api/v1/mcpCanonical detail URL
https://www.nexscope.ai/mcp-map/seo-ai-target-comparisonArguments
| Name | Type | Required | Description |
|---|---|---|---|
market | string | optional | Market value used by this API operation. Constant: US Default: US |
language | string | optional | Language value used by this API operation. Constant: en Default: en |
platform | string | optional | Platform value used by this API operation. Allowed: google, chat_gpt Default: google |
groups | array | required | Groups value used by this API operation. Minimum items: 2 Maximum items: 10 |
groups[] | object | required | Item in groups. |
groups[].key | string | required | Key value used by this API operation. Minimum length: 1 Maximum length: 80 |
groups[].target | array | required | Target value used by this API operation. Minimum items: 1 Maximum items: 10 |
groups[].target[] | any | required | Item in groups[] target. |
One of option 1 — requires kind, domain
| Name | Type | Required | Description |
|---|---|---|---|
groups[].target[] | object | required | Item in groups[] target. |
groups[].target[].kind | string | required | Kind value used by this API operation. Constant: DOMAIN |
groups[].target[].domain | string | required | Normalized ASCII hostname at most63 characters. Minimum length: 1 |
groups[].target[].searchFilter | string | optional | Search filter value used by this API operation. Allowed: include, exclude Default: include |
groups[].target[].includeSubdomains | boolean | optional | Include subdomains value used by this API operation. Default: false |
One of option 2 — requires kind, keyword
| Name | Type | Required | Description |
|---|---|---|---|
groups[].target[] | object | required | Item in groups[] target. |
groups[].target[].kind | string | required | Kind value used by this API operation. Constant: KEYWORD |
groups[].target[].keyword | string | required | Trim/NFC/lowercase1..80 code points,max10 words,no ASCII percent or plus. Minimum length: 1 |
groups[].target[].searchFilter | string | optional | Search filter value used by this API operation. Allowed: include, exclude Default: include |
groups[].target[].matchType | string | optional | Match type value used by this API operation. Allowed: word_match, partial_match Default: word_match |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
msg | string | null | required | Msg value used by this API operation. |
ts | string | required | Epoch milliseconds. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
traceId | string | null | required | Trace id value used by this API operation. |
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.result | any | required | Result value used by this API operation. |
data.callId | string | required | Call id value used by this API operation. |
data.schemaVersion | string | optional | Schema version value used by this API operation. |
data.status | string | required | Status value used by this API operation. |
data.source | string | optional | Source value used by this API operation. |
data.requestedAt | string | integer | null | optional | Requested at 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.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 market, language, sourceProduct, sourceKind, context, returnedCount, truncated, missing, unionMetrics, groups
| Name | Type | Required | Description |
|---|---|---|---|
data.result | object | required | Result value used by this API operation. |
data.result.market | string | required | Market value used by this API operation. Constant: US |
data.result.language | string | required | Language value used by this API operation. Constant: en |
data.result.sourceProduct | string | required | Source product value used by this API operation. Constant: ai_optimization |
data.result.sourceKind | string | required | Source kind value used by this API operation. Constant: llm_mentions_database |
data.result.context | object | required | Context value used by this API operation. |
data.result.context.platform | string | required | Platform value used by this API operation. Allowed: google, chat_gpt Default: google |
data.result.context.domainSearchScope | string | required | Domain search scope value used by this API operation. Constant: sources |
data.result.context.keywordSearchScope | string | required | Keyword search scope value used by this API operation. Constant: answer |
data.result.context.unsupportedDimensions | array | required | Unsupported dimensions value used by this API operation. Minimum items: 0 Maximum items: 3 |
data.result.context.unsupportedDimensions[] | string | required | Item in data result context unsupportedDimensions. Allowed: searchResultDomains, brands, brandCategories |
data.result.context.groups | array | required | Groups value used by this API operation. Minimum items: 2 Maximum items: 10 |
data.result.context.groups[] | object | required | Item in data result context groups. |
data.result.context.groups[].key | string | required | Key value used by this API operation. |
data.result.context.groups[].inputTargets | array | required | Input targets value used by this API operation. Minimum items: 1 Maximum items: 10 |
data.result.context.groups[].inputTargets[] | any | required | Item in data result context groups[] inputTargets. |
data.result.context.groups[].normalizedTargets | array | required | Normalized targets value used by this API operation. Minimum items: 1 Maximum items: 10 |
data.result.context.groups[].normalizedTargets[] | any | required | Item in data result context groups[] normalizedTargets. |
data.result.returnedCount | integer | required | Returned count value used by this API operation. Minimum: 0 |
data.result.truncated | boolean | required | Truncated value used by this API operation. |
data.result.missing | array | required | Missing value used by this API operation. Minimum items: 0 |
data.result.missing[] | object | required | Item in data result missing. |
data.result.missing[].field | string | required | Field value used by this API operation. |
data.result.missing[].reason | string | required | Reason value used by this API operation. Allowed: UPSTREAM_FIELD_MISSING, UPSTREAM_FIELD_INVALID, DUPLICATE_UPSTREAM_ITEM, UPSTREAM_ITEM_MISSING |
data.result.unionMetrics | object | required | Union metrics value used by this API operation. |
data.result.unionMetrics.total | object | required | Total value used by this API operation. |
data.result.unionMetrics.total.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.unionMetrics.total.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.unionMetrics.sourceDomains | array | null | required | Source domains value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.unionMetrics.sourceDomains[] | object | required | Item in data result unionMetrics sourceDomains. |
data.result.unionMetrics.sourceDomains[].domain | string | required | Domain value used by this API operation. |
data.result.unionMetrics.sourceDomains[].counts | object | required | Counts value used by this API operation. |
data.result.unionMetrics.sourceDomains[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.unionMetrics.sourceDomains[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.unionMetrics.searchResultDomains | array | null | required | Search result domains value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.unionMetrics.searchResultDomains[] | object | required | Item in data result unionMetrics searchResultDomains. |
data.result.unionMetrics.searchResultDomains[].domain | string | required | Domain value used by this API operation. |
data.result.unionMetrics.searchResultDomains[].counts | object | required | Counts value used by this API operation. |
data.result.unionMetrics.searchResultDomains[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.unionMetrics.searchResultDomains[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.unionMetrics.brands | array | null | required | Brands value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.unionMetrics.brands[] | object | required | Item in data result unionMetrics brands. |
data.result.unionMetrics.brands[].value | string | required | Value value used by this API operation. |
data.result.unionMetrics.brands[].counts | object | required | Counts value used by this API operation. |
data.result.unionMetrics.brands[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.unionMetrics.brands[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.unionMetrics.brandCategories | array | null | required | Brand categories value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.unionMetrics.brandCategories[] | object | required | Item in data result unionMetrics brandCategories. |
data.result.unionMetrics.brandCategories[].value | string | required | Value value used by this API operation. |
data.result.unionMetrics.brandCategories[].counts | object | required | Counts value used by this API operation. |
data.result.unionMetrics.brandCategories[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.unionMetrics.brandCategories[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.groups | array | required | Groups value used by this API operation. Minimum items: 2 Maximum items: 10 |
data.result.groups[] | object | required | Item in data result groups. |
data.result.groups[].key | string | required | Key value used by this API operation. |
data.result.groups[].metrics | object | required | Metrics value used by this API operation. |
data.result.groups[].metrics.total | object | required | Total value used by this API operation. |
data.result.groups[].metrics.total.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.total.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.sourceDomains | array | null | required | Source domains value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.groups[].metrics.sourceDomains[] | object | required | Item in data result groups[] metrics sourceDomains. |
data.result.groups[].metrics.sourceDomains[].domain | string | required | Domain value used by this API operation. |
data.result.groups[].metrics.sourceDomains[].counts | object | required | Counts value used by this API operation. |
data.result.groups[].metrics.sourceDomains[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.sourceDomains[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.searchResultDomains | array | null | required | Search result domains value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.groups[].metrics.searchResultDomains[] | object | required | Item in data result groups[] metrics searchResultDomains. |
data.result.groups[].metrics.searchResultDomains[].domain | string | required | Domain value used by this API operation. |
data.result.groups[].metrics.searchResultDomains[].counts | object | required | Counts value used by this API operation. |
data.result.groups[].metrics.searchResultDomains[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.searchResultDomains[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.brands | array | null | required | Brands value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.groups[].metrics.brands[] | object | required | Item in data result groups[] metrics brands. |
data.result.groups[].metrics.brands[].value | string | required | Value value used by this API operation. |
data.result.groups[].metrics.brands[].counts | object | required | Counts value used by this API operation. |
data.result.groups[].metrics.brands[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.brands[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.brandCategories | array | null | required | Brand categories value used by this API operation. Minimum items: 0 Maximum items: 10 |
data.result.groups[].metrics.brandCategories[] | object | required | Item in data result groups[] metrics brandCategories. |
data.result.groups[].metrics.brandCategories[].value | string | required | Value value used by this API operation. |
data.result.groups[].metrics.brandCategories[].counts | object | required | Counts value used by this API operation. |
data.result.groups[].metrics.brandCategories[].counts.mentions | integer | null | required | Mentions value used by this API operation. Minimum: 0 |
data.result.groups[].metrics.brandCategories[].counts.aiSearchVolume | integer | null | required | Ai search volume value used by this API operation. Minimum: 0 |
data.result.groups[].missing | array | required | Missing value used by this API operation. Minimum items: 0 |
data.result.groups[].missing[] | object | required | Item in data result groups[] missing. |
data.result.groups[].missing[].field | string | required | Field value used by this API operation. |
data.result.groups[].missing[].reason | string | required | Reason value used by this API operation. Allowed: UPSTREAM_FIELD_MISSING, UPSTREAM_FIELD_INVALID, DUPLICATE_UPSTREAM_ITEM, UPSTREAM_ITEM_MISSING |
One of option 1 — requires kind, domain, searchFilter, includeSubdomains
| Name | Type | Required | Description |
|---|---|---|---|
data.result.context.groups[].inputTargets[] | object | required | Item in data result context groups[] inputTargets. |
data.result.context.groups[].inputTargets[].kind | string | required | Kind value used by this API operation. Constant: DOMAIN |
data.result.context.groups[].inputTargets[].domain | string | required | Normalized ASCII hostname at most63 characters. Minimum length: 1 |
data.result.context.groups[].inputTargets[].searchFilter | string | required | Search filter value used by this API operation. Allowed: include, exclude Default: include |
data.result.context.groups[].inputTargets[].includeSubdomains | boolean | required | Include subdomains value used by this API operation. Default: false |
One of option 2 — requires kind, keyword, searchFilter, matchType
| Name | Type | Required | Description |
|---|---|---|---|
data.result.context.groups[].inputTargets[] | object | required | Item in data result context groups[] inputTargets. |
data.result.context.groups[].inputTargets[].kind | string | required | Kind value used by this API operation. Constant: KEYWORD |
data.result.context.groups[].inputTargets[].keyword | string | required | Trim/NFC/lowercase1..80 code points,max10 words,no ASCII percent or plus. Minimum length: 1 |
data.result.context.groups[].inputTargets[].searchFilter | string | required | Search filter value used by this API operation. Allowed: include, exclude Default: include |
data.result.context.groups[].inputTargets[].matchType | string | required | Match type value used by this API operation. Allowed: word_match, partial_match Default: word_match |
One of option 1 — requires kind, domain, searchFilter, includeSubdomains
| Name | Type | Required | Description |
|---|---|---|---|
data.result.context.groups[].normalizedTargets[] | object | required | Item in data result context groups[] normalizedTargets. |
data.result.context.groups[].normalizedTargets[].kind | string | required | Kind value used by this API operation. Constant: DOMAIN |
data.result.context.groups[].normalizedTargets[].domain | string | required | Normalized ASCII hostname at most63 characters. Minimum length: 1 |
data.result.context.groups[].normalizedTargets[].searchFilter | string | required | Search filter value used by this API operation. Allowed: include, exclude Default: include |
data.result.context.groups[].normalizedTargets[].includeSubdomains | boolean | required | Include subdomains value used by this API operation. Default: false |
One of option 2 — requires kind, keyword, searchFilter, matchType
| Name | Type | Required | Description |
|---|---|---|---|
data.result.context.groups[].normalizedTargets[] | object | required | Item in data result context groups[] normalizedTargets. |
data.result.context.groups[].normalizedTargets[].kind | string | required | Kind value used by this API operation. Constant: KEYWORD |
data.result.context.groups[].normalizedTargets[].keyword | string | required | Trim/NFC/lowercase1..80 code points,max10 words,no ASCII percent or plus. Minimum length: 1 |
data.result.context.groups[].normalizedTargets[].searchFilter | string | required | Search filter value used by this API operation. Allowed: include, exclude Default: include |
data.result.context.groups[].normalizedTargets[].matchType | string | required | Match type value used by this API operation. Allowed: word_match, partial_match Default: word_match |
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.reason | string | required | Reason value used by this API operation. |
data.callId | string | null | required | Call id value used by this API operation. |
data.status | string | required | Status value used by this API operation. |
data.retryable | boolean | required | Retryable 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
{
"groups": [
{
"key": " A ",
"target": [
{
"kind": "DOMAIN",
"domain": " Example.COM "
}
]
},
{
"key": "B",
"target": [
{
"kind": "KEYWORD",
"keyword": " Shoes "
}
]
}
]
}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
}