loading…
Search for a command to run...
loading…
Enables AI assistants to search the web, fetch news, and retrieve page content via DuckDuckGo or Brave Search, with domain whitelisting and audit logging.
Enables AI assistants to search the web, fetch news, and retrieve page content via DuckDuckGo or Brave Search, with domain whitelisting and audit logging.
Apify Actor MCP Compatible License
An Apify Actor that runs a persistent Model Context Protocol (MCP) server, giving AI assistants real-time web search capabilities. Connect Claude Desktop, Cursor, or any MCP-compatible AI client to search the web without leaving your workflow.
fetch_page to approved domainshttps://web-search-mcp.username.apify.actor)Add the following to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"web-search": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://YOUR-STANDBY-URL/sse"]
}
}
}
Restart Claude Desktop and you'll see the tools appear in the interface.
Set the SSE URL to: https://YOUR-STANDBY-URL/sse
| Parameter | Type | Default | Description |
|---|---|---|---|
defaultMaxResults |
integer | 10 |
Default number of results returned per search |
braveApiKey |
string | — | Optional Brave Search API key for better results |
enableFetchTool |
boolean | true |
Enable the fetch_page tool |
enableNewsTool |
boolean | true |
Enable the search_news tool |
allowedDomains |
string[] | [] |
Whitelist domains for fetch_page (empty = all allowed) |
logSearches |
boolean | false |
Log all queries to the Apify dataset |
search_webSearch the web and get ranked results.
Parameters:
query (string, required) — The search querymaxResults (integer, optional, default: 10) — Number of results (1–50)safeSearch (enum, optional) — strict, moderate, or offReturns: Ranked list of results with title, URL, and snippet.
search_newsSearch for recent news articles.
Parameters:
query (string, required) — News search querymaxResults (integer, optional) — Number of articles (1–20)Returns: List of news articles with publication time when available.
fetch_pageFetch a web page and return its clean text content.
Parameters:
url (string, required) — Full URL to fetchmaxLength (integer, optional, default: 8000) — Max characters (500–50000)Returns: Page title, meta description, and extracted body text.
| Endpoint | Method | Description |
|---|---|---|
/sse |
GET | MCP SSE connection endpoint |
/messages?sessionId=X |
POST | MCP message handler |
/health |
GET | Health check + active sessions |
/ |
GET | Server info and instructions |
AI Client (Claude, Cursor, etc.)
│ SSE connection
▼
Express HTTP Server (:3000)
│
MCP Server (McpServer)
│
┌─────┴──────────┐
│ Search Tools │
└─────┬──────────┘
│
┌─────┴─────────────────────┐
│ DuckDuckGo HTML API │ (default, no key needed)
│ Brave Search REST API │ (optional, with API key)
└────────────────────────────┘
git clone https://github.com/your-org/web-search-mcp
cd web-search-mcp
npm install
npm start
The server starts on http://localhost:3000. Connect any MCP client to http://localhost:3000/sse.
Once connected, you can ask Claude:
"Search for the latest news about AI regulations in Europe"
"What are the top Python web frameworks in 2025? Search the web and summarize."
"Fetch the content from https://example.com/blog/post and summarize the key points."
Apache 2.0 — see LICENSE
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"web-search-mcp-server": {
"command": "npx",
"args": []
}
}
}