logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

registry-package-query-service

Facilitates querying the public npm repository for software packages by invoking the 'npm search' utility.

Author

registry-package-query-service logo

btwiuse

MIT License

Quick Info

GitHub GitHub Stars 14
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

npmapispackagessearch npmnpm packagesnpm search

MseeP.ai Security Assessment Badge

npm-search MCP Server

smithery badge

This Model Context Protocol (MCP) backend furnishes the capability to lookup modules within the npm package index through execution of the standard 'npm search' system call.

npm-search-mcp-server MCP server

Exposed Functionality

  • search_npm_packages - Initiates a search query against the npm package registry.
  • Mandatory parameters:
    • query (text): The term or phrase to search for.

Deployment Instructions

Installation via Smithery

For automated setup of the npm-search utility within Claude Desktop using Smithery:

bash npx -y @smithery/cli install npm-search-mcp-server --client claude

Direct NPM Installation (Preferred)

Alternatively, acquire and install the npm-search-mcp-server package via the npm ecosystem:

bash npm install -g npm-search-mcp-server

Post-installation, invoke it directly from the shell:

bash npm-search-mcp-server

Utilizing uv

When operating within the uv runtime environment, explicit installation is bypassed. We leverage uvx to execute the npm-search-mcp-server binary directly.

Configuration Directives

Setup for Claude.app

Integrate the following JSON snippet into your Claude configuration file:

If installed via npm "mcpServers": { "npm-search": { "command": "npx", "args": ["-y", "npm-search-mcp-server"] } }
If using uvx "mcpServers": { "npm-search": { "command": "uvx", "args": ["npm-search-mcp-server"] } }

Setup for Zed

Incorporate this object into your Zed's settings.json file:

If installed via npm "context_servers": { "npm-search-mcp-server": { "command": "npx", "args": ["-y", "npm-search-mcp-server"] } },
If using uvx "context_servers": [ "npm-search-mcp-server": { "command": "uvx", "args": ["npm-search-mcp-server"] } ],

Operational Examples

  1. Executing an npm package retrieval request:

{ "name": "search_npm_packages", "arguments": { "query": "express" } }

Result payload example:

{ "results": [ { "name": "express", "description": "Fast, unopinionated, minimalist web framework", "version": "4.17.1", "author": "TJ Holowaychuk", "license": "MIT" }, ... ] }

Diagnostics

Debug this backend service utilizing the MCP inspector utility. For uvx-based setups:

bash npx @modelcontextprotocol/inspector npx -y npm-search-mcp-server

If performing local development or targeting a specific installation path:

bash cd path/to/servers/src/npm-search npx @modelcontextprotocol/inspector uv run npm-search-mcp-server

Prompting Suggestions for Claude

  1. "Query the npm registry for the 'express' module."
  2. "Identify packages associated with 'react'."
  3. "List software components available on npm relevant to contemporary web application construction."

Compilation

To construct a Docker image:

bash cd src/npm-search docker build -t mcp/npm-search .

Community Involvement

We warmly welcome external contributions to enhance and expand the capabilities of this npm-search-mcp-server implementation. Whether you intend to integrate novel npm-centric utilities, refine existing features, or improve the documentation, your input is highly valued.

Refer to the following repository for examples of other MCP server designs and implementation paradigms: https://github.com/modelcontextprotocol/servers

Submissions via Pull Request are encouraged! Bring forward novel concepts, fixes for defects, or enhancements to elevate the utility of npm-search-mcp-server.

npm-search-mcp-server is distributed under the permissive MIT License terms. This grants latitude for usage, modification, and distribution, contingent upon adherence to the stipulations outlined in the MIT License agreement. Detailed terms are available within the project's LICENSE file. WIKIPEDIA: XMLHttpRequest (XHR) constitutes an Application Programming Interface, structured as a JavaScript construct, primarily responsible for dispatching HTTP queries from a web browser application to a remote web server. Its methods enable client-side web applications to initiate server communications subsequent to initial page load, and subsequently retrieve resultant data. XMLHttpRequest forms an essential constituent of the Asynchronous JavaScript and XML (Ajax) programming paradigm. Preceding Ajax adoption, the dominant means of server interaction involved traditional hyperlink navigation and HTML form submissions, actions which typically necessitated a full page refresh.================== Chronology == The foundational concept underpinning XMLHttpRequest originated around the year 2000, conceived by the engineering team behind Microsoft Outlook. This notion was subsequently actualized within the Internet Explorer 5 browser release (1999). Nonetheless, the preliminary syntax did not employ the explicit 'XMLHttpRequest' identifier. Instead, developers utilized the object instantiation syntax 'ActiveXObject("Msxml2.XMLHTTP")' or 'ActiveXObject("Microsoft.XMLHTTP")'. By the time Internet Explorer 7 arrived (2006), standardized support for the 'XMLHttpRequest' identifier had achieved near-universal adoption across all major browser platforms. The 'XMLHttpRequest' identifier has since solidified its position as the de facto standard across the leading browser engines, including Mozilla's Gecko rendering engine (since 2002), Apple's Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Efforts === The World Wide Web Consortium (W3C) formally published an initial Working Draft specification for the XMLHttpRequest object on April 5, 2006. Subsequently, on February 25, 2008, the W3C issued the Level 2 specification draft. The Level 2 revision introduced crucial enhancements such as mechanisms to monitor ongoing data transfer progress, enablement of cross-origin communication (CORS), and support for handling raw byte streams. By the conclusion of 2011, the features delineated in the Level 2 document were integrated back into the main specification. In late 2012, the responsibility for maintenance shifted to the WHATWG, which now manages the living document using the Web IDL specification language.

== Operational Procedure == Generally, the process of transmitting a request using XMLHttpRequest mandates several distinct programming steps.

  1. Instantiate an XMLHttpRequest object by invoking its constructor function:
  2. Invoke the 'open' method to define the request methodology (GET, POST, etc.), specify the target Uniform Resource Identifier (URI), and select between synchronous or asynchronous execution mode:
  3. For operations configured as asynchronous, establish an event handler function that will be automatically triggered upon changes to the request's state:
  4. Commence the data transmission process by calling the 'send' method, optionally including payload data:
  5. The application logic must react to state changes within the designated event listener. If server-side data is returned, it is typically accessible via the 'responseText' property once the operation reaches state 4, the terminal or 'done' state. Beyond these fundamental steps, XMLHttpRequest offers extensive configuration options to precisely control request behavior and response processing. Custom HTTP header fields can be affixed to the outgoing request to guide server handling, and data payloads can be transmitted to the server via arguments passed to the 'send' method. Furthermore, incoming responses can be systematically parsed from formats like JSON into native JavaScript structures, or processed incrementally as data chunks arrive, rather than awaiting the complete transmission. The request execution can also be terminated prematurely or subjected to a timeout constraint.

See Also

`