serper-search-mcp 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -3
- package/dist/api/LLMClient.js +2 -2
- package/dist/api/LLMClient.js.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/server/SerperMCPServer.d.ts.map +1 -1
- package/dist/server/SerperMCPServer.js +3 -2
- package/dist/server/SerperMCPServer.js.map +1 -1
- package/index.js +2 -2
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -46,7 +46,8 @@ This MCP server wraps the [Serper API](https://serper.dev) (Google Search result
|
|
|
46
46
|
"command": "npx",
|
|
47
47
|
"args": ["-y", "serper-search-mcp"],
|
|
48
48
|
"env": {
|
|
49
|
-
"SERPER_API_KEY": "
|
|
49
|
+
"SERPER_API_KEY": "${SERPER_API_KEY}",
|
|
50
|
+
"GEMINI_API_KEY": "${GEMINI_API_KEY}"
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}
|
|
@@ -62,13 +63,24 @@ Add this to your MCP client config (paths listed below), then restart.
|
|
|
62
63
|
"mcpServers": {
|
|
63
64
|
"serper-search": {
|
|
64
65
|
"command": "docker",
|
|
65
|
-
"args": ["run", "-i", "--rm", "-e", "SERPER_API_KEY
|
|
66
|
-
"env": {
|
|
66
|
+
"args": ["run", "-i", "--rm", "-e", "SERPER_API_KEY", "-e", "GEMINI_API_KEY", "smjahid/server-serper-search:3"],
|
|
67
|
+
"env": {
|
|
68
|
+
"SERPER_API_KEY": "your_key_here",
|
|
69
|
+
"GEMINI_API_KEY": "your_gemini_key_here"
|
|
70
|
+
}
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
```
|
|
71
75
|
|
|
76
|
+
Or run directly:
|
|
77
|
+
```bash
|
|
78
|
+
docker run -i --rm \
|
|
79
|
+
-e SERPER_API_KEY=your_key \
|
|
80
|
+
-e GEMINI_API_KEY=your_gemini_key \
|
|
81
|
+
smjahid/server-serper-search:3
|
|
82
|
+
```
|
|
83
|
+
|
|
72
84
|
### Option 3 — Local clone
|
|
73
85
|
|
|
74
86
|
```bash
|
|
@@ -76,9 +88,12 @@ git clone https://github.com/smjahid012/serper-search-mcp-server.git
|
|
|
76
88
|
cd serper-search-mcp-server
|
|
77
89
|
npm install
|
|
78
90
|
export SERPER_API_KEY="your_key"
|
|
91
|
+
export GEMINI_API_KEY="your_gemini_key"
|
|
79
92
|
node index.js
|
|
80
93
|
```
|
|
81
94
|
|
|
95
|
+
> **💡 AI-powered research is free.** `deep_research` uses Gemini's free tier by default. Set `GEMINI_API_KEY` above to unlock it.
|
|
96
|
+
|
|
82
97
|
---
|
|
83
98
|
|
|
84
99
|
## Config file locations
|
package/dist/api/LLMClient.js
CHANGED
|
@@ -11,14 +11,14 @@ function detectProvider() {
|
|
|
11
11
|
return {
|
|
12
12
|
provider: 'openrouter',
|
|
13
13
|
apiKey: process.env.OPENROUTER_API_KEY,
|
|
14
|
-
model: process.env.OPENROUTER_MODEL || 'google/gemini-
|
|
14
|
+
model: process.env.OPENROUTER_MODEL || 'google/gemini-3.1-flash-lite:free',
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
if (process.env.GEMINI_API_KEY) {
|
|
18
18
|
return {
|
|
19
19
|
provider: 'gemini',
|
|
20
20
|
apiKey: process.env.GEMINI_API_KEY,
|
|
21
|
-
model: process.env.GEMINI_MODEL || 'gemini-
|
|
21
|
+
model: process.env.GEMINI_MODEL || 'gemini-3.1-flash-lite',
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMClient.js","sourceRoot":"","sources":["../../src/api/LLMClient.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAqEH,0BAgBC;AAED,wCAEC;AAzED,SAAS,cAAc;IACrB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACtC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"LLMClient.js","sourceRoot":"","sources":["../../src/api/LLMClient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -41,12 +41,14 @@ Environment variables:
|
|
|
41
41
|
SERPER_MCP_HOST HTTP host
|
|
42
42
|
|
|
43
43
|
Tools provided:
|
|
44
|
-
search_web
|
|
45
|
-
search_images
|
|
46
|
-
search_videos
|
|
47
|
-
search_news
|
|
48
|
-
search_shopping
|
|
49
|
-
search_places
|
|
44
|
+
search_web Google web search with Knowledge Graph + Answer Box
|
|
45
|
+
search_images Google Image search
|
|
46
|
+
search_videos Google Video search
|
|
47
|
+
search_news Google News search
|
|
48
|
+
search_shopping Google Shopping search
|
|
49
|
+
search_places Google Places / Maps search (NEW in v3)
|
|
50
|
+
deep_research Multi-step research: sub-queries, parallel search, LLM report
|
|
51
|
+
search_rag_context Clean chunked text + metadata for RAG/embedding pipelines
|
|
50
52
|
`);
|
|
51
53
|
process.exit(0);
|
|
52
54
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA;;;GAGG;;AAEH,oEAA8D;AAE9D,SAAS,SAAS;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;YACjC,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA;;;GAGG;;AAEH,oEAA8D;AAE9D,SAAS,SAAS;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;YACjC,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAE1B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Bf,CAAC,CAAC;QACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,oCAAe,CAAC;YACjC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;YACxB,SAAS,EAAE,KAAK,CAAC,WAAW,CAAqB;YACjD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;SACpB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerperMCPServer.d.ts","sourceRoot":"","sources":["../../src/server/SerperMCPServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,YAAY,EAA6B,MAAM,mBAAmB,CAAC;AAgB5E,qBAAa,eAAe;IAC1B,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAY;gBAEX,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM;IAoB/C,OAAO,CAAC,gBAAgB;YAqEV,SAAS;
|
|
1
|
+
{"version":3,"file":"SerperMCPServer.d.ts","sourceRoot":"","sources":["../../src/server/SerperMCPServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,YAAY,EAA6B,MAAM,mBAAmB,CAAC;AAgB5E,qBAAa,eAAe;IAC1B,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAY;gBAEX,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM;IAoB/C,OAAO,CAAC,gBAAgB;YAqEV,SAAS;IAmBjB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAI3B"}
|
|
@@ -90,8 +90,9 @@ class SerperMCPServer {
|
|
|
90
90
|
process.on('SIGTERM', () => this.server.close().then(() => process.exit(0)));
|
|
91
91
|
}
|
|
92
92
|
async runSearch(args, searchType) {
|
|
93
|
+
const defaultNum = searchType === 'places' ? 5 : 10;
|
|
93
94
|
const opts = {
|
|
94
|
-
num_results: args['num_results'] ??
|
|
95
|
+
num_results: args['num_results'] ?? defaultNum,
|
|
95
96
|
country: args['country'] ?? 'US',
|
|
96
97
|
search_lang: args['search_lang'] ?? 'en',
|
|
97
98
|
ui_lang: args['ui_lang'] ?? 'en',
|
|
@@ -102,7 +103,7 @@ class SerperMCPServer {
|
|
|
102
103
|
page: args['page'] ?? 1,
|
|
103
104
|
};
|
|
104
105
|
const data = await this.api.search(args['query'], searchType, opts);
|
|
105
|
-
const text = ResultFormatter_js_1.ResultFormatter.format(data, opts.num_results ??
|
|
106
|
+
const text = ResultFormatter_js_1.ResultFormatter.format(data, opts.num_results ?? defaultNum, searchType);
|
|
106
107
|
return { content: [{ type: 'text', text }] };
|
|
107
108
|
}
|
|
108
109
|
async run() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerperMCPServer.js","sourceRoot":"","sources":["../../src/server/SerperMCPServer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SerperMCPServer.js","sourceRoot":"","sources":["../../src/server/SerperMCPServer.ts"],"names":[],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -429,14 +429,14 @@ function detectLLM() {
|
|
|
429
429
|
return {
|
|
430
430
|
provider: 'openrouter',
|
|
431
431
|
apiKey: process.env.OPENROUTER_API_KEY,
|
|
432
|
-
model: process.env.OPENROUTER_MODEL || 'google/gemini-
|
|
432
|
+
model: process.env.OPENROUTER_MODEL || 'google/gemini-3.1-flash-lite:free',
|
|
433
433
|
};
|
|
434
434
|
}
|
|
435
435
|
if (process.env.GEMINI_API_KEY) {
|
|
436
436
|
return {
|
|
437
437
|
provider: 'gemini',
|
|
438
438
|
apiKey: process.env.GEMINI_API_KEY,
|
|
439
|
-
model: process.env.GEMINI_MODEL || 'gemini-
|
|
439
|
+
model: process.env.GEMINI_MODEL || 'gemini-3.1-flash-lite',
|
|
440
440
|
};
|
|
441
441
|
}
|
|
442
442
|
return null;
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "serper-search-mcp",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "MCP server for Serper API — Google web, image, video, news, shopping, and places search for AI agents",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"serper-search-mcp": "index.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build":
|
|
11
|
-
"start":
|
|
12
|
-
"dev":
|
|
13
|
-
"http":
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"start": "node index.js",
|
|
12
|
+
"dev": "ts-node src/index.ts",
|
|
13
|
+
"http": "SERPER_MCP_TRANSPORT=http node index.js",
|
|
14
14
|
"docker:build": "docker build -t smjahid/serper-search-mcp .",
|
|
15
|
-
"docker:run":
|
|
16
|
-
"help":
|
|
17
|
-
"clean":
|
|
18
|
-
"rebuild":
|
|
15
|
+
"docker:run": "docker run -i --rm -e SERPER_API_KEY smjahid/serper-search-mcp",
|
|
16
|
+
"help": "node index.js --help",
|
|
17
|
+
"clean": "rm -rf dist",
|
|
18
|
+
"rebuild": "npm run clean && npm run build"
|
|
19
19
|
},
|
|
20
20
|
"keywords": [
|
|
21
21
|
"mcp",
|