Patent & IP Risk
Product TRO Detection
Assess product imagery for TRO, trademark, patent, and copyright infringement risk.
MCP tool name
nexscope_maidalv_product_tro_detectionMCP endpoint
https://api.nexscope.ai/api/skill-api/v2/mcpJSON-RPC method
tools/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/api/skill-api/v2/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "maidalv-product-tro-detection-1",
"method": "tools/call",
"params": {
"name": "nexscope_maidalv_product_tro_detection",
"arguments": {
"language": "zh",
"mainProductImage": "https://example.com/product.jpg"
}
}
}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.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
mainProductImage | string | required | Main product image as a public URL or data:image/...;base64, URI; maximum 1,000 characters. Example: https://example.com/product.jpg |
referenceImages | array | optional | Up to 3 reference images, each a public URL or image data URI. Example: [] |
otherProductImages | array | optional | Up to 5 additional product images, each a public URL or image data URI. Example: [] |
ipImages | array | optional | Up to 3 intellectual-property evidence images, each a public URL or image data URI. Example: [] |
referenceText | string | optional | Similar-product text, maximum 1,000 characters. Example: Wireless speaker |
description | string | optional | Product description, preferably the title; maximum 1,000 characters. Example: Portable wireless speaker |
ipKeywords | array | optional | Up to 20 intellectual-property keywords. Example: [
"speaker"
] |
language | string | optional | Legal report language: zh (default) or en; affects report only. Example: zh |
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 | object | required | Data value used by this API operation. |
data.checkId | string | optional | Provider check identifier. Example: check-id |
data.costTime | integer | optional | Execution time reported by the upstream provider. Example: null |
data.costToken | integer | optional | Provider-reported token cost. Example: 225000 |
data.dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: null |
data.nonResults | array | optional | Other IP findings, including possible TRO plaintiff details. Example: [] |
data.nonResults[] | object | required | Other IP findings, including possible TRO plaintiff details. |
data.nonResults[].ipAssetUrls | array | optional | IP evidence image URLs. Example: null |
data.nonResults[].ipOwner | string | optional | IP owner. Example: null |
data.nonResults[].ipType | string | optional | IP type: Trademark, Copyright, or Patent. Example: null |
data.nonResults[].lastCaseDateFiled | string | optional | Latest case filing date when available. Example: null |
data.nonResults[].lastCaseDocket | string | optional | Latest case docket when available. Example: null |
data.nonResults[].numberOfCases | integer | optional | Plaintiff case count when available. Example: null |
data.nonResults[].plaintiffId | integer | optional | TRO plaintiff ID when available. Example: null |
data.nonResults[].plaintiffName | string | optional | TRO plaintiff name when available. Example: null |
data.nonResults[].regNo | string | optional | Registration number, possibly a JSON-encoded array. Example: null |
data.nonResults[].report | string | optional | AI legal assessment report in the requested language. Example: null |
data.nonResults[].riskDescription | string | optional | Risk explanation when scored. Example: null |
data.nonResults[].riskLevel | string | optional | Risk grade when scored. Example: null |
data.nonResults[].riskScore | number | optional | Risk score from 0 to 10 when scored. Example: null |
data.nonResults[].text | string | optional | IP text, such as a trademark or patent title. Example: null |
data.page | integer | optional | Current page returned by the upstream provider. Example: null |
data.pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: null |
data.pageSize | integer | optional | Page size returned by the upstream provider. Example: null |
data.results | array | optional | High-risk potential infringement findings. Example: [] |
data.results[] | object | required | High-risk potential infringement findings. |
data.results[].columns | array | optional | Provider render columns, which may differ in length from finding lists. Example: null |
data.results[].ipAssetUrls | array | optional | IP evidence image URLs. Example: null |
data.results[].ipOwner | string | optional | IP owner. Example: null |
data.results[].ipType | string | optional | IP type: Trademark, Copyright, or Patent. Example: null |
data.results[].lastCaseDateFiled | string | optional | Latest case filing date when available. Example: null |
data.results[].lastCaseDocket | string | optional | Latest case docket when available. Example: null |
data.results[].numberOfCases | integer | optional | Plaintiff case count when available. Example: null |
data.results[].plaintiffId | integer | optional | TRO plaintiff ID when available. Example: null |
data.results[].plaintiffName | string | optional | TRO plaintiff name when available. Example: null |
data.results[].regNo | string | optional | Registration number, possibly a JSON-encoded array. Example: null |
data.results[].report | string | optional | AI legal assessment report in the requested language. Example: null |
data.results[].riskDescription | string | optional | Risk explanation when scored. Example: null |
data.results[].riskLevel | string | optional | Risk grade when scored. Example: null |
data.results[].riskScore | number | optional | Risk score from 0 to 10 when scored. Example: null |
data.results[].text | string | optional | IP text, such as a trademark or patent title. Example: null |
data.sourceTool | string | optional | Provider-specific source tool name. Example: null |
data.sourceType | string | optional | Provider-specific source platform type. Example: null |
data.status | string | optional | Detection status. Example: success |
data.title | string | optional | Provider-specific response title. Example: null |
data.total | integer | optional | Number of high-risk findings in results[]. Example: 2 |
data.totalPage | integer | optional | Total page count returned by the upstream provider. Example: null |
data.type | string | optional | Provider render style. Example: null |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Examples
Example arguments
{
"language": "zh",
"mainProductImage": "https://example.com/product.jpg"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {
"checkId": "check-id",
"costToken": 225000,
"nonResults": [],
"results": [],
"status": "success",
"total": 2
},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}