npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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-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. 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