metasearch2-mcp
v0.1.0
Published
MCP server for web search powered by metasearch2 — no API keys required
Downloads
28
Maintainers
Readme
metasearch2-mcp
MCP server that adds a web_search tool powered by metasearch2 -- a fast meta-search engine that aggregates results from Google, Bing, Brave, and others. No API keys required.
Want web search for your agent but don't want to pay for an API key? This is the server for you. It runs a local meta-search engine that scrapes results from multiple providers -- completely free, no accounts, no rate limits, no tokens to manage.
Credits
Built on metasearch2 by mat-1 -- an awesome open-source meta-search engine written in Rust. All the heavy lifting (search aggregation, ranking, deduplication) happens there.
Quick start
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"metasearch2": {
"command": "npx",
"args": ["-y", "metasearch2-mcp"]
}
}
}Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"metasearch2": {
"command": "npx",
"args": ["-y", "metasearch2-mcp"]
}
}
}VS Code
Add to .vscode/mcp.json in your project:
{
"servers": {
"metasearch2": {
"type": "stdio",
"command": "npx",
"args": ["-y", "metasearch2-mcp"]
}
}
}Claude Code
claude mcp add metasearch2 -- npx -y metasearch2-mcpThe server ships with pre-built binaries for macOS, Linux, and Windows -- no Rust toolchain needed.
Tool
web_search
Search the web using a local metasearch engine that aggregates results from Google, Bing, Brave, and others. Returns raw JSON with search results, featured snippets, direct answers, and infoboxes.
| Argument | Type | Default | Description |
|---|---|---|---|
| query | string | (required) | The search query |
| type | "all" \| "images" | "all" | "all" for web results, "images" for image search |
Web search response
[{
"search_results": [
{
"result": { "url": "https://...", "title": "...", "description": "..." },
"engines": ["google", "bing", "brave"],
"score": 1.55
}
],
"featured_snippet": {
"url": "https://...", "title": "...", "description": "...", "engine": "google"
},
"answer": { "html": "42", "engine": "numbat" },
"infobox": { "html": "<h2>...</h2>", "engine": "wikipedia" }
}]Image search response
[{
"image_results": [
{
"result": {
"image_url": "https://...",
"page_url": "https://...",
"title": "...",
"width": 1200,
"height": 800
},
"engines": ["google", "bing"],
"score": 1.5
}
]
}]Configuration
| Variable | Default | Description |
|---|---|---|
| METASEARCH_BIN | (auto-resolved) | Path to the metasearch2 binary |
| METASEARCH_PORT | 28019 | Port for the local HTTP API |
| METASEARCH_AUTO_INSTALL | true | Set to false to skip auto cargo install |
Advanced: engine configuration
The server generates a default ~/.config/metasearch/config.toml on first run. You can edit it to enable/disable engines, adjust ranking weights, or block domains:
api = true
bind = "0.0.0.0:28019"
[image_search]
enabled = true
[engines]
google_scholar = true # enable (off by default)
marginalia = false # disable
[engines.brave]
weight = 2.0 # boost Brave results
[urls.weight]
".quora.com" = 0 # hide Quora results
".pinterest.com" = 0 # hide Pinterest resultsLicense
MIT
