ai.smithery/Nekzus-npm-sentinel-mcp
编码与调试by nekzus
为 NPM packages 提供 AI 驱动的实时分析与情报,涵盖 security、dependencies、风险与质量评估。
什么是 ai.smithery/Nekzus-npm-sentinel-mcp?
为 NPM packages 提供 AI 驱动的实时分析与情报,涵盖 security、dependencies、风险与质量评估。
README
NPM Sentinel MCP
<div align="center"> </div>A powerful Model Context Protocol (MCP v2) server built on @modelcontextprotocol/server and @modelcontextprotocol/core (v2) that revolutionizes NPM package analysis through AI. Built to integrate seamlessly with Claude, Anthropic AI, and any MCP v2 compatible client, it provides real-time intelligence on package security, dependencies, and performance.
This server features Modular ESM Architecture (src/), Dual Output Protocol Returns (content + structuredContent), Zod Output Schemas (outputSchema), Embedded SVG Data URI Icons, and Real-Time Context Logging.
Key Features
- MCP v2 Native Protocol: Fully upgraded to MCP v2 with
outputSchemaZod validation, dualstructuredContentreturning, and diagnostic context logging (ctx.mcpReq.log). - Self-Contained Vector Icons: Pre-configured SVG Data URIs (
data:image/svg+xml) embedded across all 19 tools, resources, and prompts for enhanced client UI presentation. - Advanced Security Scanning: Recursive dependency checks powered by Google's
deps.devand OSV.dev, ecosystem awareness, and accurate version resolution. - Smart Alternatives Filtering (
npmAlternatives): Intelligent search based on functional domain keywords with strict ecosystem plugin/extension filtering (e.g., excludesexpress-rate-limitwhen searching for alternatives toexpress). - Strict Input Validation & Batch Rate Control: Input sanitization via Zod against Path Traversal, SSRF, and Command Injection. Search queries (
npmSearch) are capped at 100 characters and filtered for control characters. Batch analysis tools enforce a strict cap of 25 packages per request to prevent registry enumeration DoS. - Dependency & Transitive Mapping: Complete dependency tree analysis mapping through
deps.dev. - Package Quality & Maintenance Metrics: Real-time scoring using OpenSSF Scorecard, GitHub repository metrics, and npms.io.
- Download Trends & Performance: Real-time download statistics and bundle size analysis.
- 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 = trueflags, and enforce strict tool schema warnings. - Efficient Caching System: Automated cache invalidation on workspace lockfile changes (
pnpm-lock.yaml,package-lock.json,yarn.lock) with manual bypass (ignoreCache: true).
Security & OWASP LLM01 Compliance
This server implements Defense-in-Depth controls aligned with OWASP LLM01:2025 (Indirect Prompt Injection):
- 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. - Metadata Signaling (
_meta): Responses include_meta.untrustedExternalContent = trueand_meta.sourcesarrays for programmatic client-side detection and policy enforcement. - Tool & Prompt Safety Warnings: Tool descriptions and prompt definitions explicitly instruct LLM agents to treat documentation as passive data and ignore embedded execution commands.
- Batch Size Capping & Query Sanitization: All 18 multi-package analysis tools enforce a 25-package limit per request (
PackageListSchema). Search queries are sanitized and capped at 100 characters (SearchQuerySchema). - Prototype Pollution Protection: Enforces
Object.hasOwn()checks on dictionary lookups (blocking reserved properties likeconstructorand__proto__).
To ensure data accuracy while maintaining high performance:
- Automatic Invalidation: The cache is automatically invalidated whenever
pnpm-lock.yaml,package-lock.json, oryarn.lockchanges in your workspace. - Force Refresh: All tools accept an optional
ignoreCache: trueparameter to bypass the cache and force a fresh lookup from the NPM registry.
Example Usage (JSON-RPC)
{
"name": "npmVersions",
"arguments": {
"packages": ["react"],
"ignoreCache": true
}
}
Installation & Transports
Dual-Era MCP Architecture (v1 2025-11-25 + v2 2026-07-28)
This MCP server features native Dual-Era Protocol Compatibility, seamlessly serving both modern MCP v2 clients (2026-07-28) and legacy MCP v1 clients (2025-11-25) out of the box across both STDIO and Streamable HTTP transports:
- STDIO Mode (
npx @nekzus/mcp-server): Powered byserveStdio({ legacy: "serve" }). Handles modernserver/discoverprobes sessionlessly and conjoins seamlessly with legacyinitializehandshakes for local execution (Claude Desktop, Cursor, Docker). - Streamable HTTP / SSE Mode (
@nekzus/mcp-server/http): Powered bycreateMcpHandler({ legacy: "stateless" }). Designed for serverless and web-standard runtimes (Cloudflare Workers, Hono, Express, Vercel API Routes, Smithery.ai).
Example: Mounting HTTP Handler (Cloudflare Workers / Hono / Express)
import { createMcpHttpHandler } from '@nekzus/mcp-server/http';
const handleRequest = createMcpHttpHandler();
export default {
async fetch(request, env, ctx) {
return handleRequest(request);
}
};
Development Commands:
# Install dependencies
pnpm install
# Compile TypeScript to dist/
pnpm run build
# Start STDIO server (Dual-Era)
pnpm run start
# Development server with Smithery CLI playground
pnpm run dev
# Run full unit and integration test suite (238 tests)
pnpm test -- --run
# Run full E2E tarball verification
node __tests__/full-e2e-pack-validation.js
Install in VS Code / Cursor
Add this to your VS Code / Cursor MCP configuration:
{
"inputs": [],
"servers": {
"npm-sentinel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@nekzus/mcp-server@latest"]
}
}
}
Install in Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"npm-sentinel": {
"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:
~/.config/Claude/claude_desktop_config.json
Smithery.ai Deployment
{
"mcpServers": {
"npm-sentinel": {
"type": "http",
"url": "https://smithery.ai/server/@Nekzus/npm-sentinel-mcp"
}
}
}
Docker Usage
# Build Docker image
docker build -t nekzus/npm-sentinel-mcp .
# Run with local volume mount
docker run -i --rm -w /projects -v ${PWD}:/projects nekzus/npm-sentinel-mcp node dist/index.js
Web Standard Streamable HTTP & Cloudflare Workers Integration
The package exports createMcpHttpHandler and WebStandardStreamableHTTPServerTransport for serverless platforms (Cloudflare Workers, Hono, Vercel, Express, Fastify, Next.js API routes) requiring official Web Standard Streamable HTTP transport under MCP v2:
import { createMcpHttpHandler } from '@nekzus/mcp-server/http';
const handleMcpRequest = createMcpHttpHandler();
export default {
async fetch(request: Request): Promise<Response> {
return handleMcpRequest(request);
},
};
100% MCP v2 Compliance: Powered by WebStandardStreamableHTTPServerTransport, this handler natively activates all 3 MCP primitives (Tools, Resources, and Prompts) with peak performance, SSE streaming support, and full Web Standard Request $\rightarrow$ Response compatibility.
Configuration
The server supports the following configuration parameters:
| Environment Variable | Config Object Property | Default | Description |
|---|---|---|---|
NPM_REGISTRY_URL | config.NPM_REGISTRY_URL | https://registry.npmjs.org | URL of the NPM registry to use for all requests |
MCP Server Capabilities (v2 API)
All tool responses conform to the MCP v2 dual output format, providing both human-readable text in content and parsed JSON objects in structuredContent:
{
"content": [
{
"type": "text",
"text": "{\n \"queryPackages\": [\"express\"],\n \"results\": [...]\n}"
}
],
"structuredContent": {
"queryPackages": ["express"],
"results": [...]
}
}
Server Resources
Accessible via MCP readResource requests:
doc://server/readme- Description: Main documentation file for NPM Sentinel MCP server.
- MIME Type:
text/markdown - Icon: Embedded Document SVG Data URI.
doc://mcp/specification- Description: Complete Model Context Protocol specification file (
llms-full.txt). - MIME Type:
text/plain - Icon: Embedded Document SVG Data URI.
- Description: Complete Model Context Protocol specification file (
Server Prompts
Accessible via MCP getPrompt requests:
analyze-package- Description: Generates a comprehensive prompt template for AI analysis of an NPM package including security, performance, dependencies, and health metrics.
- Arguments:
package(string, required) - Icon: Embedded Security SVG Data URI.
Tools Catalog (19 Tools)
All 19 tools define inputSchema, outputSchema, annotations (title, readOnlyHint), and icons:
1. npmLatest
- Get latest version information, release dates, SRI integrity hashes, and dist-tags.
- Input:
packages(string[]),ignoreCache(boolean, optional)
2. npmVersions
- Get full version history with release dates and deprecation statuses.
- Input:
packages(string[]),ignoreCache(boolean, optional)
3. npmDeps
- Complete dependency tree analysis including direct dependencies and full transitive graph mapping via
deps.dev. - Input:
packages(string[]),ignoreCache(boolean, optional)
4. npmTypes
- Verify TypeScript support (native
index.d.tsdeclaration files vs@types/*DefinitelyTyped packages). - Input:
packages(string[]),ignoreCache(boolean, optional)
5. npmSize
- Package bundle size, minified size, and gzip impact analysis.
- Input:
packages(string[]),ignoreCache(boolean, optional)
6. npmVulnerabilities
- Instant transitive vulnerability scanning powered by Google's
deps.devand OSV.dev advisories. - Input:
packages(string[]),ignoreCache(boolean, optional)
7. npmTrends
- Historical download statistics over customizable time ranges (
last-week,last-month,last-year). - Input:
packages(string[]),period("last-week"|"last-month"|"last-year"),ignoreCache(boolean, optional)
8. npmCompare
- Side-by-side metric comparison across multiple packages.
- Input:
packages(string[]),ignoreCache(boolean, optional)
9. npmMaintainers
- List of package maintainers, public emails, and publishing activity.
- Input:
packages(string[]),ignoreCache(boolean, optional)
10. npmScore
- Consolidated score combining quality, popularity, maintenance, and OpenSSF Scorecard.
- Input:
packages(string[]),ignoreCache(boolean, optional)
11. npmPackageReadme
- Retrieve full formatted raw README markdown content from NPM registry / CDN.
- Input:
packages(string[]),ignoreCache(boolean, optional)
12. npmSearch
- Search NPM registry packages by query with rich metadata (scores, publisher, keywords).
- Input:
query(string),limit(number, optional)
13. npmLicenseCompatibility
- Analyze license compatibility across multiple packages (MIT, Apache-2.0, GPL, etc.).
- Input:
packages(string[]),ignoreCache(boolean, optional)
14. npmRepoStats
- Repository statistics (GitHub stars, forks, open issues) combined with OpenSSF Scorecard checks.
- Input:
packages(string[]),ignoreCache(boolean, optional)
15. npmDeprecated
- Detect deprecation status on package and recursive sub-dependencies.
- Input:
packages(string[]),ignoreCache(boolean, optional)
16. npmChangelogAnalysis
- Extract release notes and GitHub release history.
- Input:
packages(string[]),ignoreCache(boolean, optional)
17. npmAlternatives
- Smart functional alternative suggestions filtering out ecosystem plugins (e.g. excludes
express-rate-limitforexpress). - Input:
packages(string[]),ignoreCache(boolean, optional)
18. npmQuality
- Package code quality score (0–1).
- Input:
packages(string[]),ignoreCache(boolean, optional)
19. npmMaintenance
- Package maintenance activity score (0–1).
- Input:
packages(string[]),ignoreCache(boolean, optional)
License
This MCP server is licensed under the MIT License. See LICENSE for details.
MIT © nekzus
常见问题
ai.smithery/Nekzus-npm-sentinel-mcp 是什么?
为 NPM packages 提供 AI 驱动的实时分析与情报,涵盖 security、dependencies、风险与质量评估。
相关 Skills
前端设计
by anthropics
面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。
✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。
网页应用测试
by anthropics
用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。
✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。
网页构建器
by anthropics
面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。
✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。
相关 MCP Server
GitHub
编辑精选by GitHub
GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。
✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。
Context7 文档查询
编辑精选by Context7
Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。
✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。
by tldraw
tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。
✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。