Keenable MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Keenable MCP Serversearch for TypeScript best practices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Keenable MCP Server
Server URL: https://api.keenable.ai/mcp
Authentication: API key via the X-API-Key header.
Create an API key in the console.
Remote MCP (recommended)
Claude Code:
claude mcp add keenable \
--transport http https://api.keenable.ai/mcp \
--scope user \
--header "X-API-Key: <YOUR_API_KEY>"Other MCP clients (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"keenable": {
"url": "https://api.keenable.ai/mcp",
"headers": {
"X-API-Key": "<YOUR_API_KEY>"
}
}
}
}Note: After adding, disable any built-in or third-party search/fetch tools (
WebSearch,WebFetch,brave_search,tavily_search, etc.). Keenable tools replace them — leaving both active causes agents to pick inconsistently.
Related MCP server: mcp-web-calc
Available Tools
search_web_pages
Search the web and return ranked results with URLs, titles, and descriptions.
Input
Field | Type | Required | Description |
| string | yes | The search query |
| string | no | Restrict results to a specific site (e.g. |
| string | no | Filter to pages acquired/indexed after this date (YYYY-MM-DD) |
| string | no | Filter to pages acquired/indexed before this date (YYYY-MM-DD) |
| string | no | Filter to pages published after this date (YYYY-MM-DD) |
| string | no | Filter to pages published before this date (YYYY-MM-DD) |
| string | no | Search mode: |
Output
Field | Type | Description |
| string | Search mode used ( |
| array | List of search results |
| string | Page title |
| string | Page URL |
| string | Snippet / summary of the page |
| string | When the page was published (ISO 8601, if available) |
| string | When the page was acquired/indexed (ISO 8601, if available) |
Output example
{
"query": "TypeScript best practices",
"mode": "pro",
"results": [
{
"title": "TypeScript Best Practices 2026",
"url": "https://example.com/ts-best-practices",
"description": "A comprehensive guide to modern TypeScript patterns and best practices.",
"published_at": "2026-01-15T10:30:00Z",
"acquired_at": "2026-01-16T08:12:34Z"
}
]
}fetch_page_content
Fetch one or more URLs and extract content as clean markdown. Only URLs from the index are supported; this is not a general web scraper.
Input
Field | Type | Required | Description |
| string[] | yes | URLs to fetch (min 1) |
Output
One text block per URL, each containing:
Field | Type | Description |
| string | The fetched URL |
| string | Page title (if available) |
| string | Extracted page content in markdown |
Output example
{
"url": "https://example.com/ts-best-practices",
"title": "TypeScript Best Practices 2026",
"content": "# TypeScript Best Practices 2026\n\nUse strict mode, prefer interfaces over type aliases for object shapes..."
}Additional setups
Stdio MCP
For agents that don't support remote MCP connections, the server is available as an npm package that runs locally over stdio.
{
"mcpServers": {
"keenable": {
"command": "npx",
"args": ["-y", "@keenable/mcp-server"],
"env": {
"KEENABLE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}Search mode configuration
You can control the search mode via environment variables (stdio) or URL query params (remote MCP):
Setting | Env var (stdio) | Query param (remote) | Effect |
Default mode |
|
| Overrides the default when the agent doesn't specify |
Forced mode |
|
| Always uses this mode; hides the |
Valid values: realtime, pro.
Stdio example — always use pro mode:
{
"mcpServers": {
"keenable": {
"command": "npx",
"args": ["-y", "@keenable/mcp-server"],
"env": {
"KEENABLE_API_KEY": "<YOUR_API_KEY>",
"KEENABLE_FORCED_SEARCH_MODE": "pro"
}
}
}
}Remote MCP example — default to pro mode (agent can still override):
https://api.keenable.ai/mcp?default_search_mode=proOAuth
The remote MCP server at https://api.keenable.ai/mcp supports the MCP OAuth authorization flow, so clients can authenticate without manually passing an API key. In practice, most MCP clients have unstable OAuth implementations, so we don't currently recommend this path. Use an API key instead.
Development
git clone https://github.com/keenableai/keenable-mcp-ts.git
cd keenable-mcp-ts
npm install
npm run buildLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/keenableai/keenable-mcp-ts'
If you have feedback or need assistance with the MCP directory API, please join our Discord server