@keenable/pi-search

Keenable web search + page fetch tools for the Pi coding agent (pi.dev). Keyless by default.

Packages

Package details

extensionskill

Install @keenable/pi-search from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@keenable/pi-search
Package
@keenable/pi-search
Version
0.1.1
Published
Jun 18, 2026
Downloads
not available
Author
ilya.bogin
License
MIT
Types
extension, skill
Size
18.8 KB
Dependencies
0 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ],
  "skills": [
    "./skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

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 and enable realtime search.

Install

pi install npm:@keenable/pi-search

That'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-search

Configuration

Env var Purpose
KEENABLE_API_KEY Optional. Lifts rate limits and enables realtime mode. 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|realtime) · 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