mcp-omnisearch
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAGI_API_KEY | No | API key for Kagi services (FastGPT, Summarizer, Enrichment) | |
| BRAVE_API_KEY | No | API key for Brave Search | |
| GITHUB_API_KEY | No | GitHub personal access token for search services (Code, Repository, User search) | |
| TAVILY_API_KEY | No | API key for Tavily Search | |
| JINA_AI_API_KEY | No | API key for Jina AI services (Reader, Grounding) | |
| FIRECRAWL_API_KEY | No | API key for Firecrawl services (Scrape, Crawl, Map, Extract, Actions) | |
| FIRECRAWL_BASE_URL | No | Base URL for self-hosted Firecrawl instances (optional, defaults to Firecrawl cloud service) | |
| PERPLEXITY_API_KEY | No | API key for Perplexity AI |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Discover configured provider API functions for Code Mode. Omit query to list names and descriptions. Supply a function name or space-separated keywords to get matching TypeScript declarations. Call this before execute; arguments and results use native provider formats, not the consolidated tool formats. |
| executeA | Run JavaScript in an isolated Pi QuickJS sandbox. Discover native provider functions with search, then call await tools.(args). Use return, text() or console.log() for output. Promise.all supports parallel requests. Only final output reaches the client. No filesystem, network, Node APIs, modules or timers. Credentials stay on the host. At most 20 provider calls; 64 MiB heap; default deadline 60 seconds. Results are raw provider JSON. Async jobs return IDs: retrieve their status in a later call. No automatic retries. Calls already made are not undone on failure. State is not persisted between executions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| provider-status | Configured native Code Mode provider functions |
TDQS
Scored across 2 tools
Search is for discovering provider function signatures, while execute runs JavaScript in the sandbox; the descriptions clearly separate these phases and explicitly link them. However, the bare name 'search' could initially be mistaken for a provider-level search action rather than meta-discovery, and there is no distinct 'list' tool since search doubles as listing when the query is omitted.
Both tools use a consistent single-verb convention with no mixing of camelCase or snake_case. The names are generic and lack an object (e.g., search_tools or execute_code), but the style is predictable across the set.
Two tools exactly match the two-phase Code Mode workflow: discover available provider functions, then execute a program that calls them. It is on the thin side of the typical 3-15 range, but each tool clearly earns its place and there is no redundancy.
The core lifecycle is covered: search handles both listing and keyword lookup, and execute supports provider invocation, parallelism, and output. Minor gaps exist around explicit job-status polling, cancellation, and provider configuration management, though these may be reachable through execute calls.