mcp-omnisearch
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
The three tools serve clearly distinct purposes: web_search for raw search results, ai_search for synthesized answers, and web_extract for content extraction/summarization. There is slight overlap between web_search and ai_search (both search the web), but the descriptions clarify the difference between raw results and AI-generated answers.
Naming Consistency3/5The tools use a consistent verb_noun pattern with 'web_' and 'ai_' prefixes, which is readable and predictable. However, the prefix is inconsistent: 'web_search' and 'web_extract' use 'web_', but 'ai_search' mixes in an 'ai_' prefix, which is a minor deviation from a strict pattern.
Tool Count3/5With only 3 tools, the server is at the low end of the typical 3-15 tool range. The scope appears to be web search and retrieval, which could be well-covered by these three, but the small number feels minimal for the breadth of providers and features mentioned.
Completeness3/5The server covers search, AI-answer synthesis, and content extraction, which covers a typical web research workflow. However, there is no tool for managing search history, saving results, or handling more advanced operations like site-specific crawling configuration, which might be expected given the array of providers mentioned.
Average 3.4/5 across 3 of 3 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 29 of 29 community issues answered or closed in the last 6 months
- 48 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, destructiveHint=false, so the safety profile is covered. The description adds provider capabilities and operator support, which is useful context. It does not disclose response format, pagination, rate limits, or pitfalls, and the large_result_mode parameter is not explained in the description, though the schema covers it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads purpose, then adds provider and operator details. Every clause earns its place, with no repetition or irrelevant information. Structure is clean and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 params and no output schema, the description covers provider selection and basic usage, but it does not explain when to choose specific providers (e.g., when to use kagi vs brave), the semantics of large_result_mode, or the expected return format. The schema fills in param meanings, but given the tool's complexity and lack of output schema, more operational context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by characterizing providers (tavily=factual/citations, brave=privacy/operators, etc.) and mentioning query operators, which helps interpret the provider and query params. It does not add syntax or format details for other parameters like limit or exclude_domains, but the schema already describes those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear use context ('Use when you need to find web pages...') and differentiates providers by characteristics (tavily factual, brave privacy, etc.). However, it does not explicitly mention when not to use this tool or point to sibling alternatives like ai_search or web_extract, which would be strong guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds provider-specific details (e.g., 'fast ~900ms answers', 'deep agentic search with sources') which provide some behavioral context, but it does not disclose potential rate limits, response size handling, or other operational behaviors beyond what annotations cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and every sentence adds value. It is a single paragraph with no fluff, and the provider list is informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 params, 2 required, no output schema), the description covers the main use case and provider options. It does not explain return format or pagination, but the schema covers parameters and the annotations cover safety. It is complete enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds provider names and their characteristics, which enriches the 'provider' parameter semantics, but it does not add much beyond the schema for 'query', 'limit', or 'large_result_mode'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when you need synthesized answers rather than raw search results,' which provides clear usage context. It also lists provider options, but does not explicitly mention when not to use it or alternatives beyond the sibling tools, so it falls slightly short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, and open-world behavior, so the description need not repeat those. It adds behavioral nuance by describing provider modes (e.g., firecrawl's interactive scraping, exa's similar pages) and mentions configurable options like include_raw_contents and large_result_mode. However, it does not elaborate on potential side effects or limitations beyond what the annotations cover, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct, using two sentences plus a compact list of providers and their capabilities. Every sentence adds value, and there is no redundant or verbose phrasing. The structure is logical and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core purpose, typical use cases, provider selection, and handling of large results. It does not require an output schema since none is specified, and the annotations provide safety context. Together, these elements give a complete picture for an agent to decide when and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides complete descriptions for all six parameters, and the tool description enriches understanding by explaining provider-specific purposes (e.g., kagi for summarization of pages/videos/podcasts) and the meaning of large_result_mode. While the schema is already thorough, the description adds context that clarifies parameter choices, hence above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
Tautological: description restates name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage contexts by listing provider-specific capabilities (e.g., tavily for extraction, kagi for summarization, firecrawl for scraping/mapping). It does not explicitly contrast with the sibling tools (web_search, ai_search), but the focus on URL-based content processing makes the distinction reasonably clear. A more explicit 'use this when you need content from specific URLs, not for searching' would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/spences10/mcp-omnisearch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server