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

@catdaemon/pi-web-tools

v0.1.1

Published

Web search and fetch tools for Pi.

Readme

pi-web-tools

Web search and URL fetch tools for Pi.

Why

Coding agents often need information that is newer than the model cutoff or available only on a specific web page. Without dedicated web tools, the agent either has to guess from stale knowledge or ask the user to paste external context manually.

pi-web-tools gives Pi bounded, explicit tools for live web lookup and URL fetching. It keeps web access separate from normal file tools, exposes clear prompt guidance, and limits response sizes so web content remains manageable inside an agent session.

This is especially useful for:

  • Looking up current documentation, releases, APIs, and error messages
  • Checking recent information that may be newer than the model cutoff
  • Fetching a specific URL the user provides
  • Converting web pages into markdown or plain text for easier analysis

What it does

This Pi package adds two tools:

  • web_search: searches the web through Exa MCP with configurable result count, search type, live-crawl mode, and context budget.
  • web_fetch: fetches a specific HTTP(S) URL, bounds response size, and returns markdown, text, or raw HTML.

It also provides:

  • Current-year prompt guidance for recent/current searches.
  • HTML-to-markdown conversion through Turndown.
  • HTML-to-text conversion for plain-text retrieval.
  • Request timeouts and a maximum response size to keep outputs bounded.
  • Basic image MIME handling so image URLs do not dump binary content.

Install from npm

pi install npm:@catdaemon/pi-web-tools

Then reload Pi:

/reload

Runtime dependencies

web_fetch is self-contained.

web_search uses Exa MCP. Set EXA_API_KEY for authenticated Exa access; without it, the tool still targets the public Exa MCP endpoint but may be limited by Exa availability and access policy.