{
  "markdown": "# Keenable MCP\n\nMCP server for live web search and clean-markdown page fetch over the\n[Keenable](https://keenable.ai) web index.\n\n- **Hosted endpoint:** `https://api.keenable.ai/mcp` (Streamable HTTP)\n- **Tools:** `search_web_pages`, `fetch_page_content`\n- **Keyless by default** (1,000 requests/hour). An optional API key lifts the cap.\n\nThe server is hosted, so most clients just point at the URL. For clients (or\nconfig paths) that only accept a stdio `command` there is a thin npm wrapper\n(`@keenable/mcp`) that bridges to the same endpoint.\n\n## Tools\n\n| Tool | Description |\n|---|---|\n| `search_web_pages` | Live web search. Args: `query` (required), plus optional `mode`, `site`, `published_after` / `published_before`, `acquired_after` / `acquired_before`. |\n| `fetch_page_content` | Fetch a URL and return clean markdown. Args: `url` (required), optional `max_chars` (default 50000). |\n\n## Use it\n\n### Remote (recommended)\n\nClients with remote MCP support — Cursor, Cline, VS Code, and Claude Desktop's\nCustom Connectors UI — connect to the URL directly:\n\n```json\n{\n  \"mcpServers\": {\n    \"keenable\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://api.keenable.ai/mcp\"\n    }\n  }\n}\n```\n\n### Stdio (e.g. Claude Desktop's `claude_desktop_config.json`)\n\nFor clients or config paths that only accept a stdio `command`, run the wrapper\nwith `npx`:\n\n```json\n{\n  \"mcpServers\": {\n    \"keenable\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@keenable/mcp\"]\n    }\n  }\n}\n```\n\nThat is all you need for keyless use.\n\n## API key (optional)\n\nKeenable is keyless by default. To lift the hourly rate limit, pass a key.\n\nRemote:\n\n```json\n{\n  \"mcpServers\": {\n    \"keenable\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://api.keenable.ai/mcp\",\n      \"headers\": { \"X-API-Key\": \"YOUR_KEY\" }\n    }\n  }\n}\n```\n\nStdio:\n\n```json\n{\n  \"mcpServers\": {\n    \"keenable\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@keenable/mcp\"],\n      \"env\": { \"KEENABLE_API_KEY\": \"YOUR_KEY\" }\n    }\n  }\n}\n```\n\n## How the wrapper works\n\n`@keenable/mcp` is a small stdio bridge: it connects to the hosted server over\nStreamable HTTP and forwards every tool the server exposes. There is no\nsearch logic in this package; the index and tools live behind\n`https://api.keenable.ai/mcp`. Environment variables:\n\n- `KEENABLE_API_KEY` — optional API key, sent as `X-API-Key`.\n- `KEENABLE_MCP_URL` — override the endpoint (defaults to `https://api.keenable.ai/mcp`).\n\n## Links\n\n- Docs: https://docs.keenable.ai/mcp-server\n- Site: https://keenable.ai\n- Registry: [`ai.keenable/web-search`](https://registry.modelcontextprotocol.io/v0/servers?search=ai.keenable) (Official MCP Registry)\n\n## License\n\nMIT\n",
  "bytes": 2680,
  "sha": "cc697056e232d5d2f8e1a70bcaaad0224522f6f84ef3c34a38d7f8002e5dc1a5",
  "repo_slug": "keenableai/keenable-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_keenable_web_search_64dbff86/readme"
}