@kya-os/mcp-i 0.1.0-alpha.2.7 → 0.1.0-alpha.2.8
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/auto.js +3 -0
- package/dist/index.js +34 -11
- package/package.json +1 -1
package/dist/auto.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -421,9 +421,24 @@ async function enableMCPIdentity(options) {
|
|
|
421
421
|
}
|
|
422
422
|
function createMCPMiddleware(identity) {
|
|
423
423
|
return (server) => {
|
|
424
|
+
if (!server || typeof server !== 'object') {
|
|
425
|
+
const logger = (0, logger_1.getLogger)();
|
|
426
|
+
logger.warn('Invalid MCP Server object passed to middleware');
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
if (!server.setRequestHandler || typeof server.setRequestHandler !== 'function') {
|
|
430
|
+
const logger = (0, logger_1.getLogger)();
|
|
431
|
+
logger.warn('MCP Server missing setRequestHandler method');
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
424
434
|
const originalSetRequestHandler = server.setRequestHandler.bind(server);
|
|
425
|
-
const originalConnect = server.connect.bind(server);
|
|
435
|
+
const originalConnect = server.connect ? server.connect.bind(server) : null;
|
|
426
436
|
server.setRequestHandler = function (method, handler) {
|
|
437
|
+
if (!method || typeof method !== 'string') {
|
|
438
|
+
const logger = (0, logger_1.getLogger)();
|
|
439
|
+
logger.warn('setRequestHandler called with invalid method:', method);
|
|
440
|
+
return originalSetRequestHandler.call(this, method, handler);
|
|
441
|
+
}
|
|
427
442
|
const wrappedHandler = async (...args) => {
|
|
428
443
|
const result = await handler(...args);
|
|
429
444
|
if (result && typeof result === 'object' && 'content' in result) {
|
|
@@ -433,15 +448,17 @@ function createMCPMiddleware(identity) {
|
|
|
433
448
|
};
|
|
434
449
|
return originalSetRequestHandler(method, wrappedHandler);
|
|
435
450
|
};
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
this.serverInfo
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
451
|
+
if (originalConnect) {
|
|
452
|
+
server.connect = async function (transport) {
|
|
453
|
+
if (this.serverInfo && this.serverInfo.capabilities) {
|
|
454
|
+
this.serverInfo.capabilities['mcp-i'] = identity.getCapabilities();
|
|
455
|
+
}
|
|
456
|
+
this.setRequestHandler('mcp-i/challenge', async (request) => {
|
|
457
|
+
return identity.respondToChallenge(request.params);
|
|
458
|
+
});
|
|
459
|
+
return originalConnect.call(this, transport);
|
|
460
|
+
};
|
|
461
|
+
}
|
|
445
462
|
};
|
|
446
463
|
}
|
|
447
464
|
function patchMCPServer(identity) {
|
|
@@ -455,7 +472,13 @@ function patchMCPServer(identity) {
|
|
|
455
472
|
const OriginalConstructor = OriginalServer;
|
|
456
473
|
MCPModule.Server = function (...args) {
|
|
457
474
|
const instance = new OriginalConstructor(...args);
|
|
458
|
-
|
|
475
|
+
try {
|
|
476
|
+
middleware(instance, identity);
|
|
477
|
+
}
|
|
478
|
+
catch (error) {
|
|
479
|
+
const logger = (0, logger_1.getLogger)();
|
|
480
|
+
logger.warn('Failed to apply MCP-I middleware:', error);
|
|
481
|
+
}
|
|
459
482
|
return instance;
|
|
460
483
|
};
|
|
461
484
|
Object.setPrototypeOf(MCPModule.Server, OriginalConstructor);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/mcp-i",
|
|
3
|
-
"version": "0.1.0-alpha.2.
|
|
3
|
+
"version": "0.1.0-alpha.2.8",
|
|
4
4
|
"description": "COMING SOON:Production-ready MCP Identity with automatic registration, key rotation, and optimized performance",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|