@keenable/pi-search
v0.1.2
Published
Keenable web search + page fetch tools for the Pi coding agent (pi.dev). Keyless by default.
Readme
@keenable/pi-search
Web search + page fetch for the Pi coding agent, powered by Keenable. Pi ships with no web tools by design — this package adds two:
keenable_search— web search built for AI agents.keenable_fetch— fetch a URL and extract its content as markdown.
Keyless by default (no signup); set KEENABLE_API_KEY to raise rate limits.
Install
pi install npm:@keenable/pi-searchThat's it — the tools and the keenable-web-search skill load on next start.
The agent can now search the web and read pages.
To try it for one run without installing:
pi -e npm:@keenable/pi-searchConfiguration
| Env var | Purpose |
|---|---|
| KEENABLE_API_KEY | Optional. Lifts rate limits. Create one at keenable.ai/console. |
| KEENABLE_API_URL | Optional. Override the API base URL (must be https:// with a host; http:// allowed only for loopback). Defaults to https://api.keenable.ai. |
Tools
keenable_search
query (required) · mode (pro) · site · published_after ·
published_before · acquired_after · acquired_before (dates are
YYYY-MM-DD). Returns a JSON list of {title, url, description, published_at, acquired_at}.
keenable_fetch
url (required, http(s)). Returns the page content as markdown plus
{title, description, author, published_at}.
Typical flow: keenable_search to find URLs → keenable_fetch to read them →
cite the source.
Alternative: MCP
Already using pi-mcp-adapter or an
MCP bridge? You can instead point it at the hosted Keenable MCP server
(https://api.keenable.ai/mcp, tools search_web_pages / fetch_page_content).
The native package above is recommended for Pi — it avoids the per-server MCP
context cost and ships the usage skill.
Notes
- Loaded as TypeScript via jiti — no build step.
- No third-party runtime dependencies (uses the global
fetch). - The REST API is an internal detail of this package; use the tools, not raw REST.
License
MIT
