MCP Search Server
MCP server that gives LLMs web search, intelligent article extraction, PDF parsing, and contextual awareness (datetime/geolocation) - zero setup, no API keys.
Install / Use
/learn @KazKozDev/MCP Search ServerQuality Score
Category
Development & EngineeringSupported Platforms
README
Search MCP Server
MCP server providing 27 tools for web search, content extraction, and data processing. No API keys required.
Built with a modular registry architecture for dynamic tool loading, categorization, and discovery.
Installation
From PyPI (recommended)
pip install mcp-search-server
From source
git clone https://github.com/KazKozDev/mcp-search-server.git
cd mcp-search-server
pip install -e .
Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"search": {
"command": "mcp-search-server"
}
}
}
Available Tools (27)
Meta Tools - Tool Discovery
<details> <summary><b>search_tools</b> - Find tools by query</summary>Why LLMs need this: With 27 tools available, finding the right one for a task is challenging. This meta-tool enables LLMs to search through available tools by keywords, categories, or use cases.
What it does: Searches the tool registry by name, description, category, or tags. Returns ranked results with relevance scores.
Parameters:
query(required): Search query (e.g., "find web pages", "date time", "github")limit: Max results (default: 5)
Example:
{"query": "search academic papers", "limit": 3}
</details>
<details>
<summary><b>list_tool_categories</b> - List all tool categories</summary>
Why LLMs need this: Tools are organized into categories (web, knowledge, social, etc.). This tool helps discover what categories exist and how many tools are in each.
What it does: Returns all available tool categories with counts.
Example:
{}
</details>
<details>
<summary><b>get_tool_info</b> - Get detailed info about a tool</summary>
Why LLMs need this: Before using a tool, LLMs need to understand its parameters, return format, and usage examples. This tool provides complete documentation for any registered tool.
What it does: Returns detailed metadata for a specific tool including description, parameters, category, priority, and usage info.
Parameters:
tool_name(required): Name of the tool
Example:
{"tool_name": "search_arxiv"}
</details>
Web Search & Content
<details> <summary><b>search_duckduckgo</b> - DuckDuckGo web search</summary>Why LLMs need this: LLMs have a knowledge cutoff date and cannot access current information. This tool gives them real-time access to the web, enabling answers about recent events, current prices, latest news, and up-to-date documentation.
What it does: Searches the web using DuckDuckGo with support for web and news modes, time filtering, and region-specific results.
Parameters:
query(required): Search querylimit: Max results (default: 10)mode:"web"or"news"timelimit:"d"(day),"w"(week),"m"(month),"y"(year)
Example:
{"query": "Python async programming", "limit": 5, "mode": "news", "timelimit": "w"}
</details>
<details>
<summary><b>search_maps</b> - Location and places search</summary>
Why LLMs need this: LLMs cannot look up real addresses, business locations, or geographic data. This tool enables location-based queries like finding nearby businesses, getting addresses, and working with geographic coordinates.
What it does: Searches for places, addresses, and locations with geographic coordinates. Returns structured location data including names, addresses, and coordinates.
Parameters:
query(required): Place or address to searchlimit: Max results (default: 5)
Example:
{"query": "coffee shops near Times Square NYC", "limit": 3}
</details>
<details>
<summary><b>extract_webpage_content</b> - Extract clean text from web pages</summary>
Why LLMs need this: Raw HTML is cluttered with navigation, ads, and scripts. LLMs need clean, readable text to understand and summarize web content effectively. This tool extracts just the main content.
What it does: Extracts readable content from any webpage, removing ads, navigation, and boilerplate. Uses multiple parsing methods (Readability, Newspaper3k, BeautifulSoup) with automatic fallback.
Parameters:
url(required): URL to extract content from
Example:
{"url": "https://example.com/article"}
</details>
<details>
<summary><b>parse_pdf</b> - Extract text from PDF files</summary>
Why LLMs need this: PDFs are a common format for research papers, reports, and documentation, but LLMs cannot read binary files directly. This tool converts PDF content to text for analysis.
What it does: Downloads and extracts text content from PDF documents using PyPDF2 or pdfplumber with automatic library selection.
Parameters:
url(required): PDF URLmax_chars: Maximum characters to extract (default: 50000)
Example:
{"url": "https://arxiv.org/pdf/2303.08774.pdf", "max_chars": 100000}
</details>
Wikipedia
<details> <summary><b>search_wikipedia</b> - Search Wikipedia articles</summary>Why LLMs need this: Wikipedia is a reliable, structured knowledge base. While LLMs have some Wikipedia knowledge from training, this tool provides access to the latest content and helps find specific articles on any topic.
What it does: Searches Wikipedia for articles matching a query. Returns article titles, snippets, and URLs.
Parameters:
query(required): Search querylimit: Max results (default: 5)
Example:
{"query": "machine learning", "limit": 3}
</details>
<details>
<summary><b>get_wikipedia_summary</b> - Get article summary</summary>
Why LLMs need this: Quick factual lookups need concise, authoritative information. Wikipedia summaries provide verified facts without the overhead of full articles, perfect for answering specific questions.
What it does: Gets a concise summary of a Wikipedia article - the introductory paragraphs that define the topic.
Parameters:
title(required): Article title
Example:
{"title": "Artificial Intelligence"}
</details>
<details>
<summary><b>get_wikipedia_content</b> - Get full article content</summary>
Why LLMs need this: For in-depth research, LLMs need complete information with all sections, references, and details. This tool provides the full Wikipedia article for comprehensive analysis.
What it does: Gets the complete content of a Wikipedia article with all sections, supporting multiple languages.
Parameters:
title(required): Article titlelang: Language code (default: "en")
Example:
{"title": "Quantum computing", "lang": "en"}
</details>
Academic & Research
<details> <summary><b>search_arxiv</b> - Search arXiv papers</summary>Why LLMs need this: Scientific research moves fast. arXiv hosts the latest preprints in physics, math, CS, and more. This tool gives LLMs access to cutting-edge research before it's even published in journals.
What it does: Searches arXiv for academic papers with filtering by category. Returns titles, abstracts, authors, and links.
Parameters:
query(required): Search querymax_results: Max results (default: 10)category: arXiv category (e.g., "cs.AI", "physics")
Example:
{"query": "transformer neural networks", "max_results": 5, "category": "cs.AI"}
</details>
<details>
<summary><b>search_pubmed</b> - Search medical/biomedical papers</summary>
Why LLMs need this: Medical and health questions require peer-reviewed sources. PubMed is the authoritative database for biomedical research, enabling LLMs to cite real studies rather than general knowledge.
What it does: Searches PubMed for biomedical and life science research papers. Returns titles, abstracts, authors, DOIs, and publication info.
Parameters:
query(required): Search querymax_results: Max results (default: 10)
Example:
{"query": "CRISPR gene therapy", "max_results": 5}
</details>
<details>
<summary><b>search_gdelt</b> - Search global news (GDELT)</summary>
Why LLMs need this: For current events and global news analysis, LLMs need access to worldwide media coverage. GDELT monitors news from every country, enabling analysis of how stories develop globally.
What it does: Searches the GDELT database for global news articles and events with time filtering.
Parameters:
query(required): Search querytimespan:"1d","7d", or"1m"(default: "1d")max_results: Max results (default: 10)
Example:
{"query": "climate summit", "timespan": "7d", "max_results": 5}
</details>
GitHub
<details> <summary><b>search_github</b> - Search GitHub repositories</summary>Why LLMs need this: Developers ask about libraries, frameworks, and code examples. This tool helps LLMs find relevant repositories, compare alternatives, and recommend tools based on real popularity metrics (stars, forks).
What it does: Searches GitHub for repositories by keywords with sorting by stars, forks, or update date.
Parameters:
query(required): Search que
