Mercado Libre Product Research
Mercado Libre Product Research: product Selection API
Mercado Libre Product Research: product Selection API.
MCP tool name
nexscope_data_mercado_product_selectionMCP endpoint
https://api.nexscope.ai/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/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "data-mercado-product-selection-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_mercado_product_selection",
"arguments": {
"arguments": {
"searchText": "Auriculares",
"siteId": "MLM"
},
"toolName": "categorySearch"
}
}
}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 |
|---|---|---|---|
toolName | string | required | One of 24 Meike multi-tool names, see table below. Example: {} |
arguments | object | required | The parameter object of the corresponding tool must be a JSON object and cannot be an array, string or number; the backend will remove `uId`, `uid`, `memberId` and crop empty values. Example: {} |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
code | string | optional | Nexscope encapsulation layer status; `"200"` on success. May be omitted in case of business error. Example: {} |
msg | string | optional | Encapsulation layer message; `"ok"` on success. Example: {} |
errcode | integer | optional | Gateway status code; if successful, it is `200`, if there is a business error, it is non-`200`. Example: {} |
errmsg | string | optional | Gateway error or status message. Example: {} |
type | string | optional | Currently usually `rawMcpToolResult`. Example: {} |
toolName | string | optional | The name of the tool actually called. Example: {} |
charged | boolean | optional | Is there a fee for this tool? Example: {} |
data | string/object/array | optional | Business data unpacked from the MCP text content; most tools return a string. Example: {} |
rawResponse | object | optional | MCP `tools/call` Raw result; the current gateway usually returns an empty object. Example: {} |
contentText | string | optional | MCP text content The spliced original text. Example: {} |
textParsedAsJson | boolean | optional | Whether `contentText` is successfully parsed into JSON; it may also be `true` when the text is wrapped in a JSON string. Example: {} |
total | integer | optional | Returned when the number of records can be inferred by the backend; omitted when it cannot be inferred, and `null` is not returned. Example: {} |
costToken | integer | optional | The token cost of this call; the free tool is `0`, and the paid tool is currently `16000`. Example: {} |
costTime | integer | optional | The backend takes time in milliseconds. Example: {} |
Examples
Example arguments
{
"arguments": {
"searchText": "Auriculares",
"siteId": "MLM"
},
"toolName": "categorySearch"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}