@wundr.io/mcp-registry 1.0.3

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/dist/types.js ADDED
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ /**
3
+ * @wundr.io/mcp-registry - Type Definitions
4
+ *
5
+ * TypeScript interfaces for MCP server registration, health status,
6
+ * tool results, and the Super MCP aggregator pattern.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.HealthMonitorConfigSchema = exports.AggregatorConfigSchema = exports.CapabilityQuerySchema = exports.ToolInvocationRequestSchema = exports.ServerRegistrationOptionsSchema = exports.TransportConfigSchema = exports.TransportTypeSchema = void 0;
12
+ const zod_1 = require("zod");
13
+ // =============================================================================
14
+ // Zod Schemas for Runtime Validation
15
+ // =============================================================================
16
+ /**
17
+ * Transport type schema
18
+ */
19
+ exports.TransportTypeSchema = zod_1.z.enum([
20
+ 'stdio',
21
+ 'http',
22
+ 'websocket',
23
+ 'ipc',
24
+ ]);
25
+ /**
26
+ * Transport configuration schema
27
+ */
28
+ exports.TransportConfigSchema = zod_1.z.object({
29
+ type: exports.TransportTypeSchema,
30
+ command: zod_1.z.string().optional(),
31
+ args: zod_1.z.array(zod_1.z.string()).optional(),
32
+ env: zod_1.z.record(zod_1.z.string()).optional(),
33
+ cwd: zod_1.z.string().optional(),
34
+ url: zod_1.z.string().url().optional(),
35
+ timeout: zod_1.z.number().positive().optional(),
36
+ autoReconnect: zod_1.z.boolean().optional(),
37
+ reconnectDelay: zod_1.z.number().positive().optional(),
38
+ maxReconnectAttempts: zod_1.z.number().positive().optional(),
39
+ });
40
+ /**
41
+ * Server registration options schema
42
+ */
43
+ exports.ServerRegistrationOptionsSchema = zod_1.z.object({
44
+ name: zod_1.z.string().min(1),
45
+ version: zod_1.z.string().min(1),
46
+ description: zod_1.z.string().optional(),
47
+ transport: exports.TransportConfigSchema,
48
+ priority: zod_1.z.number().optional(),
49
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
50
+ metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
51
+ });
52
+ /**
53
+ * Tool invocation request schema
54
+ */
55
+ exports.ToolInvocationRequestSchema = zod_1.z.object({
56
+ name: zod_1.z.string().min(1),
57
+ arguments: zod_1.z.record(zod_1.z.unknown()).optional(),
58
+ timeout: zod_1.z.number().positive().optional(),
59
+ preferredServer: zod_1.z.string().optional(),
60
+ metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
61
+ });
62
+ /**
63
+ * Capability query schema
64
+ */
65
+ exports.CapabilityQuerySchema = zod_1.z.object({
66
+ category: zod_1.z
67
+ .enum([
68
+ 'tools',
69
+ 'resources',
70
+ 'prompts',
71
+ 'logging',
72
+ 'sampling',
73
+ 'experimental',
74
+ ])
75
+ .optional(),
76
+ capabilities: zod_1.z.array(zod_1.z.string()).optional(),
77
+ tools: zod_1.z.array(zod_1.z.string()).optional(),
78
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
79
+ minPriority: zod_1.z.number().optional(),
80
+ healthStatus: zod_1.z
81
+ .union([
82
+ zod_1.z.enum(['healthy', 'degraded', 'unhealthy', 'unknown']),
83
+ zod_1.z.array(zod_1.z.enum(['healthy', 'degraded', 'unhealthy', 'unknown'])),
84
+ ])
85
+ .optional(),
86
+ });
87
+ /**
88
+ * Aggregator configuration schema
89
+ */
90
+ exports.AggregatorConfigSchema = zod_1.z.object({
91
+ defaultStrategy: zod_1.z
92
+ .enum([
93
+ 'priority',
94
+ 'round-robin',
95
+ 'least-latency',
96
+ 'random',
97
+ 'health-aware',
98
+ ])
99
+ .optional(),
100
+ requestTimeout: zod_1.z.number().positive().optional(),
101
+ enableRetries: zod_1.z.boolean().optional(),
102
+ maxRetries: zod_1.z.number().positive().optional(),
103
+ retryDelay: zod_1.z.number().positive().optional(),
104
+ enableCircuitBreaker: zod_1.z.boolean().optional(),
105
+ circuitBreakerThreshold: zod_1.z.number().positive().optional(),
106
+ circuitBreakerResetTimeout: zod_1.z.number().positive().optional(),
107
+ });
108
+ /**
109
+ * Health monitor configuration schema
110
+ */
111
+ exports.HealthMonitorConfigSchema = zod_1.z.object({
112
+ checkInterval: zod_1.z.number().positive().optional(),
113
+ pingTimeout: zod_1.z.number().positive().optional(),
114
+ failureThreshold: zod_1.z.number().positive().optional(),
115
+ recoveryThreshold: zod_1.z.number().positive().optional(),
116
+ degradedLatencyThreshold: zod_1.z.number().positive().optional(),
117
+ autoReconnect: zod_1.z.boolean().optional(),
118
+ maxReconnectAttempts: zod_1.z.number().positive().optional(),
119
+ });
120
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@wundr.io/mcp-registry",
3
+ "version": "1.0.3",
4
+ "description": "MCP Server registry and discovery with Super MCP aggregator pattern for unified tool routing",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "build:watch": "tsc --watch",
10
+ "clean": "rm -rf dist",
11
+ "dev": "tsc --watch",
12
+ "test": "jest",
13
+ "test:watch": "jest --watch",
14
+ "test:coverage": "jest --coverage",
15
+ "lint": "eslint src/**/*.ts",
16
+ "lint:fix": "eslint src/**/*.ts --fix",
17
+ "format": "prettier --write src/**/*.ts",
18
+ "format:check": "prettier --check src/**/*.ts",
19
+ "typecheck": "tsc --noEmit"
20
+ },
21
+ "dependencies": {
22
+ "eventemitter3": "^5.0.1",
23
+ "uuid": "^11.0.3",
24
+ "zod": "^3.25.76"
25
+ },
26
+ "devDependencies": {
27
+ "@types/node": "^20.9.0",
28
+ "@types/uuid": "^10.0.0",
29
+ "jest": "^29.7.0",
30
+ "ts-jest": "^29.4.1",
31
+ "typescript": "^5.2.2",
32
+ "eslint": "^8.57.1",
33
+ "prettier": "^3.3.3"
34
+ },
35
+ "peerDependencies": {
36
+ "@wundr.io/mcp-server": "^1.0.0"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "@wundr.io/mcp-server": {
40
+ "optional": true
41
+ }
42
+ },
43
+ "keywords": [
44
+ "mcp",
45
+ "model-context-protocol",
46
+ "registry",
47
+ "discovery",
48
+ "aggregator",
49
+ "super-mcp",
50
+ "claude-code",
51
+ "wundr"
52
+ ],
53
+ "repository": {
54
+ "type": "git",
55
+ "url": "https://github.com/adapticai/wundr.git",
56
+ "directory": "packages/@wundr/mcp-registry"
57
+ },
58
+ "bugs": {
59
+ "url": "https://github.com/adapticai/wundr/issues"
60
+ },
61
+ "homepage": "https://wundr.io",
62
+ "license": "MIT",
63
+ "engines": {
64
+ "node": ">=18.0.0"
65
+ },
66
+ "files": ["dist", "README.md"],
67
+ "publishConfig": {
68
+ "access": "public",
69
+ "registry": "https://registry.npmjs.org/"
70
+ }
71
+ }