Agent Search MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level (info, debug) | |
| BRAVE_API_KEY | No | Brave Search API key (2000 free/month) | |
| TAVILY_API_KEY | No | Tavily API key (1000 free/month) |
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 | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| free_searchA | Search the web with an explicit adapter set and bounded fallback. Best for: Quick fact-finding, general search, when date/domain filters are not needed. Not recommended for: Filtered or verified-only results — use free_search_advanced. For full page content — use free_extract. Twelve adapters are selectable; the default request uses DuckDuckGo + Sogou only. Adapters that share one upstream family are tried sequentially on failure and never double-count as corroboration. Explicitly requested optional API adapters run only when credentials are present and the free basket is short or below the quality gate. Results are deduplicated and include separate confidence, relevance, and source-count signals. @readOnly true @idempotent true — makes outbound HTTP requests to configured search engines. Injection detection and SSRF protection active. |
| free_search_advancedA | Advanced search with filters and quality control. Best for: Domain filtering, high-confidence only, Chinese content. Not recommended for: Simple queries — use free_search instead. @readOnly true @idempotent true — runs waterfall progressive search across policy-allowed engines. Makes outbound HTTP requests to search engines and optionally to Jina Reader for content enrichment. |
| free_extractA | Extract full content from a URL. Returns clean markdown text. Best for: Reading a specific page found in search results to get full context. Not recommended for: Bulk extraction — use free_search first to find relevant pages. Behavior: Makes an outbound HTTP request to Jina Reader (r.jina.ai) which fetches and converts the page to markdown. Has SSRF protection: blocks private IPs, localhost, and metadata endpoints. 10s request timeout — pages exceeding this will fail with a timeout error. HTTP errors (4xx, 5xx) are returned as structured error responses. |
| fetch_github_readmeA | Fetch README content from a GitHub repository. Best for: Getting project documentation quickly. Not recommended for: Non-GitHub URLs — use free_extract instead. @readOnly true @idempotent true — makes outbound HTTP requests to raw.githubusercontent.com. |
| fetch_csdn_articleA | Fetch content from a CSDN blog article. Best for: Chinese developer blog content on CSDN. Not recommended for: Other Chinese sites — use free_extract instead. @readOnly true @idempotent true — makes outbound HTTP requests to the CSDN article URL. |
| fetch_juejin_articleA | Fetch content from a Juejin article. Best for: Chinese developer articles on Juejin. Not recommended for: Non-Juejin content — use free_extract instead. @readOnly true @idempotent true — makes outbound HTTP requests to juejin.cn API. |
| search_with_synthesisA | Deep search with waterfall multi-engine verification. Returns structured results plus a prompt_hint for the agent to synthesize its own answer. No external LLM call or model API key is required; search and enrichment still make outbound network requests. Best for: Complex queries needing multi-source verification and LLM synthesis. Not recommended for: Simple fact-finding — use free_search instead. @readOnly true @idempotent true — runs waterfall search across free+paid engines with content enrichment. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities | |
| health | |
| health-metrics |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: specialized fetchers for popular developer sites (CSDN, GitHub, Juejin), general search with two levels (free_search and free_search_advanced), a content extraction tool (free_extract), and a synthesis search (search_with_synthesis). Descriptions include explicit differentiation, eliminating ambiguity.
Names consistently use snake_case with a verb_noun structure (e.g., fetch_csdn_article, free_search). Minor inconsistency: 'search_with_synthesis' is more descriptive but still follows the pattern. The 'free_' prefix is used for search-related tools, and 'fetch_' for site-specific fetchers, maintaining a logical grouping.
Seven tools is well-scoped for a search and content extraction server. It covers basic and advanced search, synthesis, general content extraction, and three site-specific fetchers. No tool feels redundant or missing; each earns its place.
The tool surface appears complete for its purpose: it provides search (basic, advanced, synthesis), general page extraction, and specialized fetchers for common developer resources. There are no obvious gaps like missing domain filters (advanced search has them) or search result management.