mcpField
K
Keenable Web Search

Keenable Web Search

Remote
github.com/keenableaiSearch6Updated 2w ago
Repository

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

  1. 01Live web search
  2. 02Filter by site and date
  3. 03Fetch pages as Markdown
  4. 04Optional API key

Use cases

  1. 01Find recent pages by query
  2. 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.

Endpointhttps://api.keenable.ai/mcp?keenable_title=mcp-registry
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

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.

All endpoints
Streamable HTTPhttps://api.keenable.ai/mcp?keenable_title=mcp-registryAuth required
Packages
npm@keenable/mcp0.1.0

Tools

2
ParameterTypeRequiredDescription
querystringYesNatural language search query. Should be a semantically rich description of the ideal page, not just keywords.
sitestringNoRestrict results to a specific site (e.g. "techcrunch.com")
acquired_afterstringNoFilter results to pages acquired/indexed after this date (YYYY-MM-DD)
acquired_beforestringNoFilter results to pages acquired/indexed before this date (YYYY-MM-DD)
published_afterstringNoFilter results to pages published after this date (YYYY-MM-DD)
published_beforestringNoFilter results to pages published before this date (YYYY-MM-DD)
query_timestringNoPoint-in-time search: exclude pages newer than this timestamp. ISO 8601 datetime or relative (e.g. "7d")
snippet_max_lengthintegerNoMaximum length (characters) of the snippet returned per result. When omitted, a default length is used.
max_resultsintegerNoMaximum number of results to return. When omitted, a default count (10) is used.
modeenumNoSearch mode: 'pro' (default) for enhanced resultspro

Details

From the project README

Keenable 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

ToolDescription
search_web_pagesLive web search. Args: query (required), plus optional mode, site, published_after / published_before, acquired_after / acquired_before.
fetch_page_contentFetch 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 as X-API-Key.
  • KEENABLE_MCP_URL — override the endpoint (defaults to https://api.keenable.ai/mcp).

Links

License

MIT

Comments

Markdown supported

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.