OpenSERP Cloud
OfficialOpenSERP Cloud is an MCP server providing web search, image search, and content extraction across multiple search engines.
Web search:
search(single-engine: Google, Bing, Yandex, Baidu, DuckDuckGo, Ecosia),mega_search(multi-engine with balanced/any/fast modes),fast_search(auto fastest),any_search(first successful).Image search:
image_search(single),mega_image(multi).Content extraction:
extract(single URL, clean content in Markdown/text/JSON, fast or JS-rendered),batch_extract(up to 20 URLs).Account & metadata:
get_usage(credits),list_engines(available engines, OSS/Cloud).Advanced: Filters (language, region, date, domain, file type, pagination, rich features), optional enrichment of top search results via extraction (configurable depth), geo-fenced browsing, and support for both OSS (local) and Cloud (API key) modes.
Enables querying Google search engine via OpenSERP, supporting web search, image search, filtering by site/language/region, and enrichment of results with cleaned page content.
@openserp/mcp
Model Context Protocol server for OpenSERP OSS and OpenSERP Cloud. It gives MCP clients search, image search, single and batch URL extraction, usage, and engine metadata tools.
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/issuesSet 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/mcpYou can also run it without installing:
npx -y @openserp/mcp --stdioRelated MCP server: Google Cheap Search
Tools
searchmega_searchfast_searchany_searchimage_searchmega_imageget_usagelist_enginesextractbatch_extract
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.
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 3333Then point a streamable HTTP MCP client to:
http://127.0.0.1:3333/mcpClients that still use the older SSE transport can connect to:
http://127.0.0.1:3333/sseEnvironment
OPENSERP_API_KEY: Cloud API key from https://openserp.org/dashboard/keys.OPENSERP_BASE_URL: API base URL override.OPENSERP_BACKEND: Optional backend hint,ossorcloud.OPENSERP_TIMEOUT_MS: SDK request timeout in milliseconds.HOST: HTTP host, default127.0.0.1.PORT: HTTP port, default3333.
Resources
Available Tools
9 toolsany_searchAny SearchA
Try engines in order and return the first successful web result set.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date interval in YYYYMMDD..YYYYMMDD format. | |
| file | No | File extension filter, such as PDF. | |
| lang | No | Language code, such as EN or de. | |
| site | No | Domain filter, such as example.com. | |
| text | No | Search query text. At least one of text, site, or file should be provided. | |
| limit | No | Maximum result count. | |
| merge | No | Merge successful engine results. | |
| start | No | Pagination offset. | |
| dedupe | No | Deduplicate by normalized URL. | |
| filter | No | Enable duplicate filtering. | |
| format | No | Response format. | json |
| region | No | Market or location hint, such as US, DE, en-GB, Berlin, or a Yandex lr id. | |
| engines | No | Engines to query. Omit to use all available engines. | |
| extract | No | Enrich the top web results with cleaned page content. Boolean or integer depth: false/0 off, true/1 top result, N top N (1-5). | |
| features | No | Include supported rich SERP features. | |
| minRunes | No | Minimum content length (in runes) before auto mode escalates to rendered extraction. | |
| extractMode | No | Extraction strategy for target pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions engine order and fallback behavior but lacks details on rate limits, error handling, or what happens if all engines fail. The transparency is basic but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the key behavior. Every word provides value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, no output schema), the description is too minimal. It does not explain the result structure, pagination behavior, or how to interpret responses. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The tool description does not add additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it tries multiple search engines in order and returns results from the first successful one. This is a specific verb+resource combination that distinguishes it from siblings like 'search' or 'mega_search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fallback scenarios but does not explicitly state when to use this tool versus alternatives like 'search' or 'mega_image'. No guidance on prerequisites or conditions when not to use is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extractExtract URLB
Extract LLM-ready content from a URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute URL to fetch and extract. | |
| lang | No | Language hint. | |
| mode | No | Extraction strategy. | auto |
| clean | No | Use article-only extraction when true. | |
| format | No | Response format. | json |
| minRunes | No | Minimum content length (in runes) before auto mode escalates to rendered extraction. | |
| useLlmsTxt | No | Prefer /llms-full.txt or /llms.txt for site roots. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'LLM-ready content' without explaining extraction behavior, failure handling, or output characteristics. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. However, it may be too concise given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 7 parameters and no output schema or annotations, the description adds minimal context. Agents need more detail on extraction strategies, output format effects, and edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 7 parameters with descriptions, so the baseline is 3. The tool description adds no extra parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Extract') and a clear resource ('LLM-ready content from a URL'). It distinguishes this tool from sibling search tools by emphasizing LLM-readiness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives or when not to use it. No context about prerequisites or limitations is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fast_searchFast SearchC
Search using the fastest currently healthy engine.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date interval in YYYYMMDD..YYYYMMDD format. | |
| file | No | File extension filter, such as PDF. | |
| lang | No | Language code, such as EN or de. | |
| site | No | Domain filter, such as example.com. | |
| text | No | Search query text. At least one of text, site, or file should be provided. | |
| limit | No | Maximum result count. | |
| merge | No | Merge successful engine results. | |
| start | No | Pagination offset. | |
| dedupe | No | Deduplicate by normalized URL. | |
| filter | No | Enable duplicate filtering. | |
| format | No | Response format. | json |
| region | No | Market or location hint, such as US, DE, en-GB, Berlin, or a Yandex lr id. | |
| engines | No | Engines to query. Omit to use all available engines. | |
| extract | No | Enrich the top web results with cleaned page content. Boolean or integer depth: false/0 off, true/1 top result, N top N (1-5). | |
| features | No | Include supported rich SERP features. | |
| minRunes | No | Minimum content length (in runes) before auto mode escalates to rendered extraction. | |
| extractMode | No | Extraction strategy for target pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only mentions using the fastest engine, but fails to explain what 'healthy' means, how speed is measured, or what happens if no engine is available. Mutation potential and response format are not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is very concise, but lacks structure. It conveys only the core differentiator. Could be more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 17 parameters, no output schema, and no annotations, the description is far too minimal. It does not explain default behavior, engine selection logic, or result structure. Incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
100% schema coverage means parameters are documented. Description adds no extra meaning, so baseline of 3 is appropriate. No explanation of how engine selection interacts with the 'engines' parameter or other filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches using the fastest healthy engine, distinguishing it from sibling tools like 'search' or 'any_search'. However, it could be more explicit about the exact selection mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Sibling tools like 'search', 'any_search', 'mega_search' exist, but the description does not recommend usage contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageGet UsageA
Return OpenSERP Cloud account and credit information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description states it returns account and credit info but discloses no side effects, permissions required, or reliability guarantees. Minimal behavioral insight beyond the stated purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is minimally sufficient but could be more specific (e.g., 'credit balance' or 'usage limits'). Lacks detail on return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100% by default. The description adds no param info, but none is needed. Baseline for 0 params is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('OpenSERP Cloud account and credit information'), clearly distinguishing this tool from sibling search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or not use this tool versus alternatives. The context of being a zero-parameter info tool implies distinct usage, but the description lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_searchImage SearchC
Search image results with a specific OpenSERP engine.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date interval in YYYYMMDD..YYYYMMDD format. | |
| file | No | File extension filter, such as PDF. | |
| lang | No | Language code, such as EN or de. | |
| site | No | Domain filter, such as example.com. | |
| text | No | Search query text. At least one of text, site, or file should be provided. | |
| limit | No | Maximum result count. | |
| start | No | Pagination offset. | |
| engine | Yes | Search engine endpoint alias. | |
| filter | No | Enable duplicate filtering. | |
| format | No | Response format. | json |
| region | No | Market or location hint, such as US, DE, en-GB, Berlin, or a Yandex lr id. | |
| features | No | Include supported rich SERP features. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose read-only nature, performance characteristics, or any side effects. For a read operation, this is minimally acceptable but still lacking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but it is too brief to be fully informative. It could incorporate more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count (12), no output schema, and no annotations, the description is incomplete. It does not explain return format, pagination, or how parameters interact, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond what the schema provides; it only restates the 'engine' parameter implicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it searches image results with a specific OpenSERP engine, clarifying the resource and action. However, it does not explicitly distinguish it from sibling tools like 'mega_image' or 'search', which may also perform image searches with engines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives. The description lacks any when-to-use or when-not-to-use context, and does not mention prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_enginesList EnginesB
List available engines on OSS or Cloud engine capabilities on Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It does not disclose whether the operation is read-only, requires authentication, or returns any specific data format. The description is insufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with one sentence. It is front-loaded but lacks structure. It is appropriate for the simplicity of the tool, though a slightly more detailed description would improve usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description provides a basic idea but omits details about the format or structure of the list. It is minimally adequate but not rich in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. The description adds no parameter-specific information, but none is needed. It could benefit from explaining what the output represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists available engines and distinguishes between OSS and Cloud capabilities. It is specific and distinct from sibling tools, though the phrasing is slightly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like any_search or get_usage. The context for using list_engines is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mega_imageMega Image SearchC
Search images across multiple engines.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date interval in YYYYMMDD..YYYYMMDD format. | |
| file | No | File extension filter, such as PDF. | |
| lang | No | Language code, such as EN or de. | |
| mode | No | Mega execution mode. | balanced |
| site | No | Domain filter, such as example.com. | |
| text | No | Search query text. At least one of text, site, or file should be provided. | |
| limit | No | Maximum result count. | |
| merge | No | Merge successful engine results. | |
| start | No | Pagination offset. | |
| dedupe | No | Deduplicate by normalized URL. | |
| filter | No | Enable duplicate filtering. | |
| format | No | Response format. | json |
| region | No | Market or location hint, such as US, DE, en-GB, Berlin, or a Yandex lr id. | |
| engines | No | Engines to query. Omit to use all available engines. | |
| features | No | Include supported rich SERP features. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to mention any behavioral traits such as merging, deduplication, rate limits, or required permissions. The description is silent on side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise but under-specified. It lacks necessary context for an agent to use the tool effectively, making it too terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 parameters and no output schema, the description is woefully incomplete. It does not explain return values, pagination, or how to combine parameters for effective searches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema definitions; it does not explain how parameters like 'merge', 'dedupe', or 'filter' affect behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches images across multiple engines, which distinguishes it from single-engine image search tools like 'image_search' or general 'mega_search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'image_search' or 'mega_search'. Does not specify prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mega_searchMega SearchC
Search across multiple engines with balanced, any, or fast execution.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date interval in YYYYMMDD..YYYYMMDD format. | |
| file | No | File extension filter, such as PDF. | |
| lang | No | Language code, such as EN or de. | |
| mode | No | Mega execution mode. | balanced |
| site | No | Domain filter, such as example.com. | |
| text | No | Search query text. At least one of text, site, or file should be provided. | |
| limit | No | Maximum result count. | |
| merge | No | Merge successful engine results. | |
| start | No | Pagination offset. | |
| dedupe | No | Deduplicate by normalized URL. | |
| filter | No | Enable duplicate filtering. | |
| format | No | Response format. | json |
| region | No | Market or location hint, such as US, DE, en-GB, Berlin, or a Yandex lr id. | |
| engines | No | Engines to query. Omit to use all available engines. | |
| extract | No | Enrich the top web results with cleaned page content. Boolean or integer depth: false/0 off, true/1 top result, N top N (1-5). | |
| features | No | Include supported rich SERP features. | |
| minRunes | No | Minimum content length (in runes) before auto mode escalates to rendered extraction. | |
| extractMode | No | Extraction strategy for target pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions execution modes. It does not disclose any behavioral traits such as read-only nature, rate limits, authentication needs, or potential side effects. The description adds minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. However, it lacks structure and does not earn its place fully as it omits key information. Score 4 for brevity but not for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 18 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, pagination, or usage context. The description is too sparse for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any extra meaning beyond the schema; it merely restates the mode options already defined. No parameter-specific details are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search across multiple engines with balanced, any, or fast execution.' It identifies the verb and resource, but it does not differentiate this tool from siblings like any_search or fast_search, which also search across engines. The purpose is clear but not unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings or alternatives. The description lacks any 'when to use' or 'when not to use' context, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchC
Search web results with a specific OpenSERP engine.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date interval in YYYYMMDD..YYYYMMDD format. | |
| file | No | File extension filter, such as PDF. | |
| lang | No | Language code, such as EN or de. | |
| site | No | Domain filter, such as example.com. | |
| text | No | Search query text. At least one of text, site, or file should be provided. | |
| limit | No | Maximum result count. | |
| start | No | Pagination offset. | |
| engine | Yes | Search engine endpoint alias. | |
| filter | No | Enable duplicate filtering. | |
| format | No | Response format. | json |
| region | No | Market or location hint, such as US, DE, en-GB, Berlin, or a Yandex lr id. | |
| extract | No | Enrich the top web results with cleaned page content. Boolean or integer depth: false/0 off, true/1 top result, N top N (1-5). | |
| features | No | Include supported rich SERP features. | |
| minRunes | No | Minimum content length (in runes) before auto mode escalates to rendered extraction. | |
| extractMode | No | Extraction strategy for target pages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description lacks any behavioral details such as rate limits, result formatting, or pagination behavior. The agent is left to infer important traits from the schema alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but at the expense of useful information. It is not front-loaded with critical details, and the single sentence could be expanded to include key context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 15 parameters and no output schema, the description is insufficient. It does not explain the tool's scope, typical use cases, or how parameters interact, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's own parameter descriptions, which are already comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs web searches using a specific OpenSERP engine. However, it does not differentiate from sibling tools like 'any_search', 'fast_search', or 'image_search', which also perform searches on the same platform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are no explicit conditions, prerequisites, or exclusions to help an agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v0.1.6- First observed
any_search - First observed
extract - First observed
fast_search - First observed
get_usage - First observed
image_search - First observed
list_engines - First observed
mega_image - First observed
mega_search - First observed
search
TDQS
Scored across 9 tools
Several search tools (any_search, fast_search, search, mega_search) have overlapping purposes with subtle differences, which may confuse an agent. Descriptions provide some clarity but boundaries remain fuzzy.
Naming mixes verb_noun (get_usage, list_engines) with modifier_noun (any_search, fast_search) and a single verb (extract), lacking a uniform pattern but remains readable.
With 9 tools, the set is well-scoped for a search and extraction API, neither too sparse nor cluttered.
Covers core search, image search, extraction, engine listing, and account info. Minor redundancy but no critical gaps for the intended domain.
Maintenance
Related MCP Connectors
Google, Bing, DuckDuckGo and Google Maps search results, free without an API key.
1Google SERP as JSON: organic, AI Overview, People Also Ask, AI Mode, news, shopping. No Cloud setup.
Search, extract, crawl, map, research, scrape 16 platforms, browser automation, proxy — one API key.
13Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides a standardized interface to interact with Serpapi's search engine results API, enabling users to perform web searches and retrieve structured data.1MIT
- AlicenseAqualityDmaintenanceProvides real-time Google search results (organic + knowledge graph) with country targeting, language, time filters, and pagination, at low cost.17 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides free web search, content fetching, image search, and deep research via SearXNG, no API keys required.-
- AlicenseAqualityDmaintenanceWeb search for AI agents across 6 engines (Serper, Brave, Exa, Tavily, Firecrawl, Perplexity) through one search tool. Routes each query to the cheapest engine that clears a quality bar and caches repeats. Hosted, streamable-HTTP, BYOK supported.11MIT