npm @keenable/mcpstreamable-httpMITupdated 16d ago
MCP server for live web search and clean-markdown page fetch over the Keenable web index.
Was kannst du mit web search machen?
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
| Tool | Description |
|---|---|
search_web_pages |
Live web search. Args: query (required), plus optional mode, site, published_after / published_before, acquired_after / acquired_before. |
fetch_page_content |
Fetch 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 asX-API-Key.KEENABLE_MCP_URL— override the endpoint (defaults tohttps://api.keenable.ai/mcp).
Links
- Docs: https://docs.keenable.ai/mcp-server
- Site: https://keenable.ai
- Registry:
ai.keenable/web-search(Official MCP Registry)
License
MIT
Installation
web search zu deinem Client hinzufügen. Wähl den, den du nutzt.
{
"servers": {
"mcp": {
"type": "http",
"url": "https://api.keenable.ai/mcp?keenable_title=mcp-registry"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add mcp -- npx -y @keenable/mcpcodex mcp add mcp -- npx -y @keenable/mcpamp mcp add mcp -- npx -y @keenable/mcp{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@keenable/mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@keenable/mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@keenable/mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@keenable/mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@keenable/mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@keenable/mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@keenable/mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @keenable/mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
2 Tools
web search stellt einem verbundenen Agent 2 Tools bereit.
- search_web_pages
- Live web search. Args: `query` (required), plus optional `mode`, `site`, `published_after` / `published_before`, `acquired_after` / `acquired_before`.
- fetch_page_content
- Fetch a URL and return clean markdown. Args: `url` (required), optional `max_chars` (default 50000).
Score
82 / 100
Ausgezeichnet
- Dokumentation22/25
- Pflege25/25
- Vertrauen16/20
- Funktionsumfang4/15
- Installation15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 9 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 2 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Versionsverlauf
| Versionen | Veröffentlicht |
|---|---|
| 0.1.2Aktuell | 26. Juni 2026 |
| 0.1.1 | 22. Juni 2026 |
| 0.1.0 | 19. Juni 2026 |