Skip to content

Commit 37bb119

Browse files
author
sergey-ermakovich
committed
Link the npm and PyPI packages from the README
Adds version badges and rows in the links table, so the package pages and the catalogs that render this README show where to install from. Patch bump because the published artifacts embed the README.
1 parent 148cfb2 commit 37bb119

4 files changed

Lines changed: 70 additions & 18 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ https://mcp.hasdata.com/api/mcp?apis=google_serp
1212
[![tool contract](https://github.com/HasData/google-search-mcp/actions/workflows/contract.yml/badge.svg)](https://github.com/HasData/google-search-mcp/actions/workflows/contract.yml)
1313
[![MCP](https://img.shields.io/badge/MCP-remote%20%7C%20streamable%20HTTP-6366f1?style=flat-square)](https://modelcontextprotocol.io)
1414
[![Tools](https://img.shields.io/badge/tools-8-10b981?style=flat-square)](#tools)
15+
[![npm](https://img.shields.io/npm/v/@hasdata/google-search-mcp?style=flat-square&logo=npm&label=npm&color=cb3837)](https://www.npmjs.com/package/@hasdata/google-search-mcp)
16+
[![PyPI](https://img.shields.io/pypi/v/hasdata-google-search-mcp?style=flat-square&logo=pypi&logoColor=white&label=PyPI&color=3775a9)](https://pypi.org/project/hasdata-google-search-mcp/)
1517
[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)
1618

1719
"SERP" and "Google Search" are the same product here. This server returns Google search-engine results pages, parsed.
@@ -505,6 +507,8 @@ No. HasData is an independent service and is not affiliated with, endorsed by, o
505507
| The other surfaces we parse | [53 more scraper APIs](https://hasdata.com/apis/?utm_source=github&utm_medium=syndication&utm_campaign=google-search-mcp) |
506508
| Plans and credit costs | [Plans and credit costs](https://hasdata.com/prices?utm_source=github&utm_medium=syndication&utm_campaign=google-search-mcp) |
507509
| Keys and usage | [HasData dashboard](https://app.hasdata.com?utm_source=github&utm_medium=syndication&utm_campaign=google-search-mcp) |
510+
| Node launcher on npm | [@hasdata/google-search-mcp](https://www.npmjs.com/package/@hasdata/google-search-mcp) |
511+
| Python launcher on PyPI | [hasdata-google-search-mcp](https://pypi.org/project/hasdata-google-search-mcp/) |
508512

509513
## Development
510514

package.json

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,42 @@
11
{
22
"name": "@hasdata/google-search-mcp",
33
"mcpName": "com.hasdata/google-search",
4-
"version": "1.0.0",
4+
"version": "1.0.1",
55
"description": "MCP server for Google Search (SERP) through HasData's hosted API: organic results, AI Overview, People Also Ask, AI Mode, news, shopping, product and short videos. No Google Cloud project.",
66
"type": "module",
7-
"bin": { "hasdata-google-search-mcp": "index.mjs" },
8-
"files": ["index.mjs", "README.md", "LICENSE"],
9-
"scripts": { "test": "node --test" },
10-
"dependencies": { "mcp-remote": "^0.1.43" },
11-
"engines": { "node": ">=18" },
7+
"bin": {
8+
"hasdata-google-search-mcp": "index.mjs"
9+
},
10+
"files": [
11+
"index.mjs",
12+
"README.md",
13+
"LICENSE"
14+
],
15+
"scripts": {
16+
"test": "node --test"
17+
},
18+
"dependencies": {
19+
"mcp-remote": "^0.1.43"
20+
},
21+
"engines": {
22+
"node": ">=18"
23+
},
1224
"license": "MIT",
13-
"repository": { "type": "git", "url": "https://github.com/HasData/google-search-mcp.git" },
25+
"repository": {
26+
"type": "git",
27+
"url": "https://github.com/HasData/google-search-mcp.git"
28+
},
1429
"homepage": "https://hasdata.com/apis/google-serp-api",
15-
"keywords": ["mcp", "google-search", "google-serp", "serp", "google-search-mcp", "serp-mcp", "model-context-protocol", "hasdata", "scraper", "ai-overview"]
30+
"keywords": [
31+
"mcp",
32+
"google-search",
33+
"google-serp",
34+
"serp",
35+
"google-search-mcp",
36+
"serp-mcp",
37+
"model-context-protocol",
38+
"hasdata",
39+
"scraper",
40+
"ai-overview"
41+
]
1642
}

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "hasdata-google-search-mcp"
3-
version = "1.0.0"
3+
version = "1.0.1"
44
description = "MCP server for Google Search (SERP) through HasData's hosted API. No Google Cloud project, no search-engine setup."
55
readme = "README.md"
66
requires-python = ">=3.10"

server.json

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,58 @@
33
"name": "com.hasdata/google-search",
44
"title": "HasData Google Search (SERP)",
55
"description": "Google SERP as JSON: organic, AI Overview, People Also Ask, AI Mode, news, shopping. No Cloud setup.",
6-
"version": "1.0.1",
6+
"version": "1.0.2",
77
"websiteUrl": "https://hasdata.com/apis/google-serp-api",
8-
"repository": { "url": "https://github.com/HasData/google-search-mcp", "source": "github" },
8+
"repository": {
9+
"url": "https://github.com/HasData/google-search-mcp",
10+
"source": "github"
11+
},
912
"remotes": [
1013
{
1114
"type": "streamable-http",
1215
"url": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
1316
"headers": [
14-
{ "name": "x-api-key", "description": "HasData API key, created at app.hasdata.com. The free trial needs no card.", "isRequired": true, "isSecret": true }
17+
{
18+
"name": "x-api-key",
19+
"description": "HasData API key, created at app.hasdata.com. The free trial needs no card.",
20+
"isRequired": true,
21+
"isSecret": true
22+
}
1523
]
1624
}
1725
],
1826
"packages": [
1927
{
2028
"registryType": "npm",
2129
"identifier": "@hasdata/google-search-mcp",
22-
"version": "1.0.0",
23-
"transport": { "type": "stdio" },
30+
"version": "1.0.1",
31+
"transport": {
32+
"type": "stdio"
33+
},
2434
"environmentVariables": [
25-
{ "name": "HASDATA_API_KEY", "description": "HasData API key, created at app.hasdata.com. The free trial needs no card.", "isRequired": true, "isSecret": true }
35+
{
36+
"name": "HASDATA_API_KEY",
37+
"description": "HasData API key, created at app.hasdata.com. The free trial needs no card.",
38+
"isRequired": true,
39+
"isSecret": true
40+
}
2641
]
2742
},
2843
{
2944
"registryType": "pypi",
3045
"identifier": "hasdata-google-search-mcp",
31-
"version": "1.0.0",
46+
"version": "1.0.1",
3247
"runtimeHint": "uvx",
33-
"transport": { "type": "stdio" },
48+
"transport": {
49+
"type": "stdio"
50+
},
3451
"environmentVariables": [
35-
{ "name": "HASDATA_API_KEY", "description": "HasData API key, created at app.hasdata.com. The free trial needs no card.", "isRequired": true, "isSecret": true }
52+
{
53+
"name": "HASDATA_API_KEY",
54+
"description": "HasData API key, created at app.hasdata.com. The free trial needs no card.",
55+
"isRequired": true,
56+
"isSecret": true
57+
}
3658
]
3759
}
3860
]

0 commit comments

Comments
 (0)