https://api.keenable.ai/mcp. There are three ways to add it: a one-click link, an entry in mcp.json, or one command with the Keenable CLI. Cursor’s agent also has its own Web Search and Web Fetch tools, and with both available it picks between them from one lookup to the next. Turn those off and Keenable handles every search.
Install
One click
The link opens Cursor and adds the server with no key, so it runs on the shared public tier: 1,000 requests per hour and up to 10 per second per IP (see Rate limits). The link carries no key so that a key never ends up in a URL, where browser history and screen recordings can keep it. To use your own key, add it tomcp.json as below, or use the CLI.
mcp.json
Add the server to~/.cursor/mcp.json to use it in every project, or to .cursor/mcp.json in a repository to share it with that project only:
X-API-Key header. Create one in the console; see Authentication. If the file already has an mcpServers object, add the keenable entry to it rather than adding a second one. Omit the headers block to run on the public tier.
Don’t put a project-level .cursor/mcp.json that holds your key under version control. Keep the key in the global file, or leave the header out of the shared one.
Keenable CLI
keenable login opens a browser device-code flow and stores the credentials locally. configure-mcp --cursor then writes the same entry to ~/.cursor/mcp.json, with the stored key in its headers and "type": "streamable-http", and leaves your other servers in the file as they are. For CI or headless hosts, keenable login --api-key <KEY> works too, but the key lands in shell history — prefer the browser flow on a developer machine. Run keenable reset --cursor to remove the entry. Other install methods are on the CLI page.
Turn off the built-in search
Cursor’s agent ships Web Search and Web Fetch tools, enabled by default. Open Cursor Settings → Agents → Context and Tools and turn both off (the labels and the exact submenu can move between Cursor releases). Keenable’ssearch_web_pages and fetch_page_content are then the only search and fetch tools the agent has. Keep Web Fetch on if you want Cursor’s own page reader for other work.
Those toggles also apply to subagents. If the settings path above doesn’t match your build, open a new Agent chat and check the tools list: when Cursor’s own Web Search / Web Fetch are gone and the Keenable tools remain, the switch worked. To turn the built-in search back on, switch the toggles on again.
Tell the agent which tool to use
A rule makes the choice explicit, which helps when you keep Cursor’s tools on. Add it under Customize → Rules as a user rule to apply it everywhere, or put it inAGENTS.md at the root of a repository:
Verify
Open Customize in the sidebar and check that keenable is listed and switched on, with both tools. Then start a new Agent chat and ask something that needs the live web. The agent should callsearch_web_pages without being told to.
The server is listed but the agent never calls it? Start a new chat after adding the server or changing the toggles. If it still searches with its own tool, confirm Web Search is off in settings, or check the chat’s tools list as described above.