Back to Directory/Documentation

ai.keenable/web-search

Live web search and clean-markdown page fetch over the Keenable web index.

DocumentationJavaScriptv0.1.2

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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @keenable/mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "ai-keenable-web-search": {
      "command": "npx",
      "args": [
        "-y",
        "@keenable/mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@keenable/mcpnpm

Compatible MCP Clients

ai.keenable/web-search works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More