@kya-os/mcp-i 1.7.13 → 1.9.0
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/114.js +1 -0
- package/dist/139.js +1 -0
- package/dist/200.js +1 -0
- package/dist/202.js +1 -0
- package/dist/238.js +1 -0
- package/dist/263.js +1 -0
- package/dist/294.js +1 -0
- package/dist/295.js +1 -1
- package/dist/374.js +1 -0
- package/dist/529.js +1 -0
- package/dist/627.js +1 -0
- package/dist/644.js +1 -0
- package/dist/669.js +1 -0
- package/dist/857.js +1 -0
- package/dist/866.js +1 -1
- package/dist/{941.js → 966.js} +1 -1
- package/dist/997.js +1 -0
- package/dist/providers/node-providers.d.ts +1 -1
- package/dist/providers/node-providers.js +2 -2
- package/dist/runtime/adapter-express.js +6 -6
- package/dist/runtime/adapter-nextjs.js +6 -6
- package/dist/runtime/auth-handshake.d.ts +4 -159
- package/dist/runtime/auth-handshake.js +8 -249
- package/dist/runtime/http.js +6 -6
- package/dist/runtime/mcpi-runtime.d.ts +4 -0
- package/dist/runtime/mcpi-runtime.js +58 -43
- package/dist/runtime/outbound-delegation.d.ts +34 -0
- package/dist/runtime/outbound-delegation.js +134 -0
- package/dist/runtime/proof.d.ts +13 -88
- package/dist/runtime/proof.js +11 -225
- package/dist/runtime/request-context.d.ts +41 -0
- package/dist/runtime/request-context.js +48 -0
- package/dist/runtime/session.d.ts +13 -104
- package/dist/runtime/session.js +31 -267
- package/dist/runtime/stdio.js +6 -6
- package/dist/runtime/utils/tools.js +17 -3
- package/package.json +18 -18
- package/dist/207.js +0 -1
- package/dist/25.js +0 -1
- package/dist/360.js +0 -1
- package/dist/387.js +0 -1
- package/dist/406.js +0 -1
- package/dist/448.js +0 -1
- package/dist/478.js +0 -1
- package/dist/575.js +0 -1
- package/dist/67.js +0 -1
- package/dist/743.js +0 -1
- package/dist/784.js +0 -1
- package/dist/844.js +0 -1
- package/dist/936.js +0 -1
- package/dist/988.js +0 -1
|
@@ -8,8 +8,9 @@ const tool_protection_registry_1 = require("../tool-protection-registry");
|
|
|
8
8
|
const auth_handshake_1 = require("../auth-handshake");
|
|
9
9
|
const session_1 = require("../session");
|
|
10
10
|
const request_context_1 = require("../request-context");
|
|
11
|
-
const proof_batch_queue_1 = require("../proof-batch-queue");
|
|
12
11
|
const mcp_i_core_1 = require("@kya-os/mcp-i-core");
|
|
12
|
+
const proof_batch_queue_1 = require("../proof-batch-queue");
|
|
13
|
+
const mcp_i_core_2 = require("@kya-os/mcp-i-core");
|
|
13
14
|
/**
|
|
14
15
|
* Format authorization info for error messages.
|
|
15
16
|
* Safely handles discriminated union types by checking for property existence.
|
|
@@ -512,7 +513,7 @@ async function addToolsToServer(server, toolModules, identityConfig, clientMessa
|
|
|
512
513
|
// Format human-readable message using DelegationErrorFormatter
|
|
513
514
|
// Supports client-specific messages via clientMessagesConfig
|
|
514
515
|
// The formatter may modify the URL (e.g., adding extraParams from config)
|
|
515
|
-
const formatter = new
|
|
516
|
+
const formatter = new mcp_i_core_2.DelegationErrorFormatter(clientMessagesConfig);
|
|
516
517
|
const { message: displayMessage, consentUrl } = formatter.format({
|
|
517
518
|
toolName: name,
|
|
518
519
|
consentUrl: verifyResult.authError?.authorizationUrl,
|
|
@@ -583,7 +584,7 @@ async function addToolsToServer(server, toolModules, identityConfig, clientMessa
|
|
|
583
584
|
};
|
|
584
585
|
}
|
|
585
586
|
// Compare authorization types using the helper function
|
|
586
|
-
if (!(0,
|
|
587
|
+
if (!(0, mcp_i_core_2.authorizationMatches)(delegationAuth, toolAuth)) {
|
|
587
588
|
if (identityConfig?.debug) {
|
|
588
589
|
console.error(`[MCPI] Tool "${name}" blocked - authorization method mismatch`);
|
|
589
590
|
}
|
|
@@ -615,6 +616,19 @@ async function addToolsToServer(server, toolModules, identityConfig, clientMessa
|
|
|
615
616
|
if (identityConfig?.debug) {
|
|
616
617
|
console.error(`[MCPI] Tool "${name}" authorized - executing handler`);
|
|
617
618
|
}
|
|
619
|
+
// Populate delegation context in AsyncLocalStorage so outbound
|
|
620
|
+
// fetch calls made by the tool handler can inject delegation headers.
|
|
621
|
+
if (verifyResult.delegation) {
|
|
622
|
+
const identity = identityManager
|
|
623
|
+
? await identityManager.ensureIdentity()
|
|
624
|
+
: null;
|
|
625
|
+
(0, request_context_1.setDelegationContextFromIdentity)({
|
|
626
|
+
delegationId: verifyResult.delegation.id,
|
|
627
|
+
delegationChain: (0, mcp_i_core_1.buildChainString)(verifyResult.delegation),
|
|
628
|
+
delegationScopes: toolProtection.requiredScopes || [],
|
|
629
|
+
identity: identity ?? null,
|
|
630
|
+
});
|
|
631
|
+
}
|
|
618
632
|
}
|
|
619
633
|
try {
|
|
620
634
|
// Execute the tool handler
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kya-os/mcp-i",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "The TypeScript MCP framework with identity features built-in",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -63,14 +63,14 @@
|
|
|
63
63
|
"model-context-protocol"
|
|
64
64
|
],
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@kya-os/contracts": "^1.7.
|
|
67
|
-
"@kya-os/mcp-i-core": "^1.
|
|
66
|
+
"@kya-os/contracts": "^1.7.26",
|
|
67
|
+
"@kya-os/mcp-i-core": "^1.6.0",
|
|
68
68
|
"@modelcontextprotocol/sdk": "^1.11.4",
|
|
69
|
-
"@swc/core": "^1.11
|
|
70
|
-
"@types/express": "^5.0.
|
|
69
|
+
"@swc/core": "^1.15.11",
|
|
70
|
+
"@types/express": "^5.0.6",
|
|
71
71
|
"@types/webpack-node-externals": "^3.0.4",
|
|
72
72
|
"@vercel/mcp-adapter": "^0.11.1",
|
|
73
|
-
"axios": "^1.
|
|
73
|
+
"axios": "^1.13.5",
|
|
74
74
|
"base-x": "^5.0.1",
|
|
75
75
|
"chalk": "^5.2.0",
|
|
76
76
|
"chokidar": "^3.6.0",
|
|
@@ -79,45 +79,45 @@
|
|
|
79
79
|
"cross-env": "^7.0.3",
|
|
80
80
|
"del": "^8.0.1",
|
|
81
81
|
"dotenv": "^16.5.0",
|
|
82
|
-
"esbuild": "^0.
|
|
83
|
-
"execa": "^9.6.
|
|
82
|
+
"esbuild": "^0.27.3",
|
|
83
|
+
"execa": "^9.6.1",
|
|
84
84
|
"express": "^4.18.0",
|
|
85
85
|
"fork-ts-checker-webpack-plugin": "^8.0.0",
|
|
86
|
-
"fs-extra": "^11.3.
|
|
87
|
-
"glob": "^
|
|
86
|
+
"fs-extra": "^11.3.3",
|
|
87
|
+
"glob": "^13.0.3",
|
|
88
88
|
"handlebars": "^4.7.7",
|
|
89
89
|
"jose": "^5.2.0",
|
|
90
90
|
"json-canonicalize": "^2.0.0",
|
|
91
91
|
"json5": "^2.2.3",
|
|
92
|
-
"jsonwebtoken": "^9.0.
|
|
92
|
+
"jsonwebtoken": "^9.0.3",
|
|
93
93
|
"memfs": "^4.17.2",
|
|
94
94
|
"raw-body": "^3.0.0",
|
|
95
|
-
"swc-loader": "^0.2.
|
|
95
|
+
"swc-loader": "^0.2.7",
|
|
96
96
|
"tsx": "^4.19.4",
|
|
97
97
|
"webpack": "^5.99.7",
|
|
98
98
|
"webpack-node-externals": "^3.0.0",
|
|
99
|
-
"webpack-virtual-modules": "^0.
|
|
99
|
+
"webpack-virtual-modules": "^0.6.2"
|
|
100
100
|
},
|
|
101
101
|
"optionalDependencies": {
|
|
102
|
-
"@modelcontextprotocol/inspector": "^0.
|
|
102
|
+
"@modelcontextprotocol/inspector": "^0.20.0"
|
|
103
103
|
},
|
|
104
104
|
"devDependencies": {
|
|
105
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
105
|
+
"@aws-sdk/client-dynamodb": "^3.992.0",
|
|
106
106
|
"@types/content-type": "^1.1.9",
|
|
107
107
|
"@types/fs-extra": "^11.0.4",
|
|
108
108
|
"@types/jsonwebtoken": "^9.0.9",
|
|
109
109
|
"@types/node": "^20.0.0",
|
|
110
110
|
"@typescript-eslint/eslint-plugin": "^8.19.1",
|
|
111
111
|
"@typescript-eslint/parser": "^8.19.1",
|
|
112
|
-
"@vitest/coverage-v8": "^4.0.
|
|
112
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
113
113
|
"copy-webpack-plugin": "^12.0.2",
|
|
114
114
|
"eslint": "^9.26.0",
|
|
115
115
|
"node-loader": "^1.0.1",
|
|
116
116
|
"redis": "^4.0.0",
|
|
117
117
|
"ts-loader": "^9.4.2",
|
|
118
118
|
"typescript": "^5.3.0",
|
|
119
|
-
"vitest": "^4.0.
|
|
120
|
-
"zod": "^3.25.
|
|
119
|
+
"vitest": "^4.0.18",
|
|
120
|
+
"zod": "^3.25.67"
|
|
121
121
|
},
|
|
122
122
|
"engines": {
|
|
123
123
|
"node": ">=20.0.0"
|