Self-hosted web search for AI agents and SEO. Google, Bing, Yandex, Baidu, DuckDuckGo & Ecosia, rendered in a real browser: ranked results and clean page Markdown. API, CLI, MCP 🎉
MCPpedia last refreshed this data
Openserp is an MCP server that self-hosted web search for AI agents and SEO. Google, Bing, Yandex, Baidu, DuckDuckGo & Ecosia, rendered in a real browser: ranked results and clean page Markdown. API, CLI, MCP 🎉. Its tool list has not been published yet over stdio and http, requires no API key, and scores 91/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"openserp": {
"args": [
"openserp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
OpenSERP is a free, open-source SERP API and CLI for Google, Yandex, Baidu, Bing, DuckDuckGo, and Ecosia.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked openserp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in search / ai-ml
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Open-source web scraper for AI agents with scrape, crawl, and map tools
An open-source AI agent that brings the power of Gemini directly into your terminal.
🛡️ BLA (Blind LLM Agents) — Adversarial defense shield that protects binaries, Electron apps, JS bundles, Python, and WebAssembly against AI reverse-engineering agents like REA. Poison -> Exhaust -> Hallucinate.
MCP Security Weekly
Get CVE alerts and security updates for Openserp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
OpenSERP is a free self-hosted web search for AI agents and SEO. REST API and CLI for Google, Bing, Yandex, Baidu, DuckDuckGo and Ecosia.
No API keys, no per-search billing. It loads search results in browser and returns structured JSON with source engines and ranks. Read the linked pages as clean Markdown, or connect an agent through MCP.
Works with Claude Code, Cursor, Codex, Claude Desktop and any MCP client, Open WebUI (built-in provider), n8n, and plain HTTP from any language.
API examples · CLI · Agent setup · API reference

# Start the API server
docker run --rm --init -p 127.0.0.1:7000:7000 karust/openserp serve -a 0.0.0.0 -p 7000
# Search Google and read the top result as Markdown
curl "http://127.0.0.1:7000/google/search?text=how+do+mcp+servers+work&extract=1"
# Docker Compose
docker compose up
# Go
go install github.com/karust/openserp@latest
openserp serve
# From source
git clone https://github.com/karust/openserp.git
cd openserp && go build -o openserp . && ./openserp serve
Prebuilt binaries for Linux, macOS and Windows are on the releases page. Images: karust/openserp.
Requires Node.js 18+ and a running OpenSERP server. Add the MCP server to your client:
claude mcp add openserp -- npx -y @openserp/mcp
codex mcp add openserp -- npx -y @openserp/mcp
Cursor (~/.cursor/mcp.json), Claude Desktop, Windsurf and other clients:
{
"mcpServers": {
"openserp": { "command": "npx", "args": ["-y", "@openserp/mcp"] }
}
}
On native Windows, use cmd /c npx -y @openserp/mcp after -- in the CLI commands, or "command": "cmd", "args": ["/c", "npx", "-y", "@openserp/mcp"] in JSON.
For a remote server, add "env": { "OPENSERP_BASE_URL": "http://your-host:7000" } to the openserp JSON entry.
Tools: search, mega_search, fast_search, any_search, image_search, mega_image, extract, batch_extract, list_engines. Then just ask: "Search Google for the latest Postgres release, read the top 2 results and answer with links."
Optional for Claude Code: copy skills/openserp-search to ~/.claude/skills/ so the agent searches, reads and falls back to another engine the same way every time.
OpenSERP is a built-in web search provider. In Settings > Admin > Web Search pick openserp and set the URL (http://host.docker.internal:7000 if Open WebUI runs in Docker). See the Open WebUI guide.
A search tool for any LLM framework is a few lines with the SDK:
from openserp import OpenSERP
def web_search(qu
... [View full README on GitHub](https://github.com/karust/openserp#readme)