openserp
karust · karust/openserp
Một MCP server tự lưu trữ để tìm kiếm web trên Google, Bing và nhiều công cụ khác, cung cấp kết quả dạng Markdown sạch cho agent.
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 🎉
Xem kết quả thực tế
Ảnh từ README của tác giả karust ·Nguồn
Bạn có thể làm gì với nó
- Cấp cho AI agent khả năng tìm kiếm web thời gian thực mà không cần trả phí cho các API tìm kiếm.
- Trích xuất nội dung Markdown sạch từ kết quả tìm kiếm để agent phân tích.
- Thực hiện 'megasearch' trên nhiều công cụ tìm kiếm cùng lúc để tìm thông tin chuyên sâu.
Đã chạy thử thật · 10 tool
Chúng tôi đã khởi động MCP server này trong máy ảo cách ly, và nó cung cấp các tool sau:
searchSearch web results with a specific OpenSERP engine.
mega_searchSearch across multiple engines with balanced, any, or fast execution.
fast_searchReturn the first successful web result set, prioritizing healthy, low-latency engines.
any_searchStart engines in your order and return the first successful web result set. On Cloud, slow attempts can overlap.
image_searchSearch image results with a specific OpenSERP engine.
mega_imageSearch images across multiple engines.
get_usageReturn OpenSERP Cloud account and credit information.
list_enginesList OSS engines or Cloud capabilities and operational status.
extractExtract LLM-ready content from a URL.
batch_extractExtract LLM-ready content from up to 20 URLs in one request. Prefer this over repeated extract calls when grounding an answer in several pages: it is one round-trip, and a URL that fails returns an it
npx -y @openserp/mcp · 26/10/2026
Kiểm tra an toàn
Không thấy dấu hiệu rủi ro trong các file đã quét.
Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.
Trích từ README
OpenSERP
OpenSERP is a free, open-source SERP API and CLI for Google, Yandex, Baidu, Bing, DuckDuckGo, and Ecosia.
No API keys, no per-search billing: one command gives you live, structured search results on localhost - including engines the paid APIs don't cover. Use it as a search tool for LLMs and agents, or as a backend for SEO rank tracking. If you'd rather not run infrastructure, there is a hosted version with the same API.
Features
- Dedicated endpoints for six engines, same JSON schema across all of them
- Megasearch - one query across several engines at once, merged and deduped
- URL extraction - search results plus clean markdown of the target pages in one call
- SERP features: AI summaries, answer boxes, people-also-ask, related searches
- Image search, filters (language, date range, file type, site), JSON/Markdown/Text/NdJSON output
- Proxies, cache, resilient mode, prebuilt Docker images
Quick Start
Docker
Prebuilt images are published to docker hub: karust/openserp.
# Run the API server via prebuilt image
docker run --rm -p 127.0.0.1:7000:7000 karust/openserp:latest serve -a 0.0.0.0 -p 7000
# Or
docker compose up
Go install
go install github.com/karust/openserp@latest
openserp search duckduckgo "open source serp api" --format markdown
From Source
git clone https://github.com/karust/openserp.git
cd openserp
go build -o openserp .
./openserp serve
First request
# mode=any returns the first engine that responds
curl "http://127.0.0.1:7000/mega/search?engines=bing,google&text=golang+vs+rust&extract=1&mode=any"
Example JSON response
{
"query": {
"text": "golang vs rust",
"engines_requested": ["bing", "google"]
},
"meta": {
"request_id": "019ecdc0-a66d-79a4-9d2b-9e9b480d495e",
"requested_at": "2026-06-16T00:06:55Z",
"took_ms": 720,
"engines_responded": ["bing"],
"engines_failed": [],
"version": "2.1"
},
"results": [
{
"id": "s_5a8273f16b19ab64",
"rank": 1,
"type": "organic",
"title": "The Go Programming Language",
"url": "https://go.dev/",
"display_url": "go.dev",
"snippet": "Get Started Playground Tour Stack Overflow Help Packages Standard Library …",
"domain": "go.dev",
"favicon": "https://go.dev/favicon.ico",
"position": {
"absolute": 1
},
"engine": "bing",
"domain_info": {
"tld": "dev",
"sld": "go",
"category": ""
},
"extracted": {
"title": "Build simple, secure, scalable systems with Go",
"format": "markdown",
"content": "## Build simple, secure, scalable systems with Go\n\n\n\n- “At the time, no single team member knew Go, but **within a month, everyone was writing in Go** and we were building out the endpoints. ........",
"mode_used": "fast",
"fetched_at": "2026-06-16T00:06:56Z"
}
},
{
"id": "s_1a364ebcb3035539",
"rank": 2,
"type": "organic",
"title": "Go (programming language) - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Go_(programming_language)",
"display_url": "en.wikipedia.org › wiki › Go_(programming_language)",
"snippet": "In Go's package system, each package has a path (e.g., \"compress/bzip2\" or \"golang.org/x/net/html\") and a name (e.g., bzip2 or html). …",
"domain": "en.wikipedia.org",
"favicon": "https://en.wikipedia.org/favicon.ico",
"position": {
"absolute": 2
},
"engine": "bing",
"domain_info": {
"tld": "org",
"sld": "wikipedia",
"category": ""
},
"classification": {
"content_type": "article",
"source_hint": "encyclopedia"
}
},
...
],
"serp_features": [],
"pagination": {
"page": 1,
"has_more": false,
"next_start": 10
},
"clusters": [
{
"id": "c_f20b23a020101dce",
"canonical_url": "https://go.dev/",
"domain": "go.dev",
"title": "The Go Programming Language",
"occurrences": [
{
"engine": "bing",
"rank": 1,
"result_id": "s_5a8273f16b19ab64"
}
],
"engines_count": 1,
"best_rank": 1,
"score": 0.5
},
...
]
}
SDKs & Examples
Official client packages. Each works against your self-hosted server (set baseUrl) or the hosted API (set apiKey):
| Type | Package | Source | Install |
|---|---|---|---|
| JavaScript / TypeScript SDK | @openserp/sdk | openserpapi/sdk-js | npm install @openserp/sdk |
| Python SDK | openserp | openserpapi/sdk-python | pip install openserp |
| MCP server (AI agents) | @openserp/mcp | openserpapi/mcp | npx @openserp/mcp |
| n8n community node | @openserp/n8n-nodes-openserp | openserpapi/n8n | Install via n8n community nodes |
See examples for smal
