@nekzus/mcp-server 1.18.3 → 1.19.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +162 -283
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +60 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +488 -785
- package/dist/index.js.map +1 -1
- package/dist/src/cache.d.ts +22 -0
- package/dist/src/cache.d.ts.map +1 -0
- package/dist/src/cache.js +68 -0
- package/dist/src/cache.js.map +1 -0
- package/dist/src/config.d.ts +11 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +45 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/handlers/index.d.ts +2 -0
- package/dist/src/handlers/index.d.ts.map +1 -0
- package/dist/src/handlers/index.js +2 -0
- package/dist/src/handlers/index.js.map +1 -0
- package/dist/src/icons.d.ts +21 -0
- package/dist/src/icons.d.ts.map +1 -0
- package/dist/src/icons.js +29 -0
- package/dist/src/icons.js.map +1 -0
- package/dist/src/prompts/index.d.ts +3 -0
- package/dist/src/prompts/index.d.ts.map +1 -0
- package/dist/src/prompts/index.js +22 -0
- package/dist/src/prompts/index.js.map +1 -0
- package/dist/src/resources/index.d.ts +3 -0
- package/dist/src/resources/index.d.ts.map +1 -0
- package/dist/src/resources/index.js +62 -0
- package/dist/src/resources/index.js.map +1 -0
- package/dist/src/schemas.d.ts +143 -0
- package/dist/src/schemas.d.ts.map +1 -0
- package/dist/src/schemas.js +189 -0
- package/dist/src/schemas.js.map +1 -0
- package/dist/src/server.d.ts +7 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +21 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/tools/index.d.ts +3 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +411 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/utils/fetch-retry.d.ts +5 -0
- package/dist/src/utils/fetch-retry.d.ts.map +1 -0
- package/dist/src/utils/fetch-retry.js +69 -0
- package/dist/src/utils/fetch-retry.js.map +1 -0
- package/llms-full.txt +312 -422
- package/package.json +16 -17
- package/smithery.yaml +10 -2
package/README.md
CHANGED
|
@@ -13,36 +13,30 @@
|
|
|
13
13
|
|
|
14
14
|
</div>
|
|
15
15
|
|
|
16
|
-
A powerful Model Context Protocol (MCP) server that revolutionizes NPM package analysis through AI. Built to integrate with Claude
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
-
- **
|
|
28
|
-
- **Maintenance metrics
|
|
29
|
-
- **Real-time
|
|
30
|
-
- **
|
|
31
|
-
- **Efficient caching for improved performance and API rate limit management**
|
|
32
|
-
- **Rigorous schema validation and type safety using Zod**
|
|
33
|
-
|
|
34
|
-
Note: The server provides AI-assisted analysis through MCP integration.
|
|
16
|
+
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.
|
|
17
|
+
|
|
18
|
+
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**.
|
|
19
|
+
|
|
20
|
+
## Key Features
|
|
21
|
+
|
|
22
|
+
- **MCP v2 Native Protocol**: Fully upgraded to MCP v2 with `outputSchema` Zod validation, dual `structuredContent` returning, and diagnostic context logging (`ctx.mcpReq.log`).
|
|
23
|
+
- **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.
|
|
24
|
+
- **Advanced Security Scanning**: Recursive dependency checks powered by Google's `deps.dev` and OSV.dev, ecosystem awareness, and accurate version resolution.
|
|
25
|
+
- **Smart Alternatives Filtering (`npmAlternatives`)**: Intelligent search based on functional domain keywords with strict ecosystem plugin/extension filtering (e.g., excludes `express-rate-limit` when searching for alternatives to `express`).
|
|
26
|
+
- **Strict Input Validation**: Protection against Path Traversal, SSRF, and Command Injection via rigorous input sanitization (`isValidNpmPackageName`).
|
|
27
|
+
- **Dependency & Transitive Mapping**: Complete dependency tree analysis mapping through `deps.dev`.
|
|
28
|
+
- **Package Quality & Maintenance Metrics**: Real-time scoring using OpenSSF Scorecard, GitHub repository metrics, and npms.io.
|
|
29
|
+
- **Download Trends & Performance**: Real-time download statistics and bundle size analysis.
|
|
30
|
+
- **Efficient Caching System**: Automated cache invalidation on workspace lockfile changes (`pnpm-lock.yaml`, `package-lock.json`, `yarn.lock`) with manual bypass (`ignoreCache: true`).
|
|
35
31
|
|
|
36
32
|
## Caching and Invalidation
|
|
37
33
|
|
|
38
|
-
To ensure data accuracy while maintaining performance
|
|
39
|
-
- **Automatic Invalidation**: The cache is automatically invalidated whenever `pnpm-lock.yaml`, `package-lock.json`, or `yarn.lock` changes in your workspace.
|
|
40
|
-
- **Force Refresh**: All tools accept an optional `ignoreCache: true` parameter to bypass the cache and force a fresh lookup from the registry.
|
|
34
|
+
To ensure data accuracy while maintaining high performance:
|
|
35
|
+
- **Automatic Invalidation**: The cache is automatically invalidated whenever `pnpm-lock.yaml`, `package-lock.json`, or `yarn.lock` changes in your workspace.
|
|
36
|
+
- **Force Refresh**: All tools accept an optional `ignoreCache: true` parameter to bypass the cache and force a fresh lookup from the NPM registry.
|
|
41
37
|
|
|
42
38
|
### Example Usage (JSON-RPC)
|
|
43
39
|
|
|
44
|
-
When calling a tool, simply include `ignoreCache: true` in the arguments:
|
|
45
|
-
|
|
46
40
|
```json
|
|
47
41
|
{
|
|
48
42
|
"name": "npmVersions",
|
|
@@ -53,38 +47,43 @@ When calling a tool, simply include `ignoreCache: true` in the arguments:
|
|
|
53
47
|
}
|
|
54
48
|
```
|
|
55
49
|
|
|
56
|
-
## Installation
|
|
50
|
+
## Installation & Transports
|
|
57
51
|
|
|
58
|
-
###
|
|
52
|
+
### STDIO & Streamable HTTP Transports
|
|
59
53
|
|
|
60
|
-
This MCP server
|
|
54
|
+
This MCP server supports both **STDIO** (standard input/output) and **Streamable HTTP / SSE** transports out of the box.
|
|
61
55
|
|
|
62
|
-
**
|
|
63
|
-
- HTTP
|
|
64
|
-
- Enhanced scalability and performance
|
|
65
|
-
- Interactive testing playground
|
|
56
|
+
- **STDIO Mode**: Default transport for local execution via `npx` or Docker.
|
|
57
|
+
- **Streamable HTTP / SSE Mode**: Decoupled `createServer({ config })` factory exported from `dist/index.js` and `dist/src/server.js` for mounting on Express, Hono, Cloudflare Workers, or Smithery.ai.
|
|
66
58
|
|
|
67
|
-
**Development
|
|
59
|
+
**Development Commands:**
|
|
68
60
|
```bash
|
|
69
|
-
#
|
|
70
|
-
|
|
61
|
+
# Install dependencies
|
|
62
|
+
pnpm install
|
|
71
63
|
|
|
72
|
-
#
|
|
73
|
-
|
|
64
|
+
# Compile TypeScript to dist/
|
|
65
|
+
pnpm run build
|
|
74
66
|
|
|
75
|
-
# Start
|
|
76
|
-
|
|
77
|
-
```
|
|
67
|
+
# Start STDIO server
|
|
68
|
+
pnpm run start
|
|
78
69
|
|
|
79
|
-
|
|
70
|
+
# Development server with Smithery CLI playground
|
|
71
|
+
pnpm run dev
|
|
80
72
|
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
# Run unit and integration test suite (212+ tests)
|
|
74
|
+
pnpm test -- --run
|
|
83
75
|
|
|
84
|
-
|
|
76
|
+
# Run full E2E tarball verification
|
|
77
|
+
node __tests__/full-e2e-pack-validation.js
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Install in VS Code / Cursor
|
|
81
|
+
|
|
82
|
+
Add this to your VS Code / Cursor MCP configuration:
|
|
85
83
|
|
|
86
84
|
```json
|
|
87
85
|
{
|
|
86
|
+
"inputs": [],
|
|
88
87
|
"servers": {
|
|
89
88
|
"npm-sentinel": {
|
|
90
89
|
"type": "stdio",
|
|
@@ -95,306 +94,186 @@ Add this to your VS Code MCP config file. See [VS Code MCP docs](https://code.vi
|
|
|
95
94
|
}
|
|
96
95
|
```
|
|
97
96
|
|
|
98
|
-
###
|
|
97
|
+
### Install in Claude Desktop
|
|
99
98
|
|
|
100
|
-
|
|
101
|
-
**Benefits of HTTP deployment:**
|
|
102
|
-
- **Scalable**: Handles multiple concurrent connections
|
|
103
|
-
- **Streamable**: Real-time streaming responses
|
|
104
|
-
- **Managed**: Automatic deployment and monitoring
|
|
105
|
-
- **Backward Compatible**: Still supports STDIO for local development
|
|
106
|
-
- **Interactive Testing**: Built-in playground for testing tools
|
|
99
|
+
Add this to your `claude_desktop_config.json`:
|
|
107
100
|
|
|
108
|
-
**Configuration for Smithery.ai:**
|
|
109
101
|
```json
|
|
110
102
|
{
|
|
111
103
|
"mcpServers": {
|
|
112
104
|
"npm-sentinel": {
|
|
113
|
-
"
|
|
114
|
-
"
|
|
105
|
+
"command": "npx",
|
|
106
|
+
"args": ["-y", "@nekzus/mcp-server@latest"]
|
|
115
107
|
}
|
|
116
108
|
}
|
|
117
109
|
}
|
|
118
110
|
```
|
|
119
111
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
| Environment Variable | CLI Argument | Default | Description |
|
|
125
|
-
| -------------------- | ------------ | ------- | ----------- |
|
|
126
|
-
| `NPM_REGISTRY_URL` | `config.NPM_REGISTRY_URL` | `https://registry.npmjs.org` | URL of the NPM registry to use for all requests |
|
|
127
|
-
|
|
128
|
-
#### HTTP Deployment (Smithery/Docker)
|
|
112
|
+
**Configuration File Locations:**
|
|
113
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
114
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
115
|
+
- Linux: `~/.config/Claude/claude_desktop_config.json`
|
|
129
116
|
|
|
130
|
-
|
|
117
|
+
### Smithery.ai Deployment
|
|
131
118
|
|
|
132
119
|
```json
|
|
133
120
|
{
|
|
134
121
|
"mcpServers": {
|
|
135
122
|
"npm-sentinel": {
|
|
136
123
|
"type": "http",
|
|
137
|
-
"url": "https://smithery.ai/server/@Nekzus/npm-sentinel-mcp"
|
|
138
|
-
"config": {
|
|
139
|
-
"NPM_REGISTRY_URL": "https://registry.npmjs.org"
|
|
140
|
-
}
|
|
124
|
+
"url": "https://smithery.ai/server/@Nekzus/npm-sentinel-mcp"
|
|
141
125
|
}
|
|
142
126
|
}
|
|
143
127
|
}
|
|
144
128
|
```
|
|
145
|
-
### Docker
|
|
146
129
|
|
|
147
|
-
|
|
130
|
+
### Docker Usage
|
|
131
|
+
|
|
148
132
|
```bash
|
|
149
|
-
# Build
|
|
133
|
+
# Build Docker image
|
|
150
134
|
docker build -t nekzus/npm-sentinel-mcp .
|
|
135
|
+
|
|
136
|
+
# Run with local volume mount
|
|
137
|
+
docker run -i --rm -w /projects -v ${PWD}:/projects nekzus/npm-sentinel-mcp node dist/index.js
|
|
151
138
|
```
|
|
152
139
|
|
|
153
|
-
|
|
140
|
+
## Configuration
|
|
154
141
|
|
|
155
|
-
|
|
142
|
+
The server supports the following configuration parameters:
|
|
156
143
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
"args": [
|
|
163
|
-
"run",
|
|
164
|
-
"-i",
|
|
165
|
-
"--rm",
|
|
166
|
-
"-w", "/projects",
|
|
167
|
-
"--mount", "type=bind,src=${PWD},dst=/projects",
|
|
168
|
-
"nekzus/npm-sentinel-mcp",
|
|
169
|
-
"node",
|
|
170
|
-
"dist/index.js"
|
|
171
|
-
]
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
```
|
|
144
|
+
| Environment Variable | Config Object Property | Default | Description |
|
|
145
|
+
| -------------------- | ---------------------- | ------- | ----------- |
|
|
146
|
+
| `NPM_REGISTRY_URL` | `config.NPM_REGISTRY_URL` | `https://registry.npmjs.org` | URL of the NPM registry to use for all requests |
|
|
147
|
+
|
|
148
|
+
---
|
|
176
149
|
|
|
177
|
-
|
|
150
|
+
## MCP Server Capabilities (v2 API)
|
|
151
|
+
|
|
152
|
+
All tool responses conform to the MCP v2 dual output format, providing both human-readable text in `content` and parsed JSON objects in `structuredContent`:
|
|
178
153
|
|
|
179
154
|
```json
|
|
180
155
|
{
|
|
181
|
-
"
|
|
182
|
-
|
|
183
|
-
"
|
|
184
|
-
"
|
|
185
|
-
"run",
|
|
186
|
-
"-i",
|
|
187
|
-
"--rm",
|
|
188
|
-
"-w", "/projects",
|
|
189
|
-
"--mount", "type=bind,src=/path/to/workspace,dst=/projects/workspace",
|
|
190
|
-
"--mount", "type=bind,src=/path/to/other/dir,dst=/projects/other/dir,ro",
|
|
191
|
-
"nekzus/npm-sentinel-mcp",
|
|
192
|
-
"node",
|
|
193
|
-
"dist/index.js"
|
|
194
|
-
]
|
|
156
|
+
"content": [
|
|
157
|
+
{
|
|
158
|
+
"type": "text",
|
|
159
|
+
"text": "{\n \"queryPackages\": [\"express\"],\n \"results\": [...]\n}"
|
|
195
160
|
}
|
|
161
|
+
],
|
|
162
|
+
"structuredContent": {
|
|
163
|
+
"queryPackages": ["express"],
|
|
164
|
+
"results": [...]
|
|
196
165
|
}
|
|
197
166
|
}
|
|
198
167
|
```
|
|
199
168
|
|
|
200
|
-
|
|
169
|
+
### Server Resources
|
|
201
170
|
|
|
202
|
-
|
|
171
|
+
Accessible via MCP `readResource` requests:
|
|
203
172
|
|
|
204
|
-
|
|
173
|
+
- `doc://server/readme`
|
|
174
|
+
- **Description**: Main documentation file for NPM Sentinel MCP server.
|
|
175
|
+
- **MIME Type**: `text/markdown`
|
|
176
|
+
- **Icon**: Embedded Document SVG Data URI.
|
|
177
|
+
- `doc://mcp/specification`
|
|
178
|
+
- **Description**: Complete Model Context Protocol specification file (`llms-full.txt`).
|
|
179
|
+
- **MIME Type**: `text/plain`
|
|
180
|
+
- **Icon**: Embedded Document SVG Data URI.
|
|
205
181
|
|
|
206
|
-
|
|
207
|
-
{
|
|
208
|
-
"mcpServers": {
|
|
209
|
-
"npmsentinel": {
|
|
210
|
-
"command": "npx",
|
|
211
|
-
"args": ["-y", "@nekzus/mcp-server@latest"]
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
```
|
|
182
|
+
### Server Prompts
|
|
216
183
|
|
|
217
|
-
|
|
218
|
-
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
219
|
-
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
220
|
-
- Linux: (Claude for Desktop does not officially support Linux at this time)
|
|
184
|
+
Accessible via MCP `getPrompt` requests:
|
|
221
185
|
|
|
222
|
-
|
|
186
|
+
- `analyze-package`
|
|
187
|
+
- **Description**: Generates a comprehensive prompt template for AI analysis of an NPM package including security, performance, dependencies, and health metrics.
|
|
188
|
+
- **Arguments**: `package` (string, required)
|
|
189
|
+
- **Icon**: Embedded Security SVG Data URI.
|
|
223
190
|
|
|
224
|
-
|
|
191
|
+
---
|
|
225
192
|
|
|
226
|
-
|
|
227
|
-
{
|
|
228
|
-
"mcpServers": {
|
|
229
|
-
"npm-sentinel-mcp": {
|
|
230
|
-
"command": "npx",
|
|
231
|
-
"args": [
|
|
232
|
-
"-y",
|
|
233
|
-
"@nekzus/mcp-server@latest"
|
|
234
|
-
]
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
```
|
|
193
|
+
### Tools Catalog (19 Tools)
|
|
239
194
|
|
|
240
|
-
|
|
195
|
+
All 19 tools define `inputSchema`, `outputSchema`, `annotations` (`title`, `readOnlyHint`), and `icons`:
|
|
241
196
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
"content": [
|
|
246
|
-
{
|
|
247
|
-
"type": "text",
|
|
248
|
-
"text": "string",
|
|
249
|
-
"isError": boolean // Optional
|
|
250
|
-
}
|
|
251
|
-
// ... more content items if necessary
|
|
252
|
-
]
|
|
253
|
-
}
|
|
254
|
-
```
|
|
197
|
+
#### 1. `npmLatest`
|
|
198
|
+
- Get latest version information, release dates, SRI integrity hashes, and dist-tags.
|
|
199
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
255
200
|
|
|
256
|
-
|
|
201
|
+
#### 2. `npmVersions`
|
|
202
|
+
- Get full version history with release dates and deprecation statuses.
|
|
203
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
257
204
|
|
|
258
|
-
|
|
259
|
-
-
|
|
260
|
-
- `
|
|
205
|
+
#### 3. `npmDeps`
|
|
206
|
+
- Complete dependency tree analysis including direct dependencies and full transitive graph mapping via `deps.dev`.
|
|
207
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
261
208
|
|
|
262
|
-
|
|
209
|
+
#### 4. `npmTypes`
|
|
210
|
+
- Verify TypeScript support (native `index.d.ts` declaration files vs `@types/*` DefinitelyTyped packages).
|
|
211
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
263
212
|
|
|
264
|
-
|
|
213
|
+
#### 5. `npmSize`
|
|
214
|
+
- Package bundle size, minified size, and gzip impact analysis.
|
|
215
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
265
216
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
- `doc://mcp/specification`:
|
|
270
|
-
- **Description**: Retrieves the `llms-full.txt` content, providing the comprehensive Model Context Protocol specification.
|
|
271
|
-
- **MIME Type**: `text/plain`
|
|
217
|
+
#### 6. `npmVulnerabilities`
|
|
218
|
+
- Instant transitive vulnerability scanning powered by Google's `deps.dev` and OSV.dev advisories.
|
|
219
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
272
220
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
- Get all versions of a package
|
|
277
|
-
- Input: `packages` (string[])
|
|
278
|
-
- Returns: Version history with release dates
|
|
279
|
-
|
|
280
|
-
#### npmLatest
|
|
281
|
-
- Get latest version information
|
|
282
|
-
- Input: `packages` (string[])
|
|
283
|
-
- Returns: Latest version details and changelog
|
|
284
|
-
|
|
285
|
-
#### npmDeps
|
|
286
|
-
- Analyze package dependencies
|
|
287
|
-
- Input: `packages` (string[])
|
|
288
|
-
- Returns: Complete dependency tree analysis including direct dependencies and full transitive graph (count and explicit flatten list) mapping through deps.dev.
|
|
289
|
-
|
|
290
|
-
#### npmTypes
|
|
291
|
-
- Check TypeScript support
|
|
292
|
-
- Input: `packages` (string[])
|
|
293
|
-
- Returns: TypeScript compatibility status
|
|
294
|
-
|
|
295
|
-
#### npmSize
|
|
296
|
-
- Analyze package size
|
|
297
|
-
- Input: `packages` (string[])
|
|
298
|
-
- Returns: Bundle size and import cost analysis
|
|
299
|
-
|
|
300
|
-
#### npmVulnerabilities
|
|
301
|
-
- Scan for security vulnerabilities
|
|
302
|
-
- Features:
|
|
303
|
-
- **Instant Transitive Scanning**: Powered by Google's `deps.dev` API to resolve massive dependency trees (e.g. Next.js, Astro) in a single request, bypassing deep recursion limitations.
|
|
304
|
-
- **Ecosystem Awareness**: Automatically scans related packages efficiently.
|
|
305
|
-
- **Rich Reports**: Includes CVE IDs and full summaries from OSV.dev.
|
|
306
|
-
- Input: `packages` (string[])
|
|
307
|
-
- Returns: Detailed security advisories, CVEs, and severity ratings
|
|
308
|
-
|
|
309
|
-
#### npmTrends
|
|
310
|
-
- Get download trends
|
|
311
|
-
- Input:
|
|
312
|
-
- `packages` (string[])
|
|
313
|
-
- `period` ("last-week" | "last-month" | "last-year")
|
|
314
|
-
- Returns: Download statistics over time
|
|
315
|
-
|
|
316
|
-
#### npmCompare
|
|
317
|
-
- Compare multiple packages
|
|
318
|
-
- Input: `packages` (string[])
|
|
319
|
-
- Returns: Detailed comparison metrics
|
|
320
|
-
|
|
321
|
-
#### npmMaintainers
|
|
322
|
-
- Get package maintainers
|
|
323
|
-
- Input: `packages` (string[])
|
|
324
|
-
- Returns: Maintainer information and activity
|
|
325
|
-
|
|
326
|
-
#### npmScore
|
|
327
|
-
- Get package quality score
|
|
328
|
-
- Input: `packages` (string[])
|
|
329
|
-
- Returns: Comprehensive quality metrics
|
|
330
|
-
|
|
331
|
-
#### npmPackageReadme
|
|
332
|
-
- Get package README
|
|
333
|
-
- Input: `packages` (string[])
|
|
334
|
-
- Returns: Formatted README content
|
|
335
|
-
|
|
336
|
-
#### npmSearch
|
|
337
|
-
- Search for packages
|
|
338
|
-
- Input:
|
|
339
|
-
- `query` (string)
|
|
340
|
-
- `limit` (number, optional)
|
|
341
|
-
- Returns: Matching packages with metadata
|
|
342
|
-
|
|
343
|
-
#### npmLicenseCompatibility
|
|
344
|
-
- Check license compatibility
|
|
345
|
-
- Input: `packages` (string[])
|
|
346
|
-
- Returns: License analysis and compatibility info
|
|
347
|
-
|
|
348
|
-
#### npmRepoStats
|
|
349
|
-
- Get repository statistics
|
|
350
|
-
- Input: `packages` (string[])
|
|
351
|
-
- Returns: GitHub/repository metrics
|
|
352
|
-
|
|
353
|
-
#### npmDeprecated
|
|
354
|
-
- Check for deprecation
|
|
355
|
-
- Input: `packages` (string[])
|
|
356
|
-
- Returns: Deprecation status and alternatives
|
|
357
|
-
|
|
358
|
-
#### npmChangelogAnalysis
|
|
359
|
-
- Analyze package changelogs
|
|
360
|
-
- Input: `packages` (string[])
|
|
361
|
-
- Returns: Changelog summaries and impact analysis
|
|
362
|
-
|
|
363
|
-
#### npmAlternatives
|
|
364
|
-
- Find package alternatives
|
|
365
|
-
- Input: `packages` (string[])
|
|
366
|
-
- Returns: Similar packages with comparisons
|
|
367
|
-
|
|
368
|
-
#### npmQuality
|
|
369
|
-
- Assess package quality
|
|
370
|
-
- Input: `packages` (string[])
|
|
371
|
-
- Returns: Quality metrics and scores
|
|
372
|
-
|
|
373
|
-
#### npmMaintenance
|
|
374
|
-
- Check maintenance status
|
|
375
|
-
- Input: `packages` (string[])
|
|
376
|
-
- Returns: Maintenance activity metrics
|
|
377
|
-
|
|
378
|
-
## Build
|
|
221
|
+
#### 7. `npmTrends`
|
|
222
|
+
- Historical download statistics over customizable time ranges (`last-week`, `last-month`, `last-year`).
|
|
223
|
+
- **Input**: `packages` (`string[]`), `period` (`"last-week"` \| `"last-month"` \| `"last-year"`), `ignoreCache` (`boolean`, optional)
|
|
379
224
|
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
225
|
+
#### 8. `npmCompare`
|
|
226
|
+
- Side-by-side metric comparison across multiple packages.
|
|
227
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
383
228
|
|
|
384
|
-
|
|
385
|
-
|
|
229
|
+
#### 9. `npmMaintainers`
|
|
230
|
+
- List of package maintainers, public emails, and publishing activity.
|
|
231
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
386
232
|
|
|
387
|
-
|
|
388
|
-
|
|
233
|
+
#### 10. `npmScore`
|
|
234
|
+
- Consolidated score combining quality, popularity, maintenance, and OpenSSF Scorecard.
|
|
235
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
389
236
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
237
|
+
#### 11. `npmPackageReadme`
|
|
238
|
+
- Retrieve full formatted raw README markdown content from NPM registry / CDN.
|
|
239
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
393
240
|
|
|
394
|
-
|
|
241
|
+
#### 12. `npmSearch`
|
|
242
|
+
- Search NPM registry packages by query with rich metadata (scores, publisher, keywords).
|
|
243
|
+
- **Input**: `query` (`string`), `limit` (`number`, optional)
|
|
244
|
+
|
|
245
|
+
#### 13. `npmLicenseCompatibility`
|
|
246
|
+
- Analyze license compatibility across multiple packages (MIT, Apache-2.0, GPL, etc.).
|
|
247
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
248
|
+
|
|
249
|
+
#### 14. `npmRepoStats`
|
|
250
|
+
- Repository statistics (GitHub stars, forks, open issues) combined with OpenSSF Scorecard checks.
|
|
251
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
252
|
+
|
|
253
|
+
#### 15. `npmDeprecated`
|
|
254
|
+
- Detect deprecation status on package and recursive sub-dependencies.
|
|
255
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
256
|
+
|
|
257
|
+
#### 16. `npmChangelogAnalysis`
|
|
258
|
+
- Extract release notes and GitHub release history.
|
|
259
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
395
260
|
|
|
396
|
-
|
|
261
|
+
#### 17. `npmAlternatives`
|
|
262
|
+
- Smart functional alternative suggestions filtering out ecosystem plugins (e.g. excludes `express-rate-limit` for `express`).
|
|
263
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
264
|
+
|
|
265
|
+
#### 18. `npmQuality`
|
|
266
|
+
- Package code quality score (0–1).
|
|
267
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
268
|
+
|
|
269
|
+
#### 19. `npmMaintenance`
|
|
270
|
+
- Package maintenance activity score (0–1).
|
|
271
|
+
- **Input**: `packages` (`string[]`), `ignoreCache` (`boolean`, optional)
|
|
397
272
|
|
|
398
273
|
---
|
|
399
274
|
|
|
275
|
+
## License
|
|
276
|
+
|
|
277
|
+
This MCP server is licensed under the MIT License. See [LICENSE](LICENSE) for details.
|
|
278
|
+
|
|
400
279
|
MIT © [nekzus](https://github.com/nekzus)
|