Google Research Tools
Google Research Tools: search API
Google Research Tools: search API.
MCP tool name
nexscope_data_patents_searchMCP 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-patents-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_patents_search",
"arguments": {
"num": 10,
"q": "wireless earbuds"
}
}
}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 |
|---|---|---|---|
q | string | required | Google Patents search query supports official advanced query syntax (such as `owner:"Company"`, `inventor:"Name"`, date operator). Maximum 1000 characters. Example: {} |
num | integer | optional | Number of results per page, range 10–100. Example: 10 |
page | integer | optional | Page number, starting from 1. Example: 1 |
country | string | optional | Country code, multiple values separated by commas, for example `US,CN,WO`. Example: {} |
language | string | optional | Language, multiple values separated by English commas, use Google Patents official language value. Example: {} |
before | string | optional | Maximum date, format `priority\|filing\|publication:YYYYMMDD`. Example: {} |
after | string | optional | Minimum date, the format is the same as `before`. Example: {} |
sort | string | optional | Sorting method: `new` (latest) or `old` (earliest); if not transmitted, sorted by relevance. Example: {} |
type | string | optional | Result type: `PATENT` or `DESIGN`. Example: {} |
status | string | optional | Patent status: `GRANT` or `APPLICATION`. Example: {} |
patents | boolean | optional | Whether to include patent results. Example: true |
scholar | boolean | optional | Whether to include Google Scholar results. Example: false |
litigation | string | optional | Litigation Status: `YES` or `NO`. Example: {} |
inventor | string | optional | Inventor, multiple values are separated by commas. Example: {} |
assignee | string | optional | Assignee, multiple values separated by commas. Example: {} |
clustered | boolean | optional | Whether to aggregate by category; upstream currently only supports `true`. Example: {} |
dups | string | optional | Deduplication method; when not uploading, deduplication is based on patent family, `language` means deduplication is based on public text. Example: {} |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
errcode | integer | optional | `200` indicates success. Example: {} |
errmsg | string | optional | `ok` indicates success, otherwise it is an error description. Example: {} |
organicResults | array | optional | List of patent search results. Example: {} |
searchParameters | object | optional | Echoed query parameters (`q`/`engine`/`num`/`patents`/`page`/`scholar`, etc.). Example: {} |
searchInformation | object | optional | Retrieve meta information, including `total_results` (total number of hits), `total_pages` (total number of pages), `page_number` (current page). Example: {} |
searchMetadata | object | optional | Retrieve processing metadata. Example: {} |
pagination | object | optional | Paging information (`next`, `current`). Example: {} |
serpapiPagination | object | optional | Upstream paging information. Example: {} |
summary | object | optional | Result summary (including `cpc` classification aggregation, etc., only part of it is returned during classification aggregation). Example: {} |
costToken | integer | optional | Consume token. Example: {} |
message | string | optional | Upstream prompt information; successful but may appear under special circumstances. Most successful responses do not contain this field. Example: {} |
publicationNumber | string | optional | Public account. Example: {} |
patentId | string | optional | Patent ID. Example: {} |
title | string | optional | Patent or academic result titles. Example: {} |
snippet | string | optional | Abstracts of patent or academic results. Example: {} |
inventor | string | optional | Inventor. Example: {} |
assignee | string | optional | Assignee. Example: {} |
filingDate | string | optional | Application date. Example: {} |
publicationDate | string | optional | Publication or release date. Example: {} |
grantDate | string | optional | Authorization date. Example: {} |
priorityDate | string | optional | Priority date. Example: {} |
language | string | optional | Patent language. Example: {} |
cpc | string | optional | Collaborative patent classification (returned only when classification is aggregated). Example: {} |
cpcDescription | string | optional | Description of cooperative patent classification. Example: {} |
countryStatus | object | optional | The legal status of each country. Example: {} |
position | integer | optional | Search result location. Example: {} |
rank | integer | optional | Result ranking (may differ from `position` when aggregated). Example: {} |
patentLink | string | optional | Google Patents patent link. Example: {} |
pdf | string | optional | Patent PDF link. Example: {} |
thumbnail | string | optional | Patent thumbnail. Example: {} |
figures | array | optional | Patent image list, elements containing `thumbnail`, `full`. Example: {} |
scholar | boolean | optional | Whether it is a Google Scholar result. Example: {} |
scholarId | string | optional | Scholar result ID. Example: {} |
scholarLink | string | optional | Google Scholar results link. Example: {} |
author | string | optional | Scholar result author. Example: {} |
authorEtal | boolean | optional | Whether the Scholar result contains three or more authors. Example: {} |
publicationVenue | string | optional | Scholar results publication venue. Example: {} |
urlHostname | string | optional | Scholar result source domain name. Example: {} |
serpapiLink | string | optional | Result details API link. Example: {} |
Examples
Example arguments
{
"num": 10,
"q": "wireless earbuds"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}