search
MCP server from kim57uak/search-mcp-server
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
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.