@nekzus/mcp-server 1.19.0-alpha.6 → 1.19.0-alpha.9
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 +12 -12
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +2 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -61
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import type { CallToolResult } from '@modelcontextprotocol/
|
|
2
|
+
import type { CallToolResult } from '@modelcontextprotocol/server';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
export declare function fetchWithRetry(url: string, options?: any, config?: {
|
|
5
5
|
maxRetries?: number;
|
|
@@ -273,38 +273,5 @@ export declare const configSchema: z.ZodObject<{
|
|
|
273
273
|
}, z.core.$strip>;
|
|
274
274
|
export default function createServer({ config }: {
|
|
275
275
|
config: z.infer<typeof configSchema>;
|
|
276
|
-
}): import("@modelcontextprotocol/
|
|
277
|
-
method: string;
|
|
278
|
-
params?: {
|
|
279
|
-
[x: string]: unknown;
|
|
280
|
-
_meta?: {
|
|
281
|
-
[x: string]: unknown;
|
|
282
|
-
progressToken?: string | number | undefined;
|
|
283
|
-
"io.modelcontextprotocol/related-task"?: {
|
|
284
|
-
taskId: string;
|
|
285
|
-
} | undefined;
|
|
286
|
-
} | undefined;
|
|
287
|
-
} | undefined;
|
|
288
|
-
}, {
|
|
289
|
-
method: string;
|
|
290
|
-
params?: {
|
|
291
|
-
[x: string]: unknown;
|
|
292
|
-
_meta?: {
|
|
293
|
-
[x: string]: unknown;
|
|
294
|
-
progressToken?: string | number | undefined;
|
|
295
|
-
"io.modelcontextprotocol/related-task"?: {
|
|
296
|
-
taskId: string;
|
|
297
|
-
} | undefined;
|
|
298
|
-
} | undefined;
|
|
299
|
-
} | undefined;
|
|
300
|
-
}, {
|
|
301
|
-
[x: string]: unknown;
|
|
302
|
-
_meta?: {
|
|
303
|
-
[x: string]: unknown;
|
|
304
|
-
progressToken?: string | number | undefined;
|
|
305
|
-
"io.modelcontextprotocol/related-task"?: {
|
|
306
|
-
taskId: string;
|
|
307
|
-
} | undefined;
|
|
308
|
-
} | undefined;
|
|
309
|
-
}>;
|
|
276
|
+
}): import("@modelcontextprotocol/server").Server;
|
|
310
277
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,8 +3,8 @@ import * as crypto from 'node:crypto';
|
|
|
3
3
|
import * as fs from 'node:fs';
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { StdioServerTransport } from '@modelcontextprotocol/server/stdio';
|
|
7
|
+
import { McpServer } from '@modelcontextprotocol/server';
|
|
8
8
|
import fetch from 'node-fetch';
|
|
9
9
|
import { z } from 'zod';
|
|
10
10
|
// Cache configuration
|
|
@@ -117,7 +117,7 @@ export async function fetchWithRetry(url, options = {}, config = {}) {
|
|
|
117
117
|
const retryAfter = response.headers.get('retry-after');
|
|
118
118
|
const waitMs = retryAfter
|
|
119
119
|
? parseInt(retryAfter, 10) * 1000
|
|
120
|
-
: HTTP_INITIAL_BACKOFF_MS *
|
|
120
|
+
: HTTP_INITIAL_BACKOFF_MS * 2 ** attempt;
|
|
121
121
|
await new Promise((resolve) => setTimeout(resolve, waitMs));
|
|
122
122
|
continue;
|
|
123
123
|
}
|
|
@@ -126,7 +126,7 @@ export async function fetchWithRetry(url, options = {}, config = {}) {
|
|
|
126
126
|
}
|
|
127
127
|
catch (err) {
|
|
128
128
|
if (attempt < maxRetries) {
|
|
129
|
-
const waitMs = HTTP_INITIAL_BACKOFF_MS *
|
|
129
|
+
const waitMs = HTTP_INITIAL_BACKOFF_MS * 2 ** attempt;
|
|
130
130
|
await new Promise((resolve) => setTimeout(resolve, waitMs));
|
|
131
131
|
continue;
|
|
132
132
|
}
|
|
@@ -1032,14 +1032,16 @@ export async function fetchRepoStatsFromDepsDev(owner, repo, ignoreCache = false
|
|
|
1032
1032
|
license: data.license ?? 'unknown',
|
|
1033
1033
|
description: data.description ?? '',
|
|
1034
1034
|
homepage: data.homepage ?? '',
|
|
1035
|
-
scorecard: data.scorecard
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1035
|
+
scorecard: data.scorecard
|
|
1036
|
+
? {
|
|
1037
|
+
overallScore: data.scorecard.overallScore,
|
|
1038
|
+
checks: (data.scorecard.checks || []).map((c) => ({
|
|
1039
|
+
name: c.name,
|
|
1040
|
+
score: c.score,
|
|
1041
|
+
reason: c.reason,
|
|
1042
|
+
})),
|
|
1043
|
+
}
|
|
1044
|
+
: undefined,
|
|
1043
1045
|
};
|
|
1044
1046
|
cacheSet(cacheKey, result, CACHE_TTL_VERY_LONG);
|
|
1045
1047
|
return result;
|
|
@@ -1699,19 +1701,20 @@ export async function getLocalPackageMetrics(name, ignoreCache = false) {
|
|
|
1699
1701
|
let popularity = popularityNPM;
|
|
1700
1702
|
if (github.hasGitHubData) {
|
|
1701
1703
|
const popularityGH = Math.min(1, github.starsCount / 50000);
|
|
1702
|
-
popularity =
|
|
1703
|
-
}
|
|
1704
|
-
const quality = (
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
: lastPublishDaysAgo < 365
|
|
1704
|
+
popularity = popularityNPM * 0.7 + popularityGH * 0.3;
|
|
1705
|
+
}
|
|
1706
|
+
const quality = (hasTypes ? 0.3 : 0) + (hasReadme ? 0.2 : 0) + Math.max(0, 0.5 - dependencyCount * 0.005);
|
|
1707
|
+
const maintenancePublish = lastPublishDaysAgo < 30
|
|
1708
|
+
? 1.0
|
|
1709
|
+
: lastPublishDaysAgo < 90
|
|
1710
|
+
? 0.8
|
|
1711
|
+
: lastPublishDaysAgo < 365
|
|
1712
|
+
? 0.5
|
|
1710
1713
|
: 0.2;
|
|
1711
1714
|
let maintenance = maintenancePublish;
|
|
1712
1715
|
if (github.hasGitHubData) {
|
|
1713
1716
|
const issuesScore = github.openIssuesCount < 50 ? 0.3 : github.openIssuesCount < 200 ? 0.2 : 0.1;
|
|
1714
|
-
maintenance =
|
|
1717
|
+
maintenance = maintenancePublish * 0.7 + issuesScore;
|
|
1715
1718
|
}
|
|
1716
1719
|
const finalScore = popularity * 0.4 + quality * 0.3 + maintenance * 0.3;
|
|
1717
1720
|
const result = {
|
|
@@ -3568,9 +3571,9 @@ export default function createServer({ config }) {
|
|
|
3568
3571
|
// Register prompts
|
|
3569
3572
|
server.registerPrompt('analyze-package', {
|
|
3570
3573
|
description: 'Analyze an NPM package for security and quality',
|
|
3571
|
-
argsSchema: {
|
|
3574
|
+
argsSchema: z.object({
|
|
3572
3575
|
package: z.string().describe('Name of the npm package to analyze'),
|
|
3573
|
-
},
|
|
3576
|
+
}),
|
|
3574
3577
|
}, ({ package: pkgName }) => ({
|
|
3575
3578
|
messages: [
|
|
3576
3579
|
{
|
|
@@ -3585,10 +3588,10 @@ export default function createServer({ config }) {
|
|
|
3585
3588
|
// Add NPM tools - Ensuring each tool registration is complete and correct
|
|
3586
3589
|
server.registerTool('npmVersions', {
|
|
3587
3590
|
description: 'Get all available versions of an NPM package',
|
|
3588
|
-
inputSchema: {
|
|
3591
|
+
inputSchema: z.object({
|
|
3589
3592
|
packages: z.array(z.string()).describe('List of package names to get versions for'),
|
|
3590
3593
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3591
|
-
},
|
|
3594
|
+
}),
|
|
3592
3595
|
annotations: {
|
|
3593
3596
|
title: 'Get All Package Versions',
|
|
3594
3597
|
readOnlyHint: true,
|
|
@@ -3600,10 +3603,10 @@ export default function createServer({ config }) {
|
|
|
3600
3603
|
});
|
|
3601
3604
|
server.registerTool('npmLatest', {
|
|
3602
3605
|
description: 'Get the latest version and changelog of an NPM package',
|
|
3603
|
-
inputSchema: {
|
|
3606
|
+
inputSchema: z.object({
|
|
3604
3607
|
packages: z.array(z.string()).describe('List of package names to get latest versions for'),
|
|
3605
3608
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3606
|
-
},
|
|
3609
|
+
}),
|
|
3607
3610
|
annotations: {
|
|
3608
3611
|
title: 'Get Latest Package Information',
|
|
3609
3612
|
readOnlyHint: true,
|
|
@@ -3615,10 +3618,10 @@ export default function createServer({ config }) {
|
|
|
3615
3618
|
});
|
|
3616
3619
|
server.registerTool('npmDeps', {
|
|
3617
3620
|
description: 'Analyze dependencies and devDependencies of an NPM package',
|
|
3618
|
-
inputSchema: {
|
|
3621
|
+
inputSchema: z.object({
|
|
3619
3622
|
packages: z.array(z.string()).describe('List of package names to analyze dependencies for'),
|
|
3620
3623
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3621
|
-
},
|
|
3624
|
+
}),
|
|
3622
3625
|
annotations: {
|
|
3623
3626
|
title: 'Get Package Dependencies',
|
|
3624
3627
|
readOnlyHint: true,
|
|
@@ -3630,10 +3633,10 @@ export default function createServer({ config }) {
|
|
|
3630
3633
|
});
|
|
3631
3634
|
server.registerTool('npmTypes', {
|
|
3632
3635
|
description: 'Check TypeScript types availability and version for a package',
|
|
3633
|
-
inputSchema: {
|
|
3636
|
+
inputSchema: z.object({
|
|
3634
3637
|
packages: z.array(z.string()).describe('List of package names to check types for'),
|
|
3635
3638
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3636
|
-
},
|
|
3639
|
+
}),
|
|
3637
3640
|
annotations: {
|
|
3638
3641
|
title: 'Check TypeScript Type Availability',
|
|
3639
3642
|
readOnlyHint: true,
|
|
@@ -3645,10 +3648,10 @@ export default function createServer({ config }) {
|
|
|
3645
3648
|
});
|
|
3646
3649
|
server.registerTool('npmSize', {
|
|
3647
3650
|
description: 'Get package size information including dependencies and bundle size',
|
|
3648
|
-
inputSchema: {
|
|
3651
|
+
inputSchema: z.object({
|
|
3649
3652
|
packages: z.array(z.string()).describe('List of package names to get size information for'),
|
|
3650
3653
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3651
|
-
},
|
|
3654
|
+
}),
|
|
3652
3655
|
annotations: {
|
|
3653
3656
|
title: 'Get Package Size (Bundlephobia)',
|
|
3654
3657
|
readOnlyHint: true,
|
|
@@ -3660,12 +3663,12 @@ export default function createServer({ config }) {
|
|
|
3660
3663
|
});
|
|
3661
3664
|
server.registerTool('npmVulnerabilities', {
|
|
3662
3665
|
description: 'Check for known vulnerabilities in packages',
|
|
3663
|
-
inputSchema: {
|
|
3666
|
+
inputSchema: z.object({
|
|
3664
3667
|
packages: z
|
|
3665
3668
|
.array(z.string())
|
|
3666
3669
|
.describe('List of package names to check for vulnerabilities'),
|
|
3667
3670
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3668
|
-
},
|
|
3671
|
+
}),
|
|
3669
3672
|
annotations: {
|
|
3670
3673
|
title: 'Check Package Vulnerabilities (OSV.dev)',
|
|
3671
3674
|
readOnlyHint: true,
|
|
@@ -3677,7 +3680,7 @@ export default function createServer({ config }) {
|
|
|
3677
3680
|
});
|
|
3678
3681
|
server.registerTool('npmTrends', {
|
|
3679
3682
|
description: 'Get download trends and popularity metrics for packages',
|
|
3680
|
-
inputSchema: {
|
|
3683
|
+
inputSchema: z.object({
|
|
3681
3684
|
packages: z.array(z.string()).describe('List of package names to get trends for'),
|
|
3682
3685
|
period: z
|
|
3683
3686
|
.enum(['last-week', 'last-month', 'last-year'])
|
|
@@ -3685,7 +3688,7 @@ export default function createServer({ config }) {
|
|
|
3685
3688
|
.optional()
|
|
3686
3689
|
.default('last-month'),
|
|
3687
3690
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3688
|
-
},
|
|
3691
|
+
}),
|
|
3689
3692
|
annotations: {
|
|
3690
3693
|
title: 'Get NPM Package Download Trends',
|
|
3691
3694
|
readOnlyHint: true,
|
|
@@ -3697,10 +3700,10 @@ export default function createServer({ config }) {
|
|
|
3697
3700
|
});
|
|
3698
3701
|
server.registerTool('npmCompare', {
|
|
3699
3702
|
description: 'Compare multiple NPM packages based on various metrics',
|
|
3700
|
-
inputSchema: {
|
|
3703
|
+
inputSchema: z.object({
|
|
3701
3704
|
packages: z.array(z.string()).describe('List of package names to compare'),
|
|
3702
3705
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3703
|
-
},
|
|
3706
|
+
}),
|
|
3704
3707
|
annotations: {
|
|
3705
3708
|
title: 'Compare NPM Packages',
|
|
3706
3709
|
readOnlyHint: true,
|
|
@@ -3712,10 +3715,10 @@ export default function createServer({ config }) {
|
|
|
3712
3715
|
});
|
|
3713
3716
|
server.registerTool('npmMaintainers', {
|
|
3714
3717
|
description: 'Get maintainers information for NPM packages',
|
|
3715
|
-
inputSchema: {
|
|
3718
|
+
inputSchema: z.object({
|
|
3716
3719
|
packages: z.array(z.string()).describe('List of package names to get maintainers for'),
|
|
3717
3720
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3718
|
-
},
|
|
3721
|
+
}),
|
|
3719
3722
|
annotations: {
|
|
3720
3723
|
title: 'Get NPM Package Maintainers',
|
|
3721
3724
|
readOnlyHint: true,
|
|
@@ -3727,10 +3730,10 @@ export default function createServer({ config }) {
|
|
|
3727
3730
|
});
|
|
3728
3731
|
server.registerTool('npmScore', {
|
|
3729
3732
|
description: 'Get consolidated package score based on quality, maintenance, and popularity metrics',
|
|
3730
|
-
inputSchema: {
|
|
3733
|
+
inputSchema: z.object({
|
|
3731
3734
|
packages: z.array(z.string()).describe('List of package names to get scores for'),
|
|
3732
3735
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3733
|
-
},
|
|
3736
|
+
}),
|
|
3734
3737
|
annotations: {
|
|
3735
3738
|
title: 'Get NPM Package Score (NPMS.io)',
|
|
3736
3739
|
readOnlyHint: true,
|
|
@@ -3742,10 +3745,10 @@ export default function createServer({ config }) {
|
|
|
3742
3745
|
});
|
|
3743
3746
|
server.registerTool('npmPackageReadme', {
|
|
3744
3747
|
description: 'Get the README content for NPM packages',
|
|
3745
|
-
inputSchema: {
|
|
3748
|
+
inputSchema: z.object({
|
|
3746
3749
|
packages: z.array(z.string()).describe('List of package names to get READMEs for'),
|
|
3747
3750
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3748
|
-
},
|
|
3751
|
+
}),
|
|
3749
3752
|
annotations: {
|
|
3750
3753
|
title: 'Get NPM Package README',
|
|
3751
3754
|
readOnlyHint: true,
|
|
@@ -3757,7 +3760,7 @@ export default function createServer({ config }) {
|
|
|
3757
3760
|
});
|
|
3758
3761
|
server.registerTool('npmSearch', {
|
|
3759
3762
|
description: 'Search for NPM packages with optional limit',
|
|
3760
|
-
inputSchema: {
|
|
3763
|
+
inputSchema: z.object({
|
|
3761
3764
|
query: z.string().describe('Search query for packages'),
|
|
3762
3765
|
limit: z
|
|
3763
3766
|
.number()
|
|
@@ -3766,7 +3769,7 @@ export default function createServer({ config }) {
|
|
|
3766
3769
|
.optional()
|
|
3767
3770
|
.describe('Maximum number of results to return (default: 10)'),
|
|
3768
3771
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3769
|
-
},
|
|
3772
|
+
}),
|
|
3770
3773
|
annotations: {
|
|
3771
3774
|
title: 'Search NPM Packages',
|
|
3772
3775
|
readOnlyHint: true,
|
|
@@ -3778,13 +3781,13 @@ export default function createServer({ config }) {
|
|
|
3778
3781
|
});
|
|
3779
3782
|
server.registerTool('npmLicenseCompatibility', {
|
|
3780
3783
|
description: 'Check license compatibility between multiple packages',
|
|
3781
|
-
inputSchema: {
|
|
3784
|
+
inputSchema: z.object({
|
|
3782
3785
|
packages: z
|
|
3783
3786
|
.array(z.string())
|
|
3784
3787
|
.min(1)
|
|
3785
3788
|
.describe('List of package names to check for license compatibility'),
|
|
3786
3789
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3787
|
-
},
|
|
3790
|
+
}),
|
|
3788
3791
|
annotations: {
|
|
3789
3792
|
title: 'Check NPM License Compatibility',
|
|
3790
3793
|
readOnlyHint: true,
|
|
@@ -3796,10 +3799,10 @@ export default function createServer({ config }) {
|
|
|
3796
3799
|
});
|
|
3797
3800
|
server.registerTool('npmRepoStats', {
|
|
3798
3801
|
description: 'Get repository statistics for NPM packages',
|
|
3799
|
-
inputSchema: {
|
|
3802
|
+
inputSchema: z.object({
|
|
3800
3803
|
packages: z.array(z.string()).describe('List of package names to get repository stats for'),
|
|
3801
3804
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3802
|
-
},
|
|
3805
|
+
}),
|
|
3803
3806
|
annotations: {
|
|
3804
3807
|
title: 'Get NPM Package Repository Stats (GitHub)',
|
|
3805
3808
|
readOnlyHint: true,
|
|
@@ -3811,10 +3814,10 @@ export default function createServer({ config }) {
|
|
|
3811
3814
|
});
|
|
3812
3815
|
server.registerTool('npmDeprecated', {
|
|
3813
3816
|
description: 'Check if packages are deprecated',
|
|
3814
|
-
inputSchema: {
|
|
3817
|
+
inputSchema: z.object({
|
|
3815
3818
|
packages: z.array(z.string()).describe('List of package names to check for deprecation'),
|
|
3816
3819
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3817
|
-
},
|
|
3820
|
+
}),
|
|
3818
3821
|
annotations: {
|
|
3819
3822
|
title: 'Check NPM Package Deprecation Status',
|
|
3820
3823
|
readOnlyHint: true,
|
|
@@ -3826,10 +3829,10 @@ export default function createServer({ config }) {
|
|
|
3826
3829
|
});
|
|
3827
3830
|
server.registerTool('npmChangelogAnalysis', {
|
|
3828
3831
|
description: 'Analyze changelog and release history of packages',
|
|
3829
|
-
inputSchema: {
|
|
3832
|
+
inputSchema: z.object({
|
|
3830
3833
|
packages: z.array(z.string()).describe('List of package names to analyze changelogs for'),
|
|
3831
3834
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3832
|
-
},
|
|
3835
|
+
}),
|
|
3833
3836
|
annotations: {
|
|
3834
3837
|
title: 'Analyze NPM Package Changelog (GitHub)',
|
|
3835
3838
|
readOnlyHint: true,
|
|
@@ -3841,10 +3844,10 @@ export default function createServer({ config }) {
|
|
|
3841
3844
|
});
|
|
3842
3845
|
server.registerTool('npmAlternatives', {
|
|
3843
3846
|
description: 'Find alternative packages with similar functionality',
|
|
3844
|
-
inputSchema: {
|
|
3847
|
+
inputSchema: z.object({
|
|
3845
3848
|
packages: z.array(z.string()).describe('List of package names to find alternatives for'),
|
|
3846
3849
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3847
|
-
},
|
|
3850
|
+
}),
|
|
3848
3851
|
annotations: {
|
|
3849
3852
|
title: 'Find NPM Package Alternatives',
|
|
3850
3853
|
readOnlyHint: true,
|
|
@@ -3856,10 +3859,10 @@ export default function createServer({ config }) {
|
|
|
3856
3859
|
});
|
|
3857
3860
|
server.registerTool('npmQuality', {
|
|
3858
3861
|
description: 'Analyze package quality metrics',
|
|
3859
|
-
inputSchema: {
|
|
3862
|
+
inputSchema: z.object({
|
|
3860
3863
|
packages: z.array(z.string()).describe('List of package names to analyze'),
|
|
3861
3864
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3862
|
-
},
|
|
3865
|
+
}),
|
|
3863
3866
|
annotations: {
|
|
3864
3867
|
title: 'Analyze NPM Package Quality (NPMS.io)',
|
|
3865
3868
|
readOnlyHint: true,
|
|
@@ -3871,10 +3874,10 @@ export default function createServer({ config }) {
|
|
|
3871
3874
|
});
|
|
3872
3875
|
server.registerTool('npmMaintenance', {
|
|
3873
3876
|
description: 'Analyze package maintenance metrics',
|
|
3874
|
-
inputSchema: {
|
|
3877
|
+
inputSchema: z.object({
|
|
3875
3878
|
packages: z.array(z.string()).describe('List of package names to analyze'),
|
|
3876
3879
|
ignoreCache: z.boolean().optional().describe('Force a fresh lookup, ignoring the cache'),
|
|
3877
|
-
},
|
|
3880
|
+
}),
|
|
3878
3881
|
annotations: {
|
|
3879
3882
|
title: 'Analyze NPM Package Maintenance (NPMS.io)',
|
|
3880
3883
|
readOnlyHint: true,
|