@decodo/mcp-server 1.2.5 → 1.2.6
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 +61 -43
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Decodo MCP Server
|
|
2
2
|
|
|
3
3
|
[](https://discord.gg/Ja8dqKgvbZ)
|
|
4
|
-
[](https://cursor.com/en-US/install-mcp?name=Decodo&config=
|
|
4
|
+
[](https://cursor.com/en-US/install-mcp?name=Decodo&config=eyJ1cmwiOiJodHRwczovL21jcC5kZWNvZG8uY29tL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciA8YXBpX2tleT4ifX0%3D)
|
|
5
5
|
|
|
6
6
|
<p align="center">
|
|
7
7
|
<a href="https://dashboard.decodo.com/integrations?utm_source=github&utm_medium=social&utm_campaign=mcp_server"> <img src="https://github.com/user-attachments/assets/a1e52a9e-3da1-4081-b3c6-053aafb8f196"/></a>
|
|
@@ -80,15 +80,17 @@ scraping infrastructure from scratch. Common scenarios:
|
|
|
80
80
|
|
|
81
81
|
1. **Create a free account** at [dashboard.decodo.com](https://dashboard.decodo.com/) – up to 2K
|
|
82
82
|
free requests, no credit card required.
|
|
83
|
-
2. **Get your
|
|
83
|
+
2. **Get your API key.** Copy your Web Data API key from your Web Data API subscription on the
|
|
84
|
+
[dashboard](https://dashboard.decodo.com/web-data/playground). Older plans have a basic
|
|
85
|
+
authentication token, which also works (see [Authentication](#authentication)).
|
|
84
86
|
3. **Download Node.js 18+** from https://nodejs.org.
|
|
85
|
-
4. **Get MCP client** like Claude Desktop, Cursor, Windsurf or other MCP-compatible
|
|
86
|
-
tools.
|
|
87
|
+
4. **Get MCP client** like Claude Desktop, Cursor, Windsurf or other MCP-compatible tools.
|
|
87
88
|
5. **Configure the MCP server** in your AI client (see configuration examples below).
|
|
88
89
|
|
|
89
|
-
## Connecting to [Decodo's MCP server](https://mcp.decodo.com/mcp)
|
|
90
|
+
## Connecting to [Decodo's MCP server](https://mcp.decodo.com/mcp)
|
|
90
91
|
|
|
91
|
-
Open your preferred MCP client and add the following configuration (see examples for Claude Code,
|
|
92
|
+
Open your preferred MCP client and add the following configuration (see examples for Claude Code,
|
|
93
|
+
Cursor, Windsurf bellow):
|
|
92
94
|
|
|
93
95
|
```
|
|
94
96
|
{
|
|
@@ -96,14 +98,24 @@ Open your preferred MCP client and add the following configuration (see examples
|
|
|
96
98
|
"Decodo": {
|
|
97
99
|
"url": "https://mcp.decodo.com/mcp",
|
|
98
100
|
"headers": {
|
|
99
|
-
"Authorization": "
|
|
101
|
+
"Authorization": "Bearer <api_key>"
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
```
|
|
105
107
|
|
|
108
|
+
### Authentication
|
|
109
|
+
|
|
110
|
+
| Credential | Where to get it | Hosted server header | Local server env |
|
|
111
|
+
| -------------------------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------- |
|
|
112
|
+
| **API key** (recommended) | Web Data API subscription on the [dashboard](https://dashboard.decodo.com/web-data/playground) | `Authorization: Bearer <api_key>` | `SCRAPER_API_TOKEN=<api_key>` |
|
|
113
|
+
| **Basic authentication token** (older plans) | Web Scraping API page on the dashboard | `Authorization: Basic <basic_auth_token>` | `SCRAPER_API_TOKEN=<basic_auth_token>` |
|
|
114
|
+
|
|
115
|
+
The local server reads either credential from `SCRAPER_API_TOKEN` and works out which one it got.
|
|
116
|
+
|
|
106
117
|
### Claude Desktop
|
|
118
|
+
|
|
107
119
|
1. Open Claude Desktop → Settings → Developer → Edit Config.
|
|
108
120
|
2. Add to claude_desktop_config.json:
|
|
109
121
|
|
|
@@ -114,35 +126,40 @@ Open your preferred MCP client and add the following configuration (see examples
|
|
|
114
126
|
"command": "npx",
|
|
115
127
|
"args": ["-y", "@decodo/mcp-server"],
|
|
116
128
|
"env": {
|
|
117
|
-
"SCRAPER_API_TOKEN": "<
|
|
129
|
+
"SCRAPER_API_TOKEN": "<api_key>",
|
|
118
130
|
"TOOLSETS": "web,ai"
|
|
119
131
|
}
|
|
120
132
|
}
|
|
121
133
|
}
|
|
122
134
|
}
|
|
123
135
|
```
|
|
136
|
+
|
|
124
137
|
3. Save and restart Claude Desktop.
|
|
125
138
|
|
|
126
139
|
### Cursor
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
140
|
+
|
|
141
|
+
1. Open Settings → MCP.
|
|
142
|
+
2. Click Add a new global MCP server (opens mcp.json).
|
|
143
|
+
3. Add the same configuration as above.
|
|
144
|
+
4. Save — look for a green status indicator next to Decodo.
|
|
131
145
|
|
|
132
146
|
### Windsurf
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
147
|
+
|
|
148
|
+
1. Open Settings → Windsurf Settings.
|
|
149
|
+
2. Scroll to Cascade → Add custom server + (opens mcp_config.json).
|
|
150
|
+
3. Add the same configuration as above.
|
|
151
|
+
4. Save and restart Windsurf.
|
|
137
152
|
|
|
138
153
|
## Test your setup
|
|
154
|
+
|
|
139
155
|
Once connected, try this prompt in your client:
|
|
140
156
|
|
|
141
|
-
|
|
157
|
+
▎ "Scrape the titles of the top 5 articles from Hacker News"
|
|
158
|
+
|
|
159
|
+
You should get a structured list back within seconds. If you see an auth error, double-check your
|
|
160
|
+
API key on the dashboard.
|
|
142
161
|
|
|
143
|
-
You should get a structured list back within seconds. If you see an auth error, double-check your token from the dashboard.
|
|
144
162
|
## Optional: enable specific toolsets
|
|
145
|
-
|
|
146
163
|
|
|
147
164
|
# Running the MCP server locally
|
|
148
165
|
|
|
@@ -193,7 +210,7 @@ this:
|
|
|
193
210
|
"command": "node",
|
|
194
211
|
"args": ["/Users/your.user/projects/decodo-mcp/build/index.js"],
|
|
195
212
|
"env": {
|
|
196
|
-
"SCRAPER_API_TOKEN": "<
|
|
213
|
+
"SCRAPER_API_TOKEN": "<api_key>"
|
|
197
214
|
}
|
|
198
215
|
}
|
|
199
216
|
}
|
|
@@ -211,7 +228,7 @@ comma-separated list via the `toolsets` query parameter:
|
|
|
211
228
|
"Decodo MCP Server": {
|
|
212
229
|
"url": "https://mcp.decodo.com/mcp?toolsets=web,ai",
|
|
213
230
|
"headers": {
|
|
214
|
-
"Authorization": "
|
|
231
|
+
"Authorization": "Bearer <api_key>"
|
|
215
232
|
}
|
|
216
233
|
}
|
|
217
234
|
```
|
|
@@ -267,23 +284,23 @@ The server exposes the following tools:
|
|
|
267
284
|
|
|
268
285
|
The following parameters are inferred from user prompts:
|
|
269
286
|
|
|
270
|
-
| Parameter | Description
|
|
271
|
-
| --------------- |
|
|
272
|
-
| `jsRender` | Renders target URL in a headless browser.
|
|
273
|
-
| `geo` | Sets the country from which the request will originate.
|
|
274
|
-
| `locale` | Sets the locale of the request.
|
|
275
|
-
| `tokenLimit` | Truncates the response content up to this limit. Useful if the context window is small.
|
|
276
|
-
| `prompt` | Prompt to send to AI tools (`chatgpt`, `perplexity`).
|
|
277
|
-
| `search` | Activates ChatGPT's web search functionality (`chatgpt` only).
|
|
278
|
-
| `xhr` | When true, includes XHR or fetch responses in the scrape result where supported (e.g. `tiktok_post`).
|
|
287
|
+
| Parameter | Description |
|
|
288
|
+
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
289
|
+
| `jsRender` | Renders target URL in a headless browser. |
|
|
290
|
+
| `geo` | Sets the country from which the request will originate. |
|
|
291
|
+
| `locale` | Sets the locale of the request. |
|
|
292
|
+
| `tokenLimit` | Truncates the response content up to this limit. Useful if the context window is small. |
|
|
293
|
+
| `prompt` | Prompt to send to AI tools (`chatgpt`, `perplexity`). |
|
|
294
|
+
| `search` | Activates ChatGPT's web search functionality (`chatgpt` only). |
|
|
295
|
+
| `xhr` | When true, includes XHR or fetch responses in the scrape result where supported (e.g. `tiktok_post`). |
|
|
279
296
|
| `deviceType` | Device type to emulate (`desktop`, `mobile`, `tablet`). Parsed targets are stricter: Amazon tools are desktop-only so they omit it, and `bing_search`/`google_ai_mode` accept `desktop` and `mobile` only. |
|
|
280
|
-
| `domain` | Domain to use for the request (e.g., `amazon.com`, `amazon.co.uk`, `bing.com`).
|
|
281
|
-
| `pageFrom` | Starting page number for pagination.
|
|
282
|
-
| `deliveryZip` | ZIP code for delivery location (Target, Walmart).
|
|
283
|
-
| `storeId` | Store ID for local inventory (Walmart).
|
|
284
|
-
| `country` | Country for TikTok Shop requests.
|
|
285
|
-
| `limit` | Maximum number of results to return (e.g., YouTube channel videos).
|
|
286
|
-
| `language_code` | Language code for subtitles (e.g., `en`, `es`).
|
|
297
|
+
| `domain` | Domain to use for the request (e.g., `amazon.com`, `amazon.co.uk`, `bing.com`). |
|
|
298
|
+
| `pageFrom` | Starting page number for pagination. |
|
|
299
|
+
| `deliveryZip` | ZIP code for delivery location (Target, Walmart). |
|
|
300
|
+
| `storeId` | Store ID for local inventory (Walmart). |
|
|
301
|
+
| `country` | Country for TikTok Shop requests. |
|
|
302
|
+
| `limit` | Maximum number of results to return (e.g., YouTube channel videos). |
|
|
303
|
+
| `language_code` | Language code for subtitles (e.g., `en`, `es`). |
|
|
287
304
|
|
|
288
305
|
## Examples
|
|
289
306
|
|
|
@@ -319,13 +336,14 @@ Scrape hacker news, return full content.
|
|
|
319
336
|
|
|
320
337
|
## Use with Decodo agent skills
|
|
321
338
|
|
|
322
|
-
This server gives your agent the scraping
|
|
323
|
-
teaches it **when** to reach for
|
|
324
|
-
|
|
339
|
+
This server gives your agent the scraping _tools_.
|
|
340
|
+
[`Decodo/agent-skills`](https://github.com/Decodo/agent-skills) teaches it **when** to reach for
|
|
341
|
+
them, **which** surface to use, and **how** to call it — so the agent picks the right tool and
|
|
342
|
+
parameters on its own instead of guessing.
|
|
325
343
|
|
|
326
|
-
The skills route across the `decodo` CLI, this hosted MCP server, and the raw HTTP API, and fall
|
|
327
|
-
to the MCP server automatically when no shell is available. Pairing the two gives your agent
|
|
328
|
-
execution layer (this server) and the decision layer (the skills) in a single setup.
|
|
344
|
+
The skills route across the `decodo` CLI, this hosted MCP server, and the raw HTTP API, and fall
|
|
345
|
+
back to the MCP server automatically when no shell is available. Pairing the two gives your agent
|
|
346
|
+
both the execution layer (this server) and the decision layer (the skills) in a single setup.
|
|
329
347
|
|
|
330
348
|
**Quick start** (Claude Code):
|
|
331
349
|
|