Get the FREE Ultimate OpenClaw Setup Guide →

search

MCP server from kim57uak/search-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio kim57uak-search-mcp-server npx -y github:kim57uak/search-mcp-server \
  --env PERPLEXITY_API_KEY="your_perplexity_api_key_here (required for perplexitySearch)"

How to use

This MCP server implements a versatile set of web search tools under the MCP framework. It exposes a general search tool that can query a single engine or perform integrated searches across multiple engines defined in the search_engines.json configuration. It also provides a Google-specific search tool that uses a HumanLikeGoogleCrawler to fetch Google results, a Perplexity AI-based search for real-time results with optional regional filtering, and a fetchUrl tool to retrieve and optionally query content from a provided URL. The tools are exposed via the @modelcontextprotocol/sdk, so MCP-based clients can send requests and receive structured results. To use the server, run it via npx as documented, then interact with the tools by issuing MCP requests that specify the tool name (e.g., search, googleSearch, perplexitySearch, fetchUrl) and the appropriate inputs.

Typical use cases include performing language-aware or engine-specific web searches, retrieving Google results with a human-like crawler, obtaining real-time results from Perplexity AI with optional country targeting, and fetching content from a specific URL for custom URL-based queries. The input schema for each tool is described in the README: for example, search accepts query, engineName, languageCode, and includeHtml; perplexitySearch accepts query, country, and includeHtml; googleSearch accepts query and includeHtml; fetchUrl accepts url, query, queryParamName, and includeHtml. The outputs contain structured JSON with fields such as resultText, retrievedAt, and relevant metadata about the source.

How to install

Prerequisites:\n- Node.js (and npm) installed on your system. You can install Node.js from https://nodejs.org/.\n- Basic familiarity with npm and GitHub.\n\nOption A: Run directly with npx (recommended, no local installation required)\n1. Ensure you have a working Node.js environment and npm.\n2. Run the MCP server via npx (as shown in the README):\n\nbash\nnpx github:kim57uak/search-mcp-server\n``\nThis fetches and runs the latest MCP server from GitHub. The server will listen for MCP requests on stdin/stdout.\n\nOption B: Clone and run locally (for development)\n1. Clone the repository:\nbash\ngit clone https://github.com/kim57uak/search-mcp-server.git\ncd search-mcp-server\n\n2. Install dependencies:\nbash\nnpm install\n\n3. Start the server:\nbash\nnpm start\n\n4. For development mode (auto-reload), you can use a watcher like nodemon:\nbash\nnpm run dev\n```\n\nEnvironment configuration:\n- Perplexity API access is optional but required for perplexitySearch.\n - Set the API key as an environment variable: export PERPLEXITY_API_KEY=your_api_key (bash) or create a .env file with PERPLEXITY_API_KEY=your_api_key.\n- If you customize the search engines or crawler behavior, update search_engines.json and src/config/serviceConfig.js as described in the README.\n\nNote: Since this server is designed to be run via npx for distribution, local installations primarily target development and testing workflows.

Additional notes

Tips and common considerations:\n- Perplexity API key is optional unless you plan to use perplexitySearch; if omitted, that tool will be unavailable or fail gracefully.\n- The search_engines.json file defines engine endpoints and query parameters; modify it to add or adjust engines without changing code.\n- fetchUrl can perform user-defined URL-based searches by appending a query parameter; use query and queryParamName to tailor the URL.\n- Ensure environment-specific variable handling when running on different platforms (Claude Desktop, VS Code, etc.). The README mentions where to set env vars in those environments.\n- Logs are handled by Winston; check log outputs for debugging, errors, and performance insights.\n- When running locally, you can use the npm scripts (start for production, dev for development) to validate MCP interactions.\n- The MCP inputs and outputs are designed to be compatible with MCP SDK tooling, so you can chain tools or compose complex interactions as MCP requests.

Related MCP Servers

Sponsor this space

Reach thousands of developers