Search npm Packages
npmregistry/search-packages
Searches the npm registry by text and qualifiers (author:, maintainer:, keywords:, scope:), up to 250 per page: name, version, description, keywords, licence, links, publisher, weekly and monthly downloads, dependents and the registry's search relevance score. Data from the npm public registry, https://registry.npmjs.org, reduced to the fields listed (e-mail addresses, signatures and security data are not returned) and served by Eden Engine; not an official npm product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Data from the npm public registry, https://registry.npmjs.org, reduced to the fields listed (e-mail addresses, signatures and security data are not returned) and served by Eden Engine; not an official npm product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "npmregistry/search-packages" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "npmregistry/search-packages" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "npmregistry/search-packages", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "npmregistry/search-packages", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 26, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"text"
],
"properties": {
"from": {
"type": "integer",
"default": 0,
"maximum": 5000,
"minimum": 0,
"description": "Results to skip, for paging, default 0."
},
"size": {
"type": "integer",
"default": 20,
"maximum": 250,
"minimum": 1,
"description": "Results per page, 1 to 250, default 20."
},
"text": {
"type": "string",
"maxLength": 64,
"minLength": 2,
"description": "Search text, 2 to 64 characters, for example left-pad or keywords:cli. Qualifiers: author:, maintainer:, keywords:, scope:, not:deprecated."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
],
"description": "Package name."
},
"license": {
"type": [
"string",
"null"
],
"description": "Licence."
},
"npm_url": {
"type": [
"string",
"null"
],
"description": "npmjs.com page."
},
"version": {
"type": [
"string",
"null"
],
"description": "Latest version."
},
"bugs_url": {
"type": [
"string",
"null"
],
"description": "Issue tracker."
},
"homepage": {
"type": [
"string",
"null"
],
"description": "Home page."
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"description": "A keyword."
},
"description": "Keywords."
},
"published": {
"type": [
"string",
"null"
],
"description": "When the latest version was published, ISO 8601."
},
"publisher": {
"type": [
"string",
"null"
],
"description": "npm username of the publisher."
},
"dependents": {
"type": [
"integer",
"null"
],
"description": "Packages that depend on this one."
},
"description": {
"type": [
"string",
"null"
],
"description": "Description."
},
"maintainers": {
"type": "array",
"items": {
"type": "string",
"description": "An npm username."
},
"description": "Maintainer usernames."
},
"search_score": {
"type": [
"number",
"null"
],
"description": "The registry's relevance score for this search; not bounded to 0-1."
},
"repository_url": {
"type": [
"string",
"null"
],
"description": "Repository."
},
"downloads_last_week": {
"type": [
"integer",
"null"
],
"description": "Downloads in the last 7 days."
},
"downloads_last_month": {
"type": [
"integer",
"null"
],
"description": "Downloads in the last 30 days."
}
},
"description": "A package.",
"additionalProperties": true
},
"description": "Matching packages, best match first."
},
"total": {
"type": [
"integer",
"null"
],
"description": "Packages matching."
}
},
"additionalProperties": true
}