@typeship-ax/mcp 0.8.0 → 0.9.1

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.
Files changed (103) hide show
  1. package/AGENTS.md +31 -0
  2. package/README.md +66 -9
  3. package/api.json +1617 -712
  4. package/api.md +8292 -382
  5. package/dist/api-identity.d.ts +40 -0
  6. package/dist/api-identity.d.ts.map +1 -0
  7. package/dist/api-identity.js +128 -0
  8. package/dist/auth-profiles.d.ts +30 -0
  9. package/dist/auth-profiles.d.ts.map +1 -0
  10. package/dist/auth-profiles.js +138 -0
  11. package/dist/core/http.d.ts +17 -2
  12. package/dist/core/http.d.ts.map +1 -1
  13. package/dist/core/http.js +78 -17
  14. package/dist/credential-storage.d.ts +24 -0
  15. package/dist/credential-storage.d.ts.map +1 -0
  16. package/dist/credential-storage.js +207 -0
  17. package/dist/docs.d.ts +25 -0
  18. package/dist/docs.d.ts.map +1 -1
  19. package/dist/docs.js +144 -0
  20. package/dist/errors.d.ts +18 -10
  21. package/dist/errors.d.ts.map +1 -1
  22. package/dist/errors.js +24 -14
  23. package/dist/index.d.ts +10 -3
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +20 -4
  26. package/dist/mcp-authorization.d.ts +52 -0
  27. package/dist/mcp-authorization.d.ts.map +1 -0
  28. package/dist/mcp-authorization.js +232 -0
  29. package/dist/mcp-protocol.d.ts +51 -2
  30. package/dist/mcp-protocol.d.ts.map +1 -1
  31. package/dist/mcp-protocol.js +249 -37
  32. package/dist/mcp.d.ts +21 -3
  33. package/dist/mcp.d.ts.map +1 -1
  34. package/dist/mcp.js +185 -68
  35. package/dist/named-credentials.d.ts +21 -0
  36. package/dist/named-credentials.d.ts.map +1 -0
  37. package/dist/named-credentials.js +86 -0
  38. package/dist/oauth-request.d.ts +21 -0
  39. package/dist/oauth-request.d.ts.map +1 -0
  40. package/dist/oauth-request.js +119 -0
  41. package/dist/oauth-session.d.ts +106 -0
  42. package/dist/oauth-session.d.ts.map +1 -0
  43. package/dist/oauth-session.js +244 -0
  44. package/dist/ops.d.ts +14 -1
  45. package/dist/ops.d.ts.map +1 -1
  46. package/dist/ops.js +30 -30
  47. package/dist/resources/account.d.ts +2 -2
  48. package/dist/resources/account.d.ts.map +1 -1
  49. package/dist/resources/account.js +1 -0
  50. package/dist/resources/api-keys.d.ts +3 -3
  51. package/dist/resources/api-keys.d.ts.map +1 -1
  52. package/dist/resources/api-keys.js +2 -0
  53. package/dist/resources/definition-revisions.d.ts +5 -5
  54. package/dist/resources/definition-revisions.d.ts.map +1 -1
  55. package/dist/resources/definition-revisions.js +4 -0
  56. package/dist/resources/definitions.d.ts +15 -4
  57. package/dist/resources/definitions.d.ts.map +1 -1
  58. package/dist/resources/definitions.js +11 -2
  59. package/dist/resources/generate.d.ts +14 -3
  60. package/dist/resources/generate.d.ts.map +1 -1
  61. package/dist/resources/generate.js +10 -2
  62. package/dist/resources/generations.d.ts +3 -3
  63. package/dist/resources/generations.d.ts.map +1 -1
  64. package/dist/resources/generations.js +2 -0
  65. package/dist/resources/projects.d.ts +56 -20
  66. package/dist/resources/projects.d.ts.map +1 -1
  67. package/dist/resources/projects.js +40 -4
  68. package/dist/resources/targets.d.ts +20 -9
  69. package/dist/resources/targets.d.ts.map +1 -1
  70. package/dist/resources/targets.js +14 -1
  71. package/dist/schemas.d.ts.map +1 -1
  72. package/dist/schemas.js +38 -22
  73. package/dist/types.d.ts +385 -119
  74. package/dist/types.d.ts.map +1 -1
  75. package/dist/types.js +11 -0
  76. package/dist/worker.js +4 -4
  77. package/package.json +11 -1
  78. package/server.json +42 -0
  79. package/src/api-identity.ts +98 -0
  80. package/src/auth-profiles.ts +114 -0
  81. package/src/core/http.ts +88 -19
  82. package/src/credential-storage.ts +183 -0
  83. package/src/docs.ts +138 -0
  84. package/src/errors.ts +26 -15
  85. package/src/index.ts +29 -4
  86. package/src/mcp-authorization.ts +211 -0
  87. package/src/mcp-protocol.ts +287 -38
  88. package/src/mcp.ts +186 -72
  89. package/src/named-credentials.ts +74 -0
  90. package/src/oauth-request.ts +90 -0
  91. package/src/oauth-session.ts +258 -0
  92. package/src/ops.ts +44 -31
  93. package/src/resources/account.ts +3 -0
  94. package/src/resources/api-keys.ts +5 -0
  95. package/src/resources/definition-revisions.ts +9 -0
  96. package/src/resources/definitions.ts +25 -0
  97. package/src/resources/generate.ts +23 -0
  98. package/src/resources/generations.ts +5 -0
  99. package/src/resources/projects.ts +95 -7
  100. package/src/resources/targets.ts +32 -0
  101. package/src/schemas.ts +38 -22
  102. package/src/types.ts +404 -119
  103. package/src/worker.ts +4 -4
@@ -0,0 +1,52 @@
1
+ export interface McpAuthorizationConfiguration {
2
+ /** Exact authorization-server issuer. Never inferred from an incoming token. */
3
+ issuer: string;
4
+ /** Canonical public MCP endpoint, including its path. */
5
+ resource: string;
6
+ /** Optional public signing-key endpoint; otherwise use issuer discovery. */
7
+ jwksUrl?: string;
8
+ /** Minimum connection scopes; upstream API permissions are independent. */
9
+ scopes?: readonly string[];
10
+ }
11
+ export interface McpPrincipal {
12
+ readonly issuer: string;
13
+ readonly subject: string;
14
+ readonly resource: string;
15
+ readonly scopes: readonly string[];
16
+ /** Provider claims verified by signature or authenticated introspection. */
17
+ readonly claims: Readonly<Record<string, unknown>>;
18
+ }
19
+ /** Server-only credentials. Supply at runtime, never in generation config. */
20
+ export interface McpTokenIntrospectionConfiguration {
21
+ /** Fixed provider endpoint authorized to receive this issuer's tokens. */
22
+ url: string;
23
+ clientId: string;
24
+ clientSecret: string;
25
+ authMethod?: "client_secret_basic" | "client_secret_post";
26
+ /** Entire response deadline, including the body; defaults to 10 seconds. */
27
+ timeoutMs?: number;
28
+ }
29
+ export declare class McpAuthorizationError extends Error {
30
+ readonly status: 401 | 403 | 503;
31
+ readonly code: "invalid_token" | "insufficient_scope" | "authorization_unavailable";
32
+ constructor(status: 401 | 403 | 503, code: "invalid_token" | "insufficient_scope" | "authorization_unavailable");
33
+ }
34
+ /** Validate configuration independently of any request or token claims. */
35
+ export declare function mcpAuthorizationConfiguration(value: McpAuthorizationConfiguration): McpAuthorizationConfiguration;
36
+ /** Resource-server validation using platform crypto or explicit introspection. The caller supplies
37
+ * only a token; issuer, resource, discovery and key destinations are fixed by
38
+ * the owner. No Authorization header is sent during discovery/key fetching.
39
+ * Introspection replaces JWT verification for every request: no fallback and
40
+ * no token-result cache, so provider revocation is checked on the next request. */
41
+ export declare function createMcpAuthorizer(input: McpAuthorizationConfiguration, introspection?: McpTokenIntrospectionConfiguration): {
42
+ configuration: McpAuthorizationConfiguration;
43
+ metadata(): {
44
+ resource: string;
45
+ authorization_servers: string[];
46
+ bearer_methods_supported: string[];
47
+ scopes_supported: string[];
48
+ };
49
+ challenge(error?: "invalid_token" | "insufficient_scope"): string;
50
+ authorize(header: string | null): Promise<McpPrincipal>;
51
+ };
52
+ //# sourceMappingURL=mcp-authorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-authorization.d.ts","sourceRoot":"","sources":["../src/mcp-authorization.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,6BAA6B;IAC5C,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,8EAA8E;AAC9E,MAAM,WAAW,kCAAkC;IACjD,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;IAC1D,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,2BAA2B;gBAA5G,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAW,IAAI,EAAE,eAAe,GAAG,oBAAoB,GAAG,2BAA2B;CAIlI;AAeD,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,GAAG,6BAA6B,CAMjH;AA+DD;;;;mFAImF;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,kCAAkC;;;;;;;;sBA2DtG,eAAe,GAAG,oBAAoB;sBAKhC,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;EAkBhE"}
@@ -0,0 +1,232 @@
1
+ import { oauthJsonRequest } from "./oauth-request.js";
2
+ export class McpAuthorizationError extends Error {
3
+ status;
4
+ code;
5
+ constructor(status, code) {
6
+ super(code === "invalid_token" ? "A valid MCP access token is required." : code === "insufficient_scope" ? "The access token lacks the required MCP permissions." : "MCP authorization is unavailable. Check the server's authorization configuration.");
7
+ this.status = status;
8
+ this.code = code;
9
+ this.name = "McpAuthorizationError";
10
+ }
11
+ }
12
+ const invalid = () => new McpAuthorizationError(401, "invalid_token");
13
+ const unavailable = () => new McpAuthorizationError(503, "authorization_unavailable");
14
+ const scopePattern = /^[\x21\x23-\x5B\x5D-\x7E]+$/;
15
+ function endpoint(value, query = false) {
16
+ try {
17
+ const url = new URL(value);
18
+ if (value !== value.trim() || /[\u0000-\u0020\u007F"\\]/.test(value) || url.username || url.password || url.hash || (!query && url.search) ||
19
+ !(url.protocol === "https:" || url.protocol === "http:" && ["127.0.0.1", "[::1]", "localhost"].includes(url.hostname)))
20
+ throw unavailable();
21
+ return value;
22
+ }
23
+ catch {
24
+ throw unavailable();
25
+ }
26
+ }
27
+ /** Validate configuration independently of any request or token claims. */
28
+ export function mcpAuthorizationConfiguration(value) {
29
+ if (!value || typeof value.issuer !== "string" || typeof value.resource !== "string")
30
+ throw unavailable();
31
+ const issuer = endpoint(value.issuer), resource = endpoint(value.resource);
32
+ const scopes = value.scopes ?? [];
33
+ if (!Array.isArray(scopes) || scopes.length > 20 || scopes.some(s => typeof s !== "string" || s.length > 500 || !scopePattern.test(s)))
34
+ throw unavailable();
35
+ return Object.freeze({ issuer, resource, ...(value.jwksUrl ? { jwksUrl: endpoint(value.jwksUrl, true) } : {}), scopes: Object.freeze([...new Set(scopes)]) });
36
+ }
37
+ function bytes(value) {
38
+ if (!/^[A-Za-z0-9_-]+$/.test(value) || value.length % 4 === 1)
39
+ throw invalid();
40
+ try {
41
+ const decoded = Uint8Array.from(atob(value.replace(/-/g, "+").replace(/_/g, "/")), ch => ch.charCodeAt(0));
42
+ if (btoa(String.fromCharCode(...decoded)).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_") !== value)
43
+ throw invalid();
44
+ return decoded;
45
+ }
46
+ catch {
47
+ throw invalid();
48
+ }
49
+ }
50
+ function object(value) { return !!value && typeof value === "object" && !Array.isArray(value); }
51
+ function decode(value) {
52
+ try {
53
+ const parsed = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes(value)));
54
+ if (!object(parsed))
55
+ throw invalid();
56
+ return parsed;
57
+ }
58
+ catch {
59
+ throw invalid();
60
+ }
61
+ }
62
+ function principalFor(claims, configuration) {
63
+ const now = Date.now() / 1000;
64
+ const audiences = typeof claims.aud === "string" ? [claims.aud] : claims.aud;
65
+ if (claims.cnf !== undefined || claims.iss !== configuration.issuer || typeof claims.sub !== "string" || !claims.sub || claims.sub.length > 1000 ||
66
+ !Array.isArray(audiences) || !audiences.every(a => typeof a === "string") || !audiences.includes(configuration.resource) ||
67
+ typeof claims.exp !== "number" || !Number.isFinite(claims.exp) || claims.exp <= now ||
68
+ (claims.nbf !== undefined && (typeof claims.nbf !== "number" || !Number.isFinite(claims.nbf) || claims.nbf > now)) ||
69
+ (claims.iat !== undefined && (typeof claims.iat !== "number" || !Number.isFinite(claims.iat) || claims.iat > now + 60)) ||
70
+ (claims.scope !== undefined && (typeof claims.scope !== "string" || claims.scope.length > 10_000)))
71
+ throw invalid();
72
+ const scopes = typeof claims.scope === "string" ? claims.scope.split(" ").filter(Boolean) : [];
73
+ if (scopes.some(s => !scopePattern.test(s)))
74
+ throw invalid();
75
+ if (configuration.scopes.some(s => !scopes.includes(s)))
76
+ throw new McpAuthorizationError(403, "insufficient_scope");
77
+ return Object.freeze({ issuer: configuration.issuer, subject: claims.sub, resource: configuration.resource, scopes: Object.freeze([...new Set(scopes)]), claims: Object.freeze(claims) });
78
+ }
79
+ function introspector(input, configuration) {
80
+ const url = endpoint(input.url);
81
+ const method = input.authMethod ?? "client_secret_basic", timeoutMs = input.timeoutMs ?? 10_000;
82
+ if (!["client_secret_basic", "client_secret_post"].includes(method) || !Number.isFinite(timeoutMs) || timeoutMs <= 0 || timeoutMs > 30_000 ||
83
+ [input.clientId, input.clientSecret].some(value => typeof value !== "string" || !value || value.length > 16_000 || /[\u0000-\u001F\u007F]/.test(value)))
84
+ throw unavailable();
85
+ // Snapshot secrets in a private closure. Public metadata/config never exposes them.
86
+ const { clientId, clientSecret } = input;
87
+ const form = (value) => new URLSearchParams({ v: value }).toString().slice(2);
88
+ const authorization = method === "client_secret_basic" ? "Basic " + btoa(form(clientId) + ":" + form(clientSecret)) : undefined;
89
+ return async (token) => {
90
+ const body = new URLSearchParams({ token, token_type_hint: "access_token" });
91
+ if (method === "client_secret_post") {
92
+ body.set("client_id", clientId);
93
+ body.set("client_secret", clientSecret);
94
+ }
95
+ let data;
96
+ try {
97
+ const response = await oauthJsonRequest(url, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded", Accept: "application/json", ...(authorization ? { Authorization: authorization } : {}) }, body }, timeoutMs);
98
+ if (response.status !== 200)
99
+ throw unavailable();
100
+ data = response.data;
101
+ }
102
+ catch {
103
+ throw unavailable();
104
+ }
105
+ if (!data || typeof data.active !== "boolean")
106
+ throw unavailable();
107
+ if (!data.active || (data.token_type !== undefined && (typeof data.token_type !== "string" || data.token_type.toLowerCase() !== "bearer")))
108
+ throw invalid();
109
+ // RFC 7662 permits omitted issuer: the owner-pinned authenticated endpoint
110
+ // establishes it. Audience, subject and expiry are mandatory for this handler.
111
+ // Never substitute client_id for the MCP resource audience.
112
+ const claims = { ...data, iss: data.iss === undefined ? configuration.issuer : data.iss };
113
+ for (const key of ["token", "access_token", "refresh_token", "id_token", "client_secret"])
114
+ delete claims[key];
115
+ return principalFor(claims, configuration);
116
+ };
117
+ }
118
+ /** Resource-server validation using platform crypto or explicit introspection. The caller supplies
119
+ * only a token; issuer, resource, discovery and key destinations are fixed by
120
+ * the owner. No Authorization header is sent during discovery/key fetching.
121
+ * Introspection replaces JWT verification for every request: no fallback and
122
+ * no token-result cache, so provider revocation is checked on the next request. */
123
+ export function createMcpAuthorizer(input, introspection) {
124
+ const configuration = mcpAuthorizationConfiguration(input);
125
+ const introspect = introspection === undefined ? undefined : introspector(introspection, configuration);
126
+ const cacheMs = 300_000, retryMs = 30_000;
127
+ let keys = [], expiresAt = 0, lastAttempt = -Infinity;
128
+ let pending;
129
+ async function refresh() {
130
+ if (pending)
131
+ return pending;
132
+ if (Date.now() - lastAttempt < retryMs)
133
+ return;
134
+ lastAttempt = Date.now();
135
+ pending = (async () => {
136
+ try {
137
+ let jwksUrl = configuration.jwksUrl;
138
+ if (!jwksUrl) {
139
+ const issuer = new URL(configuration.issuer), path = issuer.pathname.replace(/\/$/, "");
140
+ const candidates = [...new Set([
141
+ issuer.origin + "/.well-known/oauth-authorization-server" + path,
142
+ issuer.origin + "/.well-known/openid-configuration" + path,
143
+ issuer.origin + path + "/.well-known/openid-configuration",
144
+ ])];
145
+ for (const url of candidates) {
146
+ const response = await oauthJsonRequest(url, {}, 10_000);
147
+ if (response.status === 404)
148
+ continue;
149
+ if (response.status !== 200 || response.data?.issuer !== configuration.issuer || typeof response.data.jwks_uri !== "string")
150
+ throw unavailable();
151
+ jwksUrl = endpoint(response.data.jwks_uri, true);
152
+ break;
153
+ }
154
+ if (!jwksUrl)
155
+ throw unavailable();
156
+ }
157
+ const response = await oauthJsonRequest(jwksUrl, {}, 10_000);
158
+ if (response.status !== 200 || !Array.isArray(response.data?.keys) || response.data.keys.length === 0 || response.data.keys.length > 100)
159
+ throw unavailable();
160
+ keys = response.data.keys.filter(object);
161
+ expiresAt = Date.now() + cacheMs;
162
+ }
163
+ catch {
164
+ throw unavailable();
165
+ }
166
+ })().finally(() => { pending = undefined; });
167
+ return pending;
168
+ }
169
+ function eligible(header) {
170
+ return keys.filter(key => (!header.kid || key.kid === header.kid) && (!key.alg || key.alg === header.alg) &&
171
+ (!key.use || key.use === "sig") && (!key.key_ops || Array.isArray(key.key_ops) && key.key_ops.includes("verify")) && !key.d && !key.k &&
172
+ (header.alg === "RS256" && key.kty === "RSA" || header.alg === "ES256" && key.kty === "EC" && key.crv === "P-256" || header.alg === "EdDSA" && key.kty === "OKP" && key.crv === "Ed25519"));
173
+ }
174
+ async function verifySignature(header, data, signature) {
175
+ const matches = eligible(header);
176
+ if (matches.length !== 1)
177
+ return false;
178
+ const key = matches[0];
179
+ try {
180
+ const algorithm = header.alg === "RS256" ? { name: "RSASSA-PKCS1-v1_5", hash: "SHA-256" } : header.alg === "ES256" ? { name: "ECDSA", namedCurve: "P-256", hash: "SHA-256" } : { name: "Ed25519" };
181
+ if (header.alg === "RS256") {
182
+ if (!key.n || bytes(key.n).byteLength < 256)
183
+ return false;
184
+ }
185
+ const imported = await crypto.subtle.importKey("jwk", key, algorithm, false, ["verify"]);
186
+ if (header.alg === "RS256" && (imported.algorithm.modulusLength ?? 0) < 2048)
187
+ return false;
188
+ return await crypto.subtle.verify(algorithm, imported, signature, data);
189
+ }
190
+ catch {
191
+ return false;
192
+ }
193
+ }
194
+ return {
195
+ configuration,
196
+ metadata() { return { resource: configuration.resource, authorization_servers: [configuration.issuer], bearer_methods_supported: ["header"], scopes_supported: [...configuration.scopes] }; },
197
+ challenge(error) {
198
+ const resource = new URL(configuration.resource);
199
+ const metadata = resource.origin + "/.well-known/oauth-protected-resource" + resource.pathname.replace(/\/$/, "");
200
+ return 'Bearer resource_metadata="' + metadata + '"' + (configuration.scopes.length ? ', scope="' + configuration.scopes.join(" ") + '"' : "") + (error ? ', error="' + error + '"' : "");
201
+ },
202
+ async authorize(header) {
203
+ if (!header || header.length > 16_400 || !/^Bearer [A-Za-z0-9._~+/-]+=*$/i.test(header))
204
+ throw invalid();
205
+ const token = header.slice(7), parts = token.split(".");
206
+ if (introspect)
207
+ return introspect(token);
208
+ if (parts.length !== 3)
209
+ throw invalid();
210
+ const protectedHeader = decode(parts[0]), claims = decode(parts[1]);
211
+ if (!["RS256", "ES256", "EdDSA"].includes(String(protectedHeader.alg)) || protectedHeader.crit !== undefined || protectedHeader.jku !== undefined || protectedHeader.x5u !== undefined ||
212
+ (protectedHeader.typ !== undefined && !["at+jwt", "JWT"].includes(String(protectedHeader.typ))) ||
213
+ (protectedHeader.kid !== undefined && (typeof protectedHeader.kid !== "string" || !protectedHeader.kid || protectedHeader.kid.length > 200)))
214
+ throw invalid();
215
+ const signed = new TextEncoder().encode(parts[0] + "." + parts[1]), signature = bytes(parts[2]);
216
+ if (expiresAt <= Date.now()) {
217
+ await refresh();
218
+ if (expiresAt <= Date.now())
219
+ throw unavailable();
220
+ }
221
+ let verified = await verifySignature(protectedHeader, signed, signature);
222
+ if (!verified && Date.now() - lastAttempt >= retryMs) {
223
+ await refresh();
224
+ verified = await verifySignature(protectedHeader, signed, signature);
225
+ }
226
+ if (!verified)
227
+ throw invalid();
228
+ // No bearer token or unverified claims cross into credential resolution.
229
+ return principalFor(claims, configuration);
230
+ },
231
+ };
232
+ }
@@ -75,6 +75,14 @@ export interface ToolOutcome {
75
75
  structured?: unknown;
76
76
  content?: ContentBlock[];
77
77
  }
78
+ /** Throw only from an application-owned credential resolver, before calling
79
+ * the API. The URL must show a sign-in/linking page, never a pre-authenticated
80
+ * resource, token or personal information. The page must verify the same user
81
+ * before linking. The runtime rechecks credentials on every subsequent call. */
82
+ export declare class McpAccountLinkRequired extends Error {
83
+ readonly url: string;
84
+ constructor(url: string);
85
+ }
78
86
  /** The subset of an operation spec (ops.ts / the hosted manifest) the
79
87
  * protocol layer reads. */
80
88
  export interface OpLike {
@@ -99,6 +107,7 @@ export interface OpLike {
99
107
  required: boolean;
100
108
  enum?: string[];
101
109
  description?: string;
110
+ resolve?: false | ReferenceResolver;
102
111
  }[];
103
112
  inputSchema: Record<string, unknown>;
104
113
  outputSchema?: Record<string, unknown>;
@@ -123,6 +132,15 @@ export interface OpLike {
123
132
  /** Wire encoding of the request body. */
124
133
  bodyKind?: string | null;
125
134
  }
135
+ /** Fully proved lookup metadata carried in ops.ts / the hosted manifest. */
136
+ export interface ReferenceResolver {
137
+ via: string;
138
+ match: string[];
139
+ id: string;
140
+ idPattern?: string;
141
+ filterParam?: string;
142
+ inferred?: boolean;
143
+ }
126
144
  /** Does the operation take a file (multipart form or raw binary body)? */
127
145
  export declare function isUploadOp(op: OpLike): boolean;
128
146
  /** Ops that can be MCP tools. A tool result is one value, not a stream, so
@@ -158,7 +176,8 @@ export interface McpServer {
158
176
  listTools(): ToolDefinition[];
159
177
  /**
160
178
  * Run a tool. Return undefined for an unknown tool (the client gets
161
- * -32602), a ToolOutcome otherwise. Throwing yields -32603.
179
+ * -32602), a ToolOutcome otherwise. McpAccountLinkRequired requests a
180
+ * browser interaction; other exceptions yield -32603.
162
181
  */
163
182
  callTool(name: string, args: Record<string, unknown>): Promise<ToolOutcome | undefined>;
164
183
  /** Optional actionable wording for an unknown tool name. The protocol
@@ -279,6 +298,8 @@ export declare function findOperation(ops: OpLike[], wanted: string): OpLike | u
279
298
  export declare function missingArguments(op: OpLike, args: Record<string, unknown>): string[];
280
299
  export interface InstructionsInput {
281
300
  title: string;
301
+ /** Callable operations, used to advertise only capabilities the surface has. */
302
+ ops: OpLike[];
282
303
  /** Operations the server serves (after read-only / include filtering). */
283
304
  toolCount: number;
284
305
  /** Operations present in the Definition but absent from this capped generation. */
@@ -293,6 +314,8 @@ export interface InstructionsInput {
293
314
  authHint?: string | null;
294
315
  /** The tool that returns the caller (the CLI's whoami target), when the API has one. */
295
316
  identityTool?: string | null;
317
+ /** At least one argument accepts an exact human reference as well as an ID. */
318
+ referenceResolution?: boolean;
296
319
  /** Upload operations are exposed (local server): their file arguments take paths. */
297
320
  uploads?: boolean;
298
321
  /** Project-supplied text, appended verbatim. */
@@ -349,6 +372,32 @@ export declare function prepareCall(op: OpLike, rawArgs: Record<string, unknown>
349
372
  ok: false;
350
373
  outcome: ToolOutcome;
351
374
  };
375
+ /** One caller/session's resolved names. Hosted transports must scope this
376
+ * map by caller credential; generated stdio servers naturally have one map
377
+ * per process. */
378
+ export type ReferenceCache = Map<string, string | number>;
379
+ export interface ResolveReferencesOptions {
380
+ /** Operations available to act as declared/inferred resolvers. */
381
+ ops: OpLike[];
382
+ /** Operation returning the authenticated caller, for user-shaped "me". */
383
+ identityTool?: string | null;
384
+ cache: ReferenceCache;
385
+ /** Raw operation runner: validates and calls, but does not resolve again. */
386
+ runOperation(op: OpLike, args: Record<string, unknown>): Promise<ToolOutcome>;
387
+ /** Hard bound for list scans. Default 5. */
388
+ maxPages?: number;
389
+ }
390
+ export type ResolveReferencesResult = {
391
+ ok: true;
392
+ args: Record<string, unknown>;
393
+ } | {
394
+ ok: false;
395
+ outcome: ToolOutcome;
396
+ };
397
+ /** Resolve every eligible reference after validation/coercion and before the
398
+ * requested API call. Matching is exact (case-insensitive for strings),
399
+ * never fuzzy. Zero matches fail before the requested API call. */
400
+ export declare function resolveReferences(op: OpLike, preparedArgs: Record<string, unknown>, options: ResolveReferencesOptions): Promise<ResolveReferencesResult>;
352
401
  /** The isError result for bad arguments: one stable code, one issue per
353
402
  * argument, and the way out. */
354
403
  export declare function argumentsError(op: {
@@ -400,7 +449,7 @@ export declare function extensionFor(mediaType: string): string;
400
449
  export declare function binaryOutcome(blob: Blob, options?: BinaryOptions): Promise<ToolOutcome>;
401
450
  /** Stable codes an agent can branch on (the same vocabulary as the
402
451
  * generated CLI's error envelope). Additive only. */
403
- export type ErrorCode = "NO_AUTH" | "AUTH_INVALID" | "PLAN_LIMIT" | "NOT_FOUND" | "INVALID_REQUEST" | "RATE_LIMITED" | "SPEC_INVALID" | "SERVER_ERROR" | "NETWORK_ERROR" | "VALIDATION_FAILED" | "INVALID_ARGUMENTS" | "CONFIRMATION_REQUIRED" | "NOT_AVAILABLE" | "CALL_FAILED";
452
+ export type ErrorCode = "NO_AUTH" | "AUTH_INVALID" | "PLAN_LIMIT" | "NOT_FOUND" | "INVALID_REQUEST" | "RATE_LIMITED" | "SPEC_INVALID" | "SERVER_ERROR" | "NETWORK_ERROR" | "VALIDATION_FAILED" | "INVALID_ARGUMENTS" | "CONFIRMATION_REQUIRED" | "REFERENCE_NOT_FOUND" | "REFERENCE_AMBIGUOUS" | "REFERENCE_SCAN_LIMIT" | "NOT_AVAILABLE" | "CALL_FAILED" | "ACCOUNT_LINK_REQUIRED" | "ACCOUNT_LINK_CANCELLED";
404
453
  export interface ErrorContext {
405
454
  /** One sentence on how to supply a credential on this transport. */
406
455
  authHint?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-protocol.d.ts","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-protocol.d.ts","sourceRoot":"","sources":["../src/mcp-protocol.ts"],"names":[],"mappings":"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"}