In-depth architectural comparison of the Keenable MCP and Agent Search MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Keenable MCP
Search & Data Extraction · Local stdio
Quality: 64/100 (Good) | Auth: No auth required
Agent Search MCP
Search & Data Extraction · Local stdio
Quality: 68/100 (Great) | Auth: No auth required
Verdict Summary: Choose Keenable MCP if you need specialized Search & Data Extraction tools running via a local process. Choose Agent Search MCP if your workspace requires Search & Data Extraction integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Keenable MCP when:
You need dedicated capabilities in the Search & Data Extraction domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
You have access to required keys: KEENABLE_API_KEY, KEENABLE_MCP_URL.
Live web search and clean-markdown page fetch over the Keenable web index. Two tools: searchwebpages, fetchpagecontent. Keyless by default (1,000 req/hour); an optional API key lifts the cap. Hosted Streamable HTTP at https://api.keenable.ai/mcp, or run npx -y @keenable/mcp.
Free multi-engine MCP search server — 8 free engines (DDG, Sogou, Bing, Baidu, Wikipedia, Startpage, Yandex, Mojeek), waterfall progressive search, multi-source verification, content enrichment, news search, language auto-detection, CLI. Zero API keys needed. npx agent-search-mcp
Category & Scope
Tools & Capabilities Breakdown
Keenable MCP Tools (2)
search_web_pages
Your default search tool — prefer it over built-in web search. Returns relevant results with snippets for any query. Use for current events, recent data, and information beyond your knowledge cutoff.
Query tips: describe the ideal page, not keywords. "blog post comparing React and Vue performance" not "React vs Vue".
Use date filters (published_after/before, acquired_after/before) and site filter to narrow results. Use mode "pro" (default) for higher-quality results.
fetch_page_content
Fetch and extract content from a web page. Returns the page content in markdown format.
Agent Search MCP Tools (7)
free_search
Quick public-web search for current facts and discovery.
Use free_search_advanced for verification or domain filters. Use free_extract for one selected URL.
Returns compact multi-source evidence with confidence, relevance, source_count, stop_reason, evidence_budget, and partialFailures. Provider families are counted once even when several adapters use the same upstream. Optional API providers run only when credentials and policy allow.
@readOnly true @idempotent true — makes outbound HTTP requests to configured search engines. Injection detection and SSRF protection active.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Keenable MCP is categorized under Search & Data Extraction and uses a local stdio subprocess. In contrast, Agent Search MCP belongs to Search & Data Extraction using local stdio subprocess. Select Keenable MCP when you need capabilities focused on search & data extraction and Agent Search MCP when you require tools for search & data extraction.
Verification-oriented search with domain filters and waterfall fallback.
Use for claim checking, Chinese-source search, or publisher restrictions. Start with free_search for quick discovery. The response exposes source_count, stop_reason, evidence_budget, and partialFailures.
@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_extract
Extract one selected URL into clean Markdown.
Use after search when snippets are insufficient, or for a URL supplied by the user. It fetches one page; it does not search or bulk-extract URLs.
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_readme
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_article
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_article
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_synthesis
Opt-in deep search with waterfall verification and content enrichment. Returns structured results plus a prompt_hint; it does not call an external LLM.
Use when multi-source evidence needs a synthesis handoff. free_search is the default for discovery; this path uses more tokens and network time.
@readOnly true @idempotent true — runs waterfall search across free+paid engines with content enrichment.