toolpick has 4,813 recorded weekly downloads on npm, a decrease of 35.4% over the past 30 days.
It ranks #1101 of 2,251 tracked npm listings by weekly downloads.
Over 90 days, weekly downloads changed by +19.0%.
PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.
About toolpick
toolpick
Your agent has 30 tools. The model sees all of them on every step — tool definitions eat thousands of tokens, the model picks the wrong one, and you're paying for context it doesn't need.
toolpick fixes this. It picks the right 5 tools per step so the model only sees what matters.
Install
Usage
Every step, toolpick selects the most relevant tools and sets activeTools automatically. The model only sees what it needs. All tools remain available for execution.
Works with generateText, streamText, and Experimental_Agent.
How it works
Pass an embedding model and toolpick indexes your tool names, descriptions, and parameters. On each step it runs a combined search — fast keyword matching plus semantic embeddings — and returns the best matches.
If the model can't find a useful tool, the next step automatically pages to a fresh set it hasn't seen yet. Two misses in a row? All tools get exposed as a fallback. Your agent never gets stuck.
If the embedding API goes down, it silently falls back to keyword-only search. No crashes.
LLM re-ranking
For maximum accuracy, add a rerankerModel. The combined search fetches candidates, then a cheap LLM picks the best ones using reasoning — handling slang, abbreviations, and context that embeddings alone miss.
This takes accuracy from 84% to 100% on blind user queries. Cost: ~$0.0001 per step (gpt-4o-mini).
Description enrichment
For an extra boost, enrichDescriptions expands your tool descriptions with synonyms and alternative phrasings at startup. This is a one-time LLM call during warmUp():
Model-driven discovery
For agents that need to discover tools outside the current selection, expose the built-in search tool:
The model can call search_tools to browse the full catalog and request specific tools be activated. This mirrors how Anthropic's tool search works — but for any model.
Caching
Tool description embeddings are computed once at startup. Cache them to skip the API call on restarts:
Accuracy
Tested with 19 blind user queries — slang, vague language, no keyword overlap — against 30 real SaaS tools:
| Strategy | Top-5 accuracy | Cost per query |
| Keyword only | 31% | Free | | Embeddings only | 79% | ~$0.00002 | | Combined (default) | 84% | ~$0.00002 | | Combined + LLM re-ranking | 100% | ~$0.0001 |
Queries like "ship it", "ping the team", "file a bug", "get the CI running", and "compress this photo" all resolve to the correct tool.
Options
License
MIT
Description from the npm listing.
- ai
- ai-sdk
- tools
- tool-selection
- activeTools
- vercel
- llm
- agent
Where toolpick sits in the listing
Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Recent observations
Full history (121)Similar npm AI SDKs plugins
Data source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/toolpick. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.