About Keenable Web Search
Keenable Web Search is a hosted MCP server for live search over the Keenable web index and extracting page content. It serves clients that need web results or clean Markdown, with site and date filters available.
Key features
- 01Live web search
- 02Filter by site and date
- 03Fetch pages as Markdown
- 04Optional API key
Use cases
- 01Find recent pages by query
- 02Extract URL content for further processing
MCP support
MCP clients connect to the hosted server over Streamable HTTP; clients limited to stdio can use the npm bridge. It exposes search and page-fetch tools.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://api.keenable.ai/mcp?keenable_title=mcp-registryclaude mcp add --transport http keenable https://api.keenable.ai/mcp?keenable_title=mcp-registry{"mcpServers":{"keenable":{"type":"http","url":"https://api.keenable.ai/mcp?keenable_title=mcp-registry"}}}Open in Cursor{"servers":{"keenable":{"type":"http","url":"https://api.keenable.ai/mcp?keenable_title=mcp-registry"}}}Open in VS Code{"mcpServers":{"keenable":{"type":"http","url":"https://api.keenable.ai/mcp?keenable_title=mcp-registry"}}}{"mcpServers":{"keenable":{"serverUrl":"https://api.keenable.ai/mcp?keenable_title=mcp-registry"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://api.keenable.ai/mcp?keenable_title=mcp-registryAuth requiredTools
2| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Natural language search query. Should be a semantically rich description of the ideal page, not just keywords. |
| site | string | No | Restrict results to a specific site (e.g. "techcrunch.com") |
| acquired_after | string | No | Filter results to pages acquired/indexed after this date (YYYY-MM-DD) |
| acquired_before | string | No | Filter results to pages acquired/indexed before this date (YYYY-MM-DD) |
| published_after | string | No | Filter results to pages published after this date (YYYY-MM-DD) |
| published_before | string | No | Filter results to pages published before this date (YYYY-MM-DD) |
| query_time | string | No | Point-in-time search: exclude pages newer than this timestamp. ISO 8601 datetime or relative (e.g. "7d") |
| snippet_max_length | integer | No | Maximum length (characters) of the snippet returned per result. When omitted, a default length is used. |
| max_results | integer | No | Maximum number of results to return. When omitted, a default count (10) is used. |
| mode | enum | No | Search mode: 'pro' (default) for enhanced resultspro |
Details
From the project READMEKeenable MCP
MCP server for live web search and clean-markdown page fetch over the Keenable web index.
- Hosted endpoint:
https://api.keenable.ai/mcp(Streamable HTTP) - Tools:
search_web_pages,fetch_page_content - Keyless by default (1,000 requests/hour). An optional API key lifts the cap.
The server is hosted, so most clients just point at the URL. For clients (or
config paths) that only accept a stdio command there is a thin npm wrapper
(@keenable/mcp) that bridges to the same endpoint.
Tools
| Tool | Description |
|---|---|
search_web_pages | Live web search. Args: query (required), plus optional mode, site, published_after / published_before, acquired_after / acquired_before. |
fetch_page_content | Fetch a URL and return clean markdown. Args: url (required), optional max_chars (default 50000). |
Use it
Remote (recommended)
Clients with remote MCP support — Cursor, Cline, VS Code, and Claude Desktop's Custom Connectors UI — connect to the URL directly:
{
"mcpServers": {
"keenable": {
"type": "streamable-http",
"url": "https://api.keenable.ai/mcp"
}
}
}
Stdio (e.g. Claude Desktop's claude_desktop_config.json)
For clients or config paths that only accept a stdio command, run the wrapper
with npx:
{
"mcpServers": {
"keenable": {
"command": "npx",
"args": ["-y", "@keenable/mcp"]
}
}
}
That is all you need for keyless use.
API key (optional)
Keenable is keyless by default. To lift the hourly rate limit, pass a key.
Remote:
{
"mcpServers": {
"keenable": {
"type": "streamable-http",
"url": "https://api.keenable.ai/mcp",
"headers": { "X-API-Key": "YOUR_KEY" }
}
}
}
Stdio:
{
"mcpServers": {
"keenable": {
"command": "npx",
"args": ["-y", "@keenable/mcp"],
"env": { "KEENABLE_API_KEY": "YOUR_KEY" }
}
}
}
How the wrapper works
@keenable/mcp is a small stdio bridge: it connects to the hosted server over
Streamable HTTP and forwards every tool the server exposes. There is no
search logic in this package; the index and tools live behind
https://api.keenable.ai/mcp. Environment variables:
KEENABLE_API_KEY— optional API key, sent asX-API-Key.KEENABLE_MCP_URL— override the endpoint (defaults tohttps://api.keenable.ai/mcp).
Links
- Docs: https://docs.keenable.ai/mcp-server
- Site: https://keenable.ai
- Registry:
ai.keenable/web-search(Official MCP Registry)
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.