mcpField
O
OpenSERP

OpenSERP

Local
openserp.orgSearch3Updated 1d ago

About OpenSERP

@openserp/mcp is an MCP server for AI agents that need web and image search or page content extraction. It searches six engines while retaining each result’s engine and rank, and can run against a self-hosted OpenSERP server or OpenSERP Cloud.

Key features

  1. 01Search across six engines
  2. 02Preserve source engine and rank
  3. 03Search images on one or more engines
  4. 04Extract pages as Markdown
  5. 05Batch extraction for up to 20 URLs
  6. 06Check Cloud usage and credits

Use cases

  1. 01Compare results from multiple engines
  2. 02Search images from an engine
  3. 03Read several source pages for an answer
  4. 04Check Cloud credit balance

MCP support

Exposes search, image-search, extraction, engine-status, and usage tools to MCP clients. It can use a self-hosted OpenSERP server or OpenSERP Cloud.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"org-openserp": {
"command": "npx",
"args": [
"-y",
"@openserp/mcp"
],
"env": {
"OPENSERP_API_KEY": "<OPENSERP_API_KEY>",
"OPENSERP_BASE_URL": "<OPENSERP_BASE_URL>"
}
}
}
}
Run commandnpx -y @openserp/mcp
Environment variables to set
OPENSERP_API_KEYSecretOpenSERP Cloud API key. Leave unset to use a self-hosted OpenSERP server (http://localhost:7000 by default).
OPENSERP_BASE_URLOpenSERP API base URL, for a self-hosted server on another host or port.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@openserp/mcp0.1.12

Tools

10

Saved tool list · updated today

ParameterTypeRequiredDescription
datestringNoPublished-date range YYYYMMDD..YYYYMMDD. Cloud web search supports Google and Ecosia; unsupported filters return 400 without charge.
filestringNoFile extension filter, such as PDF.
langstringNoLanguage code, such as EN or de.
sitestringNoDomain filter, such as example.com.
textstringNoSearch query text. At least one of text, site, or file should be provided.
limitintegerNoMaximum result count, 1-100. Keep 10 when paging with start.
startintegerNoResult offset. On Cloud, Google/Bing/Yandex use multiples of 10, Baidu supports early pages, Ecosia any offset, DuckDuckGo none. Balanced mega requires 0; unsupported offsets return 400.
engineenumYesEngine to query: google, bing, yandex, baidu, duckduckgo (or duck), ecosia.google | bing | yandex | baidu | duck | duckduckgo | ecosia
filterbooleanNoLet the engine collapse near-duplicate results (default true, mostly affects Google).
formatenumNojson (default) for structured results; markdown, text or ndjson for compact plain text.json | markdown | text | ndjson
regionstringNoMarket or location hint, such as US, DE, en-GB, Berlin, or a Yandex lr id.
extractanyNoEnrich the top web results with cleaned page content. Boolean or integer depth: false/0 off, true/1 top result, N top N (1-5).
featuresbooleanNoAdd serp_features (AI summary, answer box, People Also Ask, related searches) when the engine shows them.
minRunesintegerNoMinimum text length (in runes) before auto mode escalates to a browser render. 0 uses the built-in floor.
extractModeenumNoauto (default): fast HTTP fetch, browser render if the page comes back empty. fast: HTTP only. rendered: always a browser, for JavaScript-heavy pages.auto | fast | rendered

Details

From the project README

@openserp/mcp

npm version license

Live search on six engines (Google, Bing, Yandex, Baidu, DuckDuckGo, Ecosia), image search and single/batch page extraction for AI agents. Results keep the source engine and rank. Runs against a self-hosted OpenSERP server or OpenSERP Cloud.

When OPENSERP_API_KEY is not set, the server uses OSS mode at http://localhost:7000 and writes:

[openserp-mcp] No OPENSERP_API_KEY set - using OSS mode at http://localhost:7000.
[openserp-mcp] Get an API key: https://openserp.org/dashboard/keys
[openserp-mcp] Docs: https://openserp.org/docs | Issues: https://github.com/openserpapi/mcp/issues

Set OPENSERP_API_KEY to use OpenSERP Cloud. API keys are available at https://openserp.org/dashboard/keys. Set OPENSERP_BASE_URL to target another compatible OpenSERP API base URL.

Install

npm install -g @openserp/mcp

You can also run it without installing:

npx -y @openserp/mcp --stdio

Tools

ToolUse it when
searchThe engine matters (Yandex for Russian, Baidu for Chinese), or you page with start
any_searchYou want a preferred engine with fallbacks, in your order
fast_searchAny engine will do; picks the healthiest, fastest one
mega_searchYou compare engines or want wider coverage; results keep engine and rank
image_searchImages from one engine
mega_imageImages merged from several engines
extractReading one page as Markdown
batch_extractReading several pages (up to 20) in one call; a failed URL doesn't fail the batch
list_enginesSearches keep failing and you need a healthy engine
get_usageChecking the Cloud credit balance or what the last call cost

extract and batch_extract cut long pages to fit an agent's context: 20,000 characters per page, or 40,000 shared across a batch (at least 2,000 per URL). Cut content ends with a [truncated: ...] line and is flagged (truncated / metadata.truncated). Pass maxChars to read more.

Quick Examples

Ask your MCP client to:

  • Search Google for current docs and return the top 5 URLs.
  • Compare Google and Bing results for an SEO keyword.
  • Extract clean Markdown from a URL before passing it to an LLM.
  • Ground an answer in several sources at once with batch_extract - up to 20 URLs in one round-trip, where a dead link returns an error item instead of failing the batch.
  • Read a geo-fenced page as a local visitor by passing region: "DE".
  • Check remaining Cloud credits with get_usage.

Cloud search parameters

Cloud requests use Authorization: Bearer with OPENSERP_API_KEY. For paging, use start and keep limit: 10; pass the previous response's pagination.next_start while has_more is true. Google, Bing, and Yandex take multiples of 10; Baidu supports early pages, Ecosia any offset, and DuckDuckGo only the first page. mega_search with mode: "balanced" rejects start > 0; use search, any_search, or fast_search for later pages.

Cloud web search supports date: "20250101..20251231" on Google and Ecosia. Unsupported offsets or date filters return 400 invalid_request without charge; adjust the request before retrying.

list_engines returns Cloud capabilities plus operational status. Omit engines to use defaults. Any starts engines in your order, overlapping slow attempts; Fast prioritizes recent health and latency. Read meta.engine_used for the winner; engines_tried and engines_skipped may be absent.

Tool errors include the public HTTP status, error code, request ID, and retry delay when present. Honor retry_after for 429 and 503; 503 engine_unavailable carries a 60-second delay. The server does not retry automatically.

Claude Desktop

Local OSS mode:

{
  "mcpServers": {
    "openserp": {
      "command": "npx",
      "args": ["-y", "@openserp/mcp"]
    }
  }
}

Cloud mode:

{
  "mcpServers": {
    "openserp": {
      "command": "npx",
      "args": ["-y", "@openserp/mcp"],
      "env": {
        "OPENSERP_API_KEY": "osk_live_..."
      }
    }
  }
}

Cursor

For stdio use, add an MCP server entry:

{
  "mcpServers": {
    "openserp": {
      "command": "npx",
      "args": ["-y", "@openserp/mcp"],
      "env": {
        "OPENSERP_API_KEY": "osk_live_..."
      }
    }
  }
}

For remote-style HTTP use, run:

npx -y @openserp/mcp --http --host 127.0.0.1 --port 3333

Then point a streamable HTTP MCP client to:

http://127.0.0.1:3333/mcp

Clients that still use the older SSE transport can connect to:

http://127.0.0.1:3333/sse

Environment

  • OPENSERP_API_KEY: Cloud API key from https://openserp.org/dashboard/keys.
  • OPENSERP_BASE_URL: API base URL override.
  • OPENSERP_BACKEND: Optional backend hint, oss or cloud.
  • OPENSERP_TIMEOUT_MS: SDK request timeout in milliseconds.
  • HOST: HTTP host, default 127.0.0.1.
  • PORT: HTTP port, default 3333.

Resources

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.