scrapeless-mcp-server 0.4.1 → 0.4.3

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  ![preview](./banner.png)
2
2
 
3
- # Scrapeless Mcp Server
3
+ # Scrapeless MCP Server
4
4
 
5
5
  Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. MCP provides a standardized way to connect LLM with the required context, helping you efficiently enhance chat interfaces, build AI-driven IDEs, or create custom AI workflows.
6
6
 
@@ -64,6 +64,9 @@ This project provides several MCP servers that enable AI assistants like Claude
64
64
  - `browser_scroll_to`
65
65
  Scroll a specific element into view.
66
66
 
67
+ - `browser_press_key`
68
+ Simulate a key press.
69
+
67
70
  ### Universal Tools
68
71
 
69
72
  - `scrape_html`
@@ -74,7 +77,7 @@ This project provides several MCP servers that enable AI assistants like Claude
74
77
  - `scrape_screenshot`
75
78
  Capture a high-quality screenshot of any webpage.
76
79
 
77
- ### Deepserp Tools
80
+ ### Deep SerpAPI Tools
78
81
 
79
82
  - `google_search`
80
83
  universal information search engine.retrieves any data information.explanatory queries (why, how).comparative analysis requests.
@@ -102,7 +105,7 @@ This project provides several MCP servers that enable AI assistants like Claude
102
105
  ```json
103
106
  {
104
107
  "mcpServers": {
105
- "ScrapelessMcpServer": {
108
+ "Scrapeless MCP Server": {
106
109
  "command": "npx",
107
110
  "args": ["-y", "scrapeless-mcp-server"],
108
111
  "env": {
@@ -126,7 +129,7 @@ npx scrapeless-mcp-server --mode=streamable_http --SCRAPELESS_KEY=YOUR_SCRAPELES
126
129
  ```json
127
130
  {
128
131
  "mcpServers": {
129
- "ScrapelessMcpServer": {
132
+ "Scrapeless MCP Server": {
130
133
  "type": "streamable-http",
131
134
  "url": "http://127.0.0.1:9593/mcp",
132
135
  "disabled": false
@@ -139,11 +142,37 @@ npx scrapeless-mcp-server --mode=streamable_http --SCRAPELESS_KEY=YOUR_SCRAPELES
139
142
 
140
143
  Here are some examples of how to use these servers with Claude Desktop:
141
144
 
142
- ### Google Search
145
+ ### browser
143
146
 
144
- ```
145
- Please search for "climate change solutions" and summarize the top results.
146
- ```
147
+ Use a browser to visit chatgpt.com, search for "What's the weather like today?", and summarize the results.
148
+
149
+ ### scrape_html
150
+
151
+ Scrape the html content of scrapeless.com page
152
+
153
+ ### scrape_markdown
154
+
155
+ Scrape the markdown content of scrapeless.com page
156
+
157
+ ### scrape_screenshot
158
+
159
+ Get screenshots of scrapeless.com
160
+
161
+ ### google_flights
162
+
163
+ Please help me with my flight ticket from Chicago to New York on November 20, 2025
164
+
165
+ ### google_scholar
166
+
167
+ Find papers by "Yoshua Bengio" on deep learning
168
+
169
+ ### google_search
170
+
171
+ Search scrapeless by google search
172
+
173
+ ### google_trends
174
+
175
+ Find the search interest for "AI" over the last year
147
176
 
148
177
  ## Installation
149
178
 
@@ -442,3 +442,42 @@ export const browserScrollTo = defineTool({
442
442
  }
443
443
  },
444
444
  });
445
+ export const browserPressKey = defineTool({
446
+ name: "browser_press_key",
447
+ description: `Simulate a key press.
448
+ Restrictions: Must specify a valid key name; optional target selector.
449
+ Valid: Press Enter in #search.
450
+ Invalid: Press a key without specifying the key name.`,
451
+ inputSchema: {
452
+ selector: z.string().describe("The CSS selector of the element to focus.").optional(),
453
+ key: z.string().describe('Name of the key to press or a character to generate, such as `ArrowLeft` or `a`'),
454
+ },
455
+ handle: async (context, params) => {
456
+ const session = context.getSession(params.sessionId);
457
+ if (!session?.page) {
458
+ return wrapMcpBrowserResponse("No active browser session found. Please create a browser session first.");
459
+ }
460
+ try {
461
+ if (params.selector) {
462
+ await session.page.focus(params.selector);
463
+ }
464
+ await session.page.keyboard.press(params.key);
465
+ const accessibilitySnapshot = await snapshot(session.page);
466
+ return {
467
+ content: [
468
+ {
469
+ type: "text",
470
+ text: params.selector ? `Focus on the ${params.selector} and press ${params.key}` : `press ${params.key}`,
471
+ },
472
+ {
473
+ type: "text",
474
+ text: accessibilitySnapshot,
475
+ },
476
+ ],
477
+ };
478
+ }
479
+ catch (error) {
480
+ return wrapMcpBrowserResponse(`Failed to press key: ${error.message}`);
481
+ }
482
+ },
483
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scrapeless-mcp-server",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "bin": {