# Keenable MCP server

> Search the live web and fetch pages as clean markdown using the Keenable web index.

- Listing: https://mcp.tc/i/keenable
- Connect: use the server's own URL `https://api.keenable.ai/mcp?keenable_title=mcp-registry` (sign-in optional); clients connect to it directly. The listing link is a page, not an MCP endpoint.
- Type: remote (Streamable HTTP)
- Auth: optional (works without sign-in)
- Category: [Search & Web Data](https://mcp.tc/c/search-web)
- Vendor: Keenable
- Homepage: <https://keenable.ai>
- Repository: <https://github.com/keenableai/keenable-mcp>
- Package: npm `@keenable/mcp`

## About

Keenable connects an assistant to its own web crawler and index. It has a search tool with date and site filters and two modes (pro and realtime), and a fetch tool that returns a page's content as markdown.

The server is hosted at a Streamable HTTP endpoint and needs no sign-in. It is keyless by default with a rate limit of 1,000 requests per hour, and an optional API key sent as the X-API-Key header lifts the cap. An npm stdio wrapper, @keenable/mcp, is available for clients that only support local commands.

## What it can do

- Search the web with natural-language queries
- Filter results by site, published date or crawl date
- Choose pro mode for quality or realtime mode for speed
- Fetch a web page and get its content as markdown
- Limit returned content length with max\_chars

## Tools (2)

- `search_web_pages`: Search the web with date, site and mode filters; returns results with snippets. (read-only)
- `fetch_page_content`: Fetch a web page URL and return its extracted content as markdown. (read-only)

## Example prompts

- "Find a blog post comparing React and Vue performance."
- "Search for news from the last week about open-source LLM releases."
- "Fetch https://example.com/docs and summarize it."
- "Search only github.com for MCP server examples published this year."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport http keenable 'https://api.keenable.ai/mcp?keenable_title=mcp-registry'
```

2. Start Claude Code and type `/mcp`. **keenable** should show as connected. To sign in for more access, pick it and choose **Authenticate**.

Add `--scope user` to make it available in every project, not just this one. Works without a key. An API key from Keenable raises the limits: send it as `X-API-Key: <YOUR_API_KEY>`.

### Claude Desktop

1. Open **Customize → Connectors**, click **+ Add**, then **Add custom connector**.

2. Name it **Keenable** and paste this URL:

```url
https://api.keenable.ai/mcp?keenable_title=mcp-registry
```

3. Click **Add**, then **Connect**. Signing in to Keenable is optional.

Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.

### claude.ai

1. Open the connector form on claude.ai. This button fills in the name and URL for you:

[Add to claude.ai](<https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Keenable&connectorUrl=https%3A%2F%2Fapi.keenable.ai%2Fmcp%3Fkeenable_title%3Dmcp-registry>) (opens connector settings)

2. Check that the URL reads `https://api.keenable.ai/mcp?keenable_title=mcp-registry` and click **Add**.

3. Click **Connect**. Signing in to Keenable is optional.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under **Organization settings → Connectors**.

### ChatGPT

1. On chatgpt.com, open **Settings → Security and login** and turn on **Developer mode**.

2. Go to `chatgpt.com/plugins` and click **+** to create an app for a remote MCP server.

3. Paste `https://api.keenable.ai/mcp?keenable_title=mcp-registry` as the server URL and choose **No authentication**, or **OAuth** to sign in to Keenable for more access.

Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=keenable&config=eyJ1cmwiOiJodHRwczovL2FwaS5rZWVuYWJsZS5haS9tY3A%2Fa2VlbmFibGVfdGl0bGU9bWNwLXJlZ2lzdHJ5In0%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "keenable": {
      "url": "https://api.keenable.ai/mcp?keenable_title=mcp-registry"
    }
  }
}
```

Works without a key. An API key from Keenable raises the limits: send it as `X-API-Key: <YOUR_API_KEY>`.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=keenable&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.keenable.ai%2Fmcp%3Fkeenable_title%3Dmcp-registry%22%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"keenable","type":"http","url":"https://api.keenable.ai/mcp?keenable_title=mcp-registry"}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "keenable": {
      "type": "http",
      "url": "https://api.keenable.ai/mcp?keenable_title=mcp-registry"
    }
  }
}
```

Works without a key. An API key from Keenable raises the limits: send it as `X-API-Key: <YOUR_API_KEY>`.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "keenable": {
      "serverUrl": "https://api.keenable.ai/mcp?keenable_title=mcp-registry"
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads `serverUrl` (or `url`) for remote servers. Works without a key. An API key from Keenable raises the limits: send it as `X-API-Key: <YOUR_API_KEY>`.

### Codex

```bash
codex mcp add keenable --url 'https://api.keenable.ai/mcp?keenable_title=mcp-registry'
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.keenable]
url = "https://api.keenable.ai/mcp?keenable_title=mcp-registry"
```

Works without a key. An API key from Keenable raises the limits: send it as `X-API-Key: <YOUR_API_KEY>`.

### Gemini CLI

```bash
gemini mcp add --transport http keenable 'https://api.keenable.ai/mcp?keenable_title=mcp-registry'
```

Then, inside Gemini CLI, run `/mcp auth keenable` to sign in (optional).

This adds it to the current project. Add `-s user` to use it everywhere. Works without a key. An API key from Keenable raises the limits: send it as `X-API-Key: <YOUR_API_KEY>`.

### Any client

Most clients accept this shape. Some name the URL field differently: `serverUrl` in Devin Desktop, `httpUrl` in Gemini CLI’s settings file.

```json
{
  "mcpServers": {
    "keenable": {
      "type": "http",
      "url": "https://api.keenable.ai/mcp?keenable_title=mcp-registry"
    }
  }
}
```

Zed puts servers under `context_servers` in its settings. Cline needs `"type": "streamableHttp"`, or it assumes SSE.

Client only starts local servers? Bridge it with `npx -y mcp-remote 'https://api.keenable.ai/mcp?keenable_title=mcp-registry'`.

Works without a key. An API key from Keenable raises the limits: send it as `X-API-Key: <YOUR_API_KEY>`.

## Recent changes

- 2026-10-07 19:36 UTC: 1 tool changed. Source: automatic check. Changed: search\_web\_pages.
- 2026-10-06 21:20 UTC: Tracking started: 2 tools read. Source: automatic check.

More on the History tab, with descriptions before and after for the newest entries: https://mcp.tc/i/keenable#history (Atom feed: https://mcp.tc/i/keenable/history.xml). It records what mcp.tc's anonymous checks saw, every 3 hours where the tool list can be read without sign-in; it is not a security review.

## Details

- Server version: 0.2.1
- MCP protocol version: 2025-11-25
- Last checked: 2026-10-07 (reachable)
- Listed: 2026-10-04
- Updated: 2026-10-04

---
Source: https://mcp.tc/i/keenable (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
