A powerful Model Context Protocol (MCP) server that revolutionizes NPM package analysis through AI.
- ✓Open-source license (MIT)
- ✓Clear description
- ✓Topics declared
- ✓Mature repo (>1y old)
git clone https://github.com/Nekzus/npm-sentinel-mcp{
"mcpServers": {
"npm-sentinel-mcp": {
"command": "node",
"args": ["/path/to/npm-sentinel-mcp/dist/index.js"]
}
}
}MCP Servers overview
# NPM Sentinel MCP
<div align="center">
[](https://smithery.ai/server/@Nekzus/npm-sentinel-mcp)
[](https://github.com/Nekzus/npm-sentinel-mcp/actions/workflows/publish.yml)
[](https://www.npmjs.com/package/@nekzus/mcp-server)
[](https://www.npmjs.com/package/@nekzus/mcp-server)
[](https://www.npmjs.com/package/@nekzus/mcp-server)
[](https://hub.docker.com/r/mcp/npm-sentinel)
[](https://deepwiki.com/Nekzus/npm-sentinel-mcp)
[](https://paypal.me/maseortega)
</div>
A powerful Model Context Protocol (MCP) server that revolutionizes NPM package analysis through AI. Built to integrate with Claude and Anthropic AI, it provides real-time intelligence on package security, dependencies, and performance. This MCP server delivers instant insights and smart analysis to safeguard and optimize your npm ecosystem, making package management decisions faster and safer for modern development workflows.
## Features
- **Version analysis and tracking**
- **Dependency analysis and mapping**
- **Advanced Security Scanning**: Recursive dependency checks, ecosystem awareness (e.g., React), and accurate version resolution.
- **Strict Input Validation**: Protection against Path Traversal, SSRF, and Command Injection via rigorous input sanitization.
- **Smart SemVer Shorthand & Range Resolution**: Transparently resolves major version shorthands, prefixes, and ranges (e.g., `express@2`, `express@v4`, `zod@3.x`, `react@^18`, `lodash@~4.17`) to the highest matching release without failing on missing exact version keys.
- **Indirect Prompt Injection Defense (OWASP LLM01)**: All tools returning raw 3rd-party Markdown/text (`npmPackageReadme`, `npmChangelogAnalysis`) wrap untrusted content in `<untrusted_external_content>` tags, attach `_meta.untrustedExternalContent = true` flags, and enforce strict tool schema warnings.
- **Package quality metrics**
- **Download trends and statistics**
- **TypeScript support verification**
- **Package size analysis**
- **Maintenance metrics**
- **Real-time package comparisons**
- **Standardized error handling and MCP response formats**
- **Efficient caching for improved performance and API rate limit management**
- **Rigorous schema validation and type safety using Zod**
Note: The server provides AI-assisted analysis through MCP integration.
## Security & OWASP LLM01 Compliance
This server implements **Defense-in-Depth** controls aligned with OWASP LLM01:2025 (Indirect Prompt Injection):
1. **XML Data Demarcation**: Content from external packages (`README.md`, GitHub changelogs, release notes) is wrapped inside `<untrusted_external_content source="..." package="..." type="...">` tags so consuming LLM models distinguish untrusted data from instructions.
2. **Metadata Signaling (`_meta`)**: Responses include `_meta.untrustedExternalContent = true` and `_meta.sources` arrays for programmatic client-side detection and policy enforcement.
3. **Tool & Prompt Safety Warnings**: Tool descriptions and prompt definitions explicitly instruct LLM agents to treat documentation as passive data and ignore embedded execution commands.
4. **Prototype Pollution Protection**: Enforces `Object.hasOwn()` checks on dictionary lookups (blocking reserved properties like `constructor` and `__proto__`).
## Caching and Invalidation
To ensure data accuracy while maintaining performance, the server implements robust caching strategies:
- **Automatic Invalidation**: The cache is automatically invalidated whenever `pnpm-lock.yaml`, `package-lock.json`, or `yarn.lock` changes in your workspace. This ensures you always get fresh data after installing or updating dependencies.
- **Force Refresh**: All tools accept an optional `ignoreCache: true` parameter to bypass the cache and force a fresh lookup from the registry.
### Example Usage (JSON-RPC)
When calling a tool, simply include `ignoreCache: true` in the arguments:
```json
{
"name": "npmVersions",
"arguments": {
"packages": ["react"],
"ignoreCache": true
}
}
```
## Installation
### Migration to HTTP Streamable
This MCP server now supports both STDIO and HTTP streamable transport. Your existing STDIO configuration will continue to work without changes.
**New capabilities:**
- HTTP streamable transport via Smithery.ai
- Enhanced scalability and performance
- Interactive testing playground
**Development commands:**
```bash
# Compile TypeScript
pnpm run build
# Start STDIO server
pnpm run start
# Development server with playground
pnpm run dev
```
### Install in VS Code
[<img alt="Install in VS Code (npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20NPM%20Sentinel%20MCP&color=0098FF">](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522npm-sentinel%2522%252C%2522config%2522%253A%257B%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522%2540nekzus%252Fmcp-server%2540latest%2522%255D%257D%257D)
[<img alt="Install in VS Code Insiders (npx)" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20NPM%20Sentinel%20MCP&color=24bfa5">](https://insiders.vscode.dev/redirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522npm-sentinel%2522%252C%2522config%2522%253A%257B%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522%2540nekzus%252Fmcp-server%2540latest%2522%255D%257D%257D)
Add this to your VS Code MCP config file. See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.
```json
{
"servers": {
"npm-sentinel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@nekzus/mcp-server@latest"]
}
}
}
```
### Smithery.ai Deployment (HTTP Streamable)
This MCP server now supports HTTP streamable transport through Smithery.ai for enhanced scalability and performance. You can deploy it directly on Smithery.ai:
**Benefits of HTTP deployment:**
- **Scalable**: Handles multiple concurrent connections
- **Streamable**: Real-time streaming responses
- **Managed**: Automatic deployment and monitoring
- **Backward Compatible**: Still supports STDIO for local development
- **Interactive Testing**: Built-in playground for testing tools
**Configuration for Smithery.ai:**
```json
{
"mcpServers": {
"npm-sentinel": {
"type": "http",
"url": "https://smithery.ai/server/@Nekzus/npm-sentinel-mcp"
}
}
}
```
### Configuration
The server supports the following configuration options:
| Environment Variable | CLI Argument | Default | Description |
| -------------------- | ------------ | ------- | ----------- |
| `NPM_REGISTRY_URL` | `config.NPM_REGISTRY_URL` | `https://registry.npmjs.org` | URL of the NPM registry to use for all requests |
#### HTTP Deployment (Smithery/Docker)
When deploying via Smithery or Docker, you can configure these options in your configuration file:
```json
{
"mcpServers": {
"npm-sentinel": {
"type": "http",
"url": "https://smithery.ai/server/@Nekzus/npm-sentinel-mcp",
"config": {
"NPM_REGISTRY_URL": "https://registry.npmjs.org"
}
}
}
}
```
### Docker
#### Build
```bash
# Build the Docker image
docker build -t nekzus/npm-sentinel-mcp .
```
#### Usage
You can run the MCP server using Docker with directory mounting to `/projects`:
```json
{
"mcpServers": {
"npm-sentinel-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-w", "/projects",
"--mount", "type=bind,src=${PWD},dst=/projects",
"nekzus/npm-sentinel-mcp",
"node",
"dist/index.js"
]
}
}
}
```
For multiple directories:
```json
{
"mcpServers": {
"npm-sentinel-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-w", "/projects",
"--mount", "type=bind,src=/path/to/workspace,dst=/projects/workspace",
"--mount", "type=bind,src=/path/to/other/dir,dst=/projects/other/dir,ro",
"nekzus/npm-sentinel-mcp",
"node",
"dist/index.js"
]
}
}
}
```
Note: All mounted directories must be under `/projects` for proper access.
### Usage with Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"npmsentinel": {
"command": "npx",
"args": ["-y", "@nekzus/mcp-server@latest"]
}
}
}
```
Configuration file locations:
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Linux: (Claude for Desktop does not officially support Linux at this time)
### NPX
<!-- [](cursor://anysphere.cursor-deeplink/mcp/install?name=npm-sentinel-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBuZWt6dXMvbWNwLXNlcnZlckBsYXRlc3QiXX0=) -->
```json
{
"mcpServers": {
"npm-sentinel-mcp": {
"command": "npx",
"args": [
"-y",
"@nekzus/mcp-server@latest"
]
}
}
}
```
## API
The server exposes its tools via the Model Context Protocol. All tools adhere to a standardized response format:
```json
{
"content": [
{
"type": "text",
"text": "string",
"isError": boolean // Optional
}
// ... more content items if neceWhat people ask about npm-sentinel-mcp
What is Nekzus/npm-sentinel-mcp?
+
Nekzus/npm-sentinel-mcp is mcp servers for the Claude AI ecosystem. A powerful Model Context Protocol (MCP) server that revolutionizes NPM package analysis through AI. It has 18 GitHub stars and was last updated today.
How do I install npm-sentinel-mcp?
+
You can install npm-sentinel-mcp by cloning the repository (https://github.com/Nekzus/npm-sentinel-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is Nekzus/npm-sentinel-mcp safe to use?
+
Our security agent has analyzed Nekzus/npm-sentinel-mcp and assigned a Trust Score of 82/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains Nekzus/npm-sentinel-mcp?
+
Nekzus/npm-sentinel-mcp is maintained by Nekzus. The last recorded GitHub activity is from today, with 0 open issues.
Are there alternatives to npm-sentinel-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy npm-sentinel-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/nekzus-npm-sentinel-mcp)<a href="https://claudewave.com/repo/nekzus-npm-sentinel-mcp"><img src="https://claudewave.com/api/badge/nekzus-npm-sentinel-mcp" alt="Featured on ClaudeWave: Nekzus/npm-sentinel-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface