Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Google SERP as JSON: organic, AI Overview, People Also Ask, AI Mode, news, shopping. No Cloud setup.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
HASDATA_API_KEY, x-api-key标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": [
"-y",
"@hasdata/google-search-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http google-search 'https://mcp.hasdata.com/mcp?apis=google_serp' --header 'x-api-key: your-value'claude mcp add google-search --env HASDATA_API_KEY=your-value -- npx -y @hasdata/google-search-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": {
"x-api-key": "your-value"
}
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": [
"-y",
"@hasdata/google-search-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"google-search": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": {
"x-api-key": "your-value"
}
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"google-search": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hasdata/google-search-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
x-api-key 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 hasdata.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:HASDATA_API_KEY, x-api-key
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(1.0.7)于43天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A hosted Google Search MCP server that gives Claude, Cursor, Windsurf and any other MCP client read-only Google Search tools. Pull the live SERP with its AI Overview and People Also Ask, run a Google AI Mode query, and read news, shopping, product detail and short-video results, all as structured JSON, with no Google Cloud project and no search-engine setup.
1,000 free credits every month, no card required, which is 100 full-SERP calls or 200 SERP Light calls.
https://mcp.hasdata.com/mcp?apis=google_serp
"SERP" and "Google Search" are the same product here. This server returns Google search-engine results pages, parsed.
An MCP client that speaks streamable HTTP with custom headers. A HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 to 200 calls a month depending on the tool. Nothing else. This is a remote server, so the simplest path is a URL and a header, with no Google Cloud project or Programmable Search Engine to set up. A stdio-only client can use the @hasdata/google-search-mcp (npm) or hasdata-google-search-mcp (PyPI) launcher instead.
| URL | https://mcp.hasdata.com/mcp?apis=google_serp |
| Transport | HTTP, streamable |
| Auth header | x-api-key: HASDATA_API_KEY |
The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
Claude Code
claude mcp add --transport http google-search "https://mcp.hasdata.com/mcp?apis=google_serp" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
Claude Desktop loads only local (stdio) servers from its config file, so it reaches a remote server through a stdio launcher. The @hasdata/google-search-mcp package is that launcher, and it reads the key from the environment.
claude_desktop_config.json:
{
"mcpServers": { "google-search": { "command": "npx", "args": ["-y", "@hasdata/google-search-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }
Python instead of Node? Swap the launcher for the PyPI package, which uvx runs without a manual install:
{
"mcpServers": { "google-search": { "command": "uvx", "args": ["hasdata-google-search-mcp"], "env": { "HASDATA_API_KEY": "YOUR_KEY" } } } }
A client with OAuth support can instead add the URL as a custom connector and skip the launcher.
Cursor
.cursor/mcp.json:
{
"mcpServers": { "google-search": { "url": "https://mcp.hasdata.com/mcp?apis=google_serp", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "google-search": { "serverUrl": "https://mcp.hasdata.com/mcp?apis=google_serp", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Cline
{
"mcpServers": { "google-search": { "url": "https://mcp.hasdata.com/mcp?apis=google_serp", "type": "streamableHttp", "headers": { "x-api-key": "HASDATA_API_KEY" }, "disabled": false } } }
VS Code
.vscode/mcp.json:
{
"servers": { "google-search": { "type": "http", "url": "https://mcp.hasdata.com/mcp?apis=google_serp", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": { "google-search": { "httpUrl": "https://mcp.hasdata.com/mcp?apis=google_serp", "headers": { "x-api-key": "HASDATA_API_KEY" } } } }
Search Google for
best running shoesand give me the organic top ten plus the AI Overview.
*One call, 10 credits. The SERP response carries the AI Overview inline alongside the organic results.*
For the same query, take each People Also Ask question and pull its AI Overview answer with sources.
*One call per question, 10 credits each. Each relatedQuestions entry holds an aiOverview.pageToken, and the AI Overview tool turns that token into the answer blocks and their references.*
Ask Google AI Mode
what is the Model Context Protocoland give me the answer with its citations.
*One call, 10 credits. AI Mode returns the generated answer as text blocks with a reference list.*
Search Google Shopping for
nike air max, then pull the full product card for the top result: every store selling it, the price range and the review breakdown.
*Two calls. Shopping is 10 credits and returns a token per product, and the immersive product tool spends 5 to expand that token into stores, variants and reviews.*
Get the latest Google News for
artificial intelligence, and separately the short-video results forcooking pasta.
*Two calls, 10 credits each.*
The workflow leans on two chains. A SERP response hands back an aiOverview inline and a pageToken on every People Also Ask question, so extracting Google's generative answers is either free with the search or one 10-credit follow-up per question. A shopping result likewise hands back a token per product, so the jump from a listing to its full multi-store card is a single call.
| Tool | What it returns |
|---|---|
hasdata_google_serp_ai_mode_getAiModeResponse | The conversational response text, cited source links, subtopic breakdowns, follow-up suggestions, and a subsequentRequestToken for multi-turn continuation. 10 credits a call |
hasdata_google_serp_ai_overview_getAiOverviewResponse | The AI-generated answer text, referenced source URLs, and expanded subtopic sections. 10 credits a call |
hasdata_google_serp_events_getEventInformation | Event title, start date/time, venue name and address, ticket/source links, description, and thumbnail. 10 credits a call |
hasdata_google_serp_immersive_product_getImmersive_e29f691177 | Multi-store offers (merchant, price, shipping, condition, URL), product specs, images, ratings, and the nextPageToken. 10 credits a call |
hasdata_google_serp_news_getGoogleNews | Article title, snippet, source publisher, published date, thumbnail, and URL, plus tokens for navigating topics, sub-sections, and story clusters. 10 credits a call |
hasdata_google_serp_product_getProductInformation | Product title, images, price, ratings, specs, merchant offers (seller, shipping, condition, total price), and review text depending on searchType. 10 credits a call |
hasdata_google_serp_serp_getSearchResults | Organic results (title, link, snippet, position), ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, AI Overview pageToken, and rich…. 10 credits a call |
hasdata_google_serp_serp_light_getSearchResults | Organic results (title, link, displayed link, snippet, sitelinks, extensions, date, rating and review count), AI Overview with its text blocks and source references,…. 5 credits a call |
hasdata_google_serp_shopping_getSearchResults | Product title, price, merchant/source, rating, reviews count, thumbnail, product link, productId, immersiveProductPageToken, and filter chips with hasdata_link for…. 10 credits a call |
hasdata_google_serp_short_videos_getShortVideosSearchResults | Video title, thumbnail, duration, source platform, channel/creator, publish date, and direct video URL. 10 credits a call |
Ten tools, all read-only. Samples below are trimmed from real calls, and the results in them change as Google changes, so read them as shapes. Each tool name links to its endpoint reference.
The samples are the payload, not the whole response. A tools/call result carries one text block, and that text is itself JSON holding url, status, text and json, with the scraped data under json. From a raw JSON-RPC response the path is result.content[0].text, parsed, then .json. A chat client unwraps that for you and code talking to the endpoint directly does not.
hasdata_google_serp_serp_getSearchResults
The full results page for a query.
| Parameter | Type | Required | Notes |
|---|---|---|---|
q | string | yes | The search query, exactly as a user would type it |
gl / hl | string | Two-letter country and language codes | |
location / uule | string | Geographic location for the search, by name or as a uule string | |
num | number | Approximate results per page. Google now caps a page at about ten and ignores anything higher, so num above 10 fetches no more | |
start | number | Result offset for paging | |
tbm / tbs | string | Search type and advanced filters, the raw Google parameters | |
deviceType | string | desktop, mobile or tablet |
Returns searchInformation, organicResults, aiOverview, relatedQuestions, relatedSearches, perspectives, immersiveProducts and pagination, with whichever blocks Google shows for the query. Organic entries carry position, title, link, displayedLink, source, snippet, snippetHighlitedWords, date and images.
The AI Overview arrives two ways. Usually
aiOverviewis inline, withtextBlocksandreferencesyou can read straight away. Sometimes Google gates it behind a token, and thenaiOverviewcarries apageTokenand ahasdataLinkinstead of the blocks. EveryrelatedQuestionsentry is that second case too. It holds aquestionand anaiOverviewwith the samepageTokenandhasdataLink, which the AI Overview tool below expands. So the People Also Ask answers are
只显示了开头部分;其余内容请在仓库中阅读