@polpo-ai/connect-server 0.15.139 → 0.15.141
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-oauth.d.ts +51 -0
- package/dist/mcp-oauth.d.ts.map +1 -0
- package/dist/mcp-oauth.js +192 -0
- package/dist/mcp-oauth.js.map +1 -0
- package/dist/memory-store.d.ts +4 -0
- package/dist/memory-store.d.ts.map +1 -1
- package/dist/memory-store.js +51 -0
- package/dist/memory-store.js.map +1 -1
- package/dist/service.d.ts +28 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +209 -1
- package/dist/service.js.map +1 -1
- package/package.json +4 -3
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type McpOAuthClientInformation, type McpOAuthClientMode, type McpOAuthInspection, type McpOAuthSecretMaterial, type TokenSet } from "@polpo-ai/connect";
|
|
2
|
+
export interface McpOAuthClientRegistrationStore {
|
|
3
|
+
get(input: {
|
|
4
|
+
resource: string;
|
|
5
|
+
redirectUri: string;
|
|
6
|
+
mode: McpOAuthClientMode;
|
|
7
|
+
}): Promise<McpOAuthClientInformation | null>;
|
|
8
|
+
set(input: {
|
|
9
|
+
resource: string;
|
|
10
|
+
redirectUri: string;
|
|
11
|
+
mode: McpOAuthClientMode;
|
|
12
|
+
client: McpOAuthClientInformation;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface InspectMcpOAuthInput {
|
|
16
|
+
url: string;
|
|
17
|
+
transport?: "http" | "sse";
|
|
18
|
+
}
|
|
19
|
+
export interface StartMcpOAuthProtocolInput extends InspectMcpOAuthInput {
|
|
20
|
+
redirectUri: string;
|
|
21
|
+
state: string;
|
|
22
|
+
scopes?: string[];
|
|
23
|
+
mode: McpOAuthClientMode;
|
|
24
|
+
clientName?: string;
|
|
25
|
+
clientUri?: string;
|
|
26
|
+
clientMetadataUrl?: string;
|
|
27
|
+
preRegisteredClient?: McpOAuthClientInformation;
|
|
28
|
+
}
|
|
29
|
+
export interface StartMcpOAuthProtocolResult {
|
|
30
|
+
authorizationUrl: string;
|
|
31
|
+
material: McpOAuthSecretMaterial;
|
|
32
|
+
}
|
|
33
|
+
export interface McpOAuthProtocolOptions {
|
|
34
|
+
fetch: typeof fetch;
|
|
35
|
+
registrations?: McpOAuthClientRegistrationStore;
|
|
36
|
+
now?: () => Date;
|
|
37
|
+
}
|
|
38
|
+
export declare function createMcpOAuthProtocol(options: McpOAuthProtocolOptions): {
|
|
39
|
+
inspect: (input: InspectMcpOAuthInput) => Promise<McpOAuthInspection>;
|
|
40
|
+
start: (input: StartMcpOAuthProtocolInput) => Promise<StartMcpOAuthProtocolResult>;
|
|
41
|
+
complete: (input: {
|
|
42
|
+
material: McpOAuthSecretMaterial;
|
|
43
|
+
code: string;
|
|
44
|
+
requestedScopes: string[];
|
|
45
|
+
}) => Promise<TokenSet>;
|
|
46
|
+
refresh: (input: {
|
|
47
|
+
material: McpOAuthSecretMaterial;
|
|
48
|
+
fallbackScopes: string[];
|
|
49
|
+
}) => Promise<TokenSet>;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=mcp-oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-oauth.d.ts","sourceRoot":"","sources":["../src/mcp-oauth.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,+BAA+B;IAC9C,GAAG,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAA;KAAE,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;IAC3H,GAAG,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAC;QAAC,MAAM,EAAE,yBAAyB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnI;AAED,MAAM,WAAW,oBAAoB;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE;AAEjF,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;CACjD;AAED,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB;qBAGvC,oBAAoB,KAAG,OAAO,CAAC,kBAAkB,CAAC;mBA6BpD,0BAA0B,KAAG,OAAO,CAAC,2BAA2B,CAAC;sBAsB9D;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;qBAoBlG;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;EAiEjH"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { discoverOAuthServerInfo, exchangeAuthorization, refreshAuthorization, registerClient, startAuthorization, } from "@modelcontextprotocol/sdk/client/auth.js";
|
|
2
|
+
import { ConnectError, } from "@polpo-ai/connect";
|
|
3
|
+
export function createMcpOAuthProtocol(options) {
|
|
4
|
+
const now = options.now ?? (() => new Date());
|
|
5
|
+
async function inspect(input) {
|
|
6
|
+
const url = normalizeHttpsUrl(input.url);
|
|
7
|
+
try {
|
|
8
|
+
const discovered = await discoverOAuthServerInfo(url, { fetchFn: options.fetch });
|
|
9
|
+
const discovery = normalizeDiscovery(url, discovered.authorizationServerUrl, discovered.authorizationServerMetadata, discovered.resourceMetadata);
|
|
10
|
+
const methods = discovery.codeChallengeMethodsSupported;
|
|
11
|
+
if (methods && !methods.includes("S256")) {
|
|
12
|
+
throw new ConnectError("oauth_discovery_failed", "MCP authorization server does not support PKCE S256");
|
|
13
|
+
}
|
|
14
|
+
const clientModes = ["metadata_document", "pre_registered"];
|
|
15
|
+
if (discovery.registrationEndpoint)
|
|
16
|
+
clientModes.unshift("dynamic");
|
|
17
|
+
return { url, transport: input.transport ?? "http", auth: "oauth2", discovery, clientModes, warnings: [] };
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
if (error instanceof ConnectError)
|
|
21
|
+
throw error;
|
|
22
|
+
return {
|
|
23
|
+
url,
|
|
24
|
+
transport: input.transport ?? "http",
|
|
25
|
+
auth: "unknown",
|
|
26
|
+
clientModes: ["metadata_document", "pre_registered"],
|
|
27
|
+
warnings: ["OAuth metadata discovery was inconclusive; choose authentication explicitly."],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async function start(input) {
|
|
32
|
+
const inspected = await inspect(input);
|
|
33
|
+
if (!inspected.discovery) {
|
|
34
|
+
throw new ConnectError("oauth_discovery_failed", "MCP OAuth metadata could not be discovered");
|
|
35
|
+
}
|
|
36
|
+
const redirectUri = normalizeHttpsUrl(input.redirectUri);
|
|
37
|
+
const scopes = normalizeScopes(input.scopes ?? inspected.discovery.scopesSupported ?? []);
|
|
38
|
+
const client = await resolveClient(input, inspected.discovery, redirectUri, scopes);
|
|
39
|
+
const started = await startAuthorization(inspected.discovery.authorizationServer, {
|
|
40
|
+
metadata: inspected.discovery.rawAuthorizationServerMetadata,
|
|
41
|
+
clientInformation: client,
|
|
42
|
+
redirectUrl: redirectUri,
|
|
43
|
+
scope: scopes.length ? scopes.join(" ") : undefined,
|
|
44
|
+
state: input.state,
|
|
45
|
+
resource: new URL(inspected.discovery.resource),
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
authorizationUrl: started.authorizationUrl.toString(),
|
|
49
|
+
material: { mode: input.mode, redirectUri, discovery: inspected.discovery, client, codeVerifier: started.codeVerifier },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
async function complete(input) {
|
|
53
|
+
if (!input.material.codeVerifier) {
|
|
54
|
+
throw new ConnectError("token_exchange_failed", "MCP OAuth PKCE verifier is missing");
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const tokens = await exchangeAuthorization(input.material.discovery.authorizationServer, {
|
|
58
|
+
metadata: input.material.discovery.rawAuthorizationServerMetadata,
|
|
59
|
+
clientInformation: input.material.client,
|
|
60
|
+
authorizationCode: input.code,
|
|
61
|
+
codeVerifier: input.material.codeVerifier,
|
|
62
|
+
redirectUri: input.material.redirectUri,
|
|
63
|
+
resource: new URL(input.material.discovery.resource),
|
|
64
|
+
fetchFn: options.fetch,
|
|
65
|
+
});
|
|
66
|
+
return normalizeTokens(tokens, input.requestedScopes, now());
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
throw protocolError("token_exchange_failed", "MCP OAuth token exchange failed", error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async function refresh(input) {
|
|
73
|
+
if (!input.material.tokens?.refreshToken) {
|
|
74
|
+
throw new ConnectError("refresh_unavailable", "MCP OAuth refresh token is unavailable");
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const tokens = await refreshAuthorization(input.material.discovery.authorizationServer, {
|
|
78
|
+
metadata: input.material.discovery.rawAuthorizationServerMetadata,
|
|
79
|
+
clientInformation: input.material.client,
|
|
80
|
+
refreshToken: input.material.tokens.refreshToken,
|
|
81
|
+
resource: new URL(input.material.discovery.resource),
|
|
82
|
+
fetchFn: options.fetch,
|
|
83
|
+
});
|
|
84
|
+
return normalizeTokens(tokens, input.fallbackScopes, now(), input.material.tokens.refreshToken);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
throw protocolError("refresh_unavailable", "MCP OAuth token refresh failed", error);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async function resolveClient(input, discovery, redirectUri, scopes) {
|
|
91
|
+
if (input.mode === "pre_registered") {
|
|
92
|
+
if (!input.preRegisteredClient?.client_id) {
|
|
93
|
+
throw new ConnectError("oauth_registration_failed", "A pre-registered MCP OAuth client is required");
|
|
94
|
+
}
|
|
95
|
+
return input.preRegisteredClient;
|
|
96
|
+
}
|
|
97
|
+
if (input.mode === "metadata_document") {
|
|
98
|
+
if (!input.clientMetadataUrl) {
|
|
99
|
+
throw new ConnectError("oauth_registration_failed", "Client ID Metadata Document URL is required");
|
|
100
|
+
}
|
|
101
|
+
return { client_id: normalizeHttpsUrl(input.clientMetadataUrl) };
|
|
102
|
+
}
|
|
103
|
+
if (!discovery.registrationEndpoint) {
|
|
104
|
+
throw new ConnectError("oauth_registration_failed", "MCP authorization server does not support dynamic client registration");
|
|
105
|
+
}
|
|
106
|
+
const cached = await options.registrations?.get({ resource: discovery.resource, redirectUri, mode: input.mode });
|
|
107
|
+
if (cached)
|
|
108
|
+
return cached;
|
|
109
|
+
const metadata = {
|
|
110
|
+
client_name: input.clientName ?? "Polpo",
|
|
111
|
+
redirect_uris: [redirectUri],
|
|
112
|
+
grant_types: ["authorization_code", "refresh_token"],
|
|
113
|
+
response_types: ["code"],
|
|
114
|
+
token_endpoint_auth_method: "none",
|
|
115
|
+
...(input.clientUri ? { client_uri: normalizeHttpsUrl(input.clientUri) } : {}),
|
|
116
|
+
};
|
|
117
|
+
try {
|
|
118
|
+
const registered = await registerClient(discovery.authorizationServer, {
|
|
119
|
+
metadata: discovery.rawAuthorizationServerMetadata,
|
|
120
|
+
clientMetadata: metadata,
|
|
121
|
+
scope: scopes.length ? scopes.join(" ") : undefined,
|
|
122
|
+
fetchFn: options.fetch,
|
|
123
|
+
});
|
|
124
|
+
const client = registered;
|
|
125
|
+
await options.registrations?.set({ resource: discovery.resource, redirectUri, mode: input.mode, client });
|
|
126
|
+
return client;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
throw protocolError("oauth_registration_failed", "MCP OAuth dynamic client registration failed", error);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return { inspect, start, complete, refresh };
|
|
133
|
+
}
|
|
134
|
+
function normalizeDiscovery(resource, authorizationServer, metadata, protectedResource) {
|
|
135
|
+
const authorizationEndpoint = text(metadata?.authorization_endpoint);
|
|
136
|
+
const tokenEndpoint = text(metadata?.token_endpoint);
|
|
137
|
+
if (!authorizationEndpoint || !tokenEndpoint) {
|
|
138
|
+
throw new ConnectError("oauth_discovery_failed", "MCP OAuth metadata is missing authorization or token endpoint");
|
|
139
|
+
}
|
|
140
|
+
const registrationEndpoint = text(metadata?.registration_endpoint);
|
|
141
|
+
const revocationEndpoint = text(metadata?.revocation_endpoint);
|
|
142
|
+
const scopesSupported = strings(metadata?.scopes_supported);
|
|
143
|
+
const codeChallengeMethodsSupported = strings(metadata?.code_challenge_methods_supported);
|
|
144
|
+
return {
|
|
145
|
+
resource: normalizeHttpsUrl(text(protectedResource?.resource) ?? resource),
|
|
146
|
+
authorizationServer: normalizeHttpsUrl(authorizationServer),
|
|
147
|
+
authorizationEndpoint: normalizeHttpsUrl(authorizationEndpoint),
|
|
148
|
+
tokenEndpoint: normalizeHttpsUrl(tokenEndpoint),
|
|
149
|
+
...(registrationEndpoint ? { registrationEndpoint: normalizeHttpsUrl(registrationEndpoint) } : {}),
|
|
150
|
+
...(revocationEndpoint ? { revocationEndpoint: normalizeHttpsUrl(revocationEndpoint) } : {}),
|
|
151
|
+
...(scopesSupported ? { scopesSupported } : {}),
|
|
152
|
+
...(codeChallengeMethodsSupported ? { codeChallengeMethodsSupported } : {}),
|
|
153
|
+
rawAuthorizationServerMetadata: metadata,
|
|
154
|
+
rawProtectedResourceMetadata: protectedResource,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
function normalizeTokens(tokens, fallbackScopes, now, fallbackRefreshToken) {
|
|
158
|
+
const accessToken = text(tokens.access_token);
|
|
159
|
+
if (!accessToken)
|
|
160
|
+
throw new ConnectError("token_exchange_failed", "MCP OAuth response is missing access_token");
|
|
161
|
+
const expiresIn = typeof tokens.expires_in === "number" ? tokens.expires_in : undefined;
|
|
162
|
+
return {
|
|
163
|
+
accessToken,
|
|
164
|
+
refreshToken: text(tokens.refresh_token) ?? fallbackRefreshToken,
|
|
165
|
+
tokenType: text(tokens.token_type) ?? "Bearer",
|
|
166
|
+
expiresAt: expiresIn === undefined ? undefined : new Date(now.getTime() + expiresIn * 1000).toISOString(),
|
|
167
|
+
scopes: normalizeScopes(text(tokens.scope)?.split(/[,\s]+/) ?? fallbackScopes),
|
|
168
|
+
raw: tokens,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function normalizeHttpsUrl(value) {
|
|
172
|
+
let url;
|
|
173
|
+
try {
|
|
174
|
+
url = new URL(value);
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
throw new ConnectError("invalid_request", "MCP OAuth URL must be absolute");
|
|
178
|
+
}
|
|
179
|
+
if (url.protocol !== "https:" || url.username || url.password) {
|
|
180
|
+
throw new ConnectError("invalid_request", "MCP OAuth URL must use HTTPS and cannot contain credentials");
|
|
181
|
+
}
|
|
182
|
+
return url.toString();
|
|
183
|
+
}
|
|
184
|
+
function normalizeScopes(values) {
|
|
185
|
+
return [...new Set(values.map((value) => value.trim()).filter(Boolean))].sort();
|
|
186
|
+
}
|
|
187
|
+
function text(value) { return typeof value === "string" && value.trim() ? value.trim() : undefined; }
|
|
188
|
+
function strings(value) { return Array.isArray(value) && value.every((item) => typeof item === "string") ? value : undefined; }
|
|
189
|
+
function protocolError(code, message, error) {
|
|
190
|
+
return error instanceof ConnectError ? error : new ConnectError(code, message, { details: error instanceof Error ? error.message : String(error) });
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=mcp-oauth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-oauth.js","sourceRoot":"","sources":["../src/mcp-oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/memory-store.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export declare class MemoryConnectStore implements ConnectStore, ConnectionLinkS
|
|
|
11
11
|
deleteConnection(id: string): Promise<void>;
|
|
12
12
|
saveOAuthState(record: OAuthStateRecord): Promise<void>;
|
|
13
13
|
consumeOAuthState(state: string): Promise<OAuthStateRecord | null>;
|
|
14
|
+
getOAuthState(state: string): Promise<OAuthStateRecord | null>;
|
|
15
|
+
claimOAuthState(state: string, claimToken: string, claimExpiresAt: string, now: string): Promise<OAuthStateRecord | null>;
|
|
16
|
+
completeOAuthState(state: string, claimToken: string, connectionId: string): Promise<OAuthStateRecord | null>;
|
|
17
|
+
releaseOAuthState(state: string, claimToken: string, errorCode: string): Promise<OAuthStateRecord | null>;
|
|
14
18
|
listConnectionLinks(filter?: ConnectionLinkListFilter): Promise<ConnectionLink[]>;
|
|
15
19
|
getConnectionLink(id: string): Promise<ConnectionLink | null>;
|
|
16
20
|
upsertConnectionLink(link: ConnectionLink): Promise<ConnectionLink>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../src/memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,kBAAmB,YAAW,YAAY,EAAE,mBAAmB,EAAE,2BAA2B;IACvG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAErE,eAAe,CAAC,MAAM,GAAE,oBAAyB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI/E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAK3D,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKrE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQnH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAMlE,mBAAmB,CAAC,MAAM,GAAE,wBAA6B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAQrF,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAK7D,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAKnE,oBAAoB,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GACvD,OAAO,CAAC,cAAc,CAAC;IAQpB,0BAA0B,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAK7E,6BAA6B,CACjC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CAO1C"}
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../src/memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,kBAAmB,YAAW,YAAY,EAAE,mBAAmB,EAAE,2BAA2B;IACvG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAErE,eAAe,CAAC,MAAM,GAAE,oBAAyB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI/E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAK3D,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKrE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQnH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAMlE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAK9D,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAmB7B,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAe7B,iBAAiB,CACrB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAc7B,mBAAmB,CAAC,MAAM,GAAE,wBAA6B,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAQrF,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAK7D,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAKnE,oBAAoB,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GACvD,OAAO,CAAC,cAAc,CAAC;IAQpB,0BAA0B,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAK7E,6BAA6B,CACjC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CAO1C"}
|
package/dist/memory-store.js
CHANGED
|
@@ -34,6 +34,57 @@ export class MemoryConnectStore {
|
|
|
34
34
|
this.oauthStates.delete(state);
|
|
35
35
|
return record ? clone(record) : null;
|
|
36
36
|
}
|
|
37
|
+
async getOAuthState(state) {
|
|
38
|
+
const record = this.oauthStates.get(state);
|
|
39
|
+
return record ? clone(record) : null;
|
|
40
|
+
}
|
|
41
|
+
async claimOAuthState(state, claimToken, claimExpiresAt, now) {
|
|
42
|
+
const record = this.oauthStates.get(state);
|
|
43
|
+
if (!record || record.status === "completed")
|
|
44
|
+
return record ? clone(record) : null;
|
|
45
|
+
if (record.status === "processing"
|
|
46
|
+
&& record.claimExpiresAt
|
|
47
|
+
&& new Date(record.claimExpiresAt).getTime() > new Date(now).getTime())
|
|
48
|
+
return null;
|
|
49
|
+
const claimed = {
|
|
50
|
+
...record,
|
|
51
|
+
status: "processing",
|
|
52
|
+
claimToken,
|
|
53
|
+
claimExpiresAt,
|
|
54
|
+
attempts: (record.attempts ?? 0) + 1,
|
|
55
|
+
};
|
|
56
|
+
this.oauthStates.set(state, clone(claimed));
|
|
57
|
+
return clone(claimed);
|
|
58
|
+
}
|
|
59
|
+
async completeOAuthState(state, claimToken, connectionId) {
|
|
60
|
+
const record = this.oauthStates.get(state);
|
|
61
|
+
if (!record || record.claimToken !== claimToken)
|
|
62
|
+
return null;
|
|
63
|
+
const completed = {
|
|
64
|
+
...record,
|
|
65
|
+
status: "completed",
|
|
66
|
+
completedConnectionId: connectionId,
|
|
67
|
+
claimToken: undefined,
|
|
68
|
+
claimExpiresAt: undefined,
|
|
69
|
+
lastErrorCode: undefined,
|
|
70
|
+
};
|
|
71
|
+
this.oauthStates.set(state, clone(completed));
|
|
72
|
+
return clone(completed);
|
|
73
|
+
}
|
|
74
|
+
async releaseOAuthState(state, claimToken, errorCode) {
|
|
75
|
+
const record = this.oauthStates.get(state);
|
|
76
|
+
if (!record || record.claimToken !== claimToken)
|
|
77
|
+
return null;
|
|
78
|
+
const released = {
|
|
79
|
+
...record,
|
|
80
|
+
status: "pending",
|
|
81
|
+
claimToken: undefined,
|
|
82
|
+
claimExpiresAt: undefined,
|
|
83
|
+
lastErrorCode: errorCode,
|
|
84
|
+
};
|
|
85
|
+
this.oauthStates.set(state, clone(released));
|
|
86
|
+
return clone(released);
|
|
87
|
+
}
|
|
37
88
|
async listConnectionLinks(filter = {}) {
|
|
38
89
|
return [...this.links.values()].filter((link) => (!filter.connectionId || link.connectionId === filter.connectionId)
|
|
39
90
|
&& (!filter.projectId || link.projectId === filter.projectId)
|
package/dist/memory-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../src/memory-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../src/memory-store.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type ConnectPolicy, type ConnectStore, type ConnectSubject, type ConnectionAudience, type ConnectionBindingAttributes, type ConnectionLinkStore, type ConnectionLink, type ConnectionLinkListFilter, type ConnectionOwner, type ConnectionRecord, type ConnectionSetupSession, type ConnectionSetupSessionStore, type ConnectorProviderDefinition, type McpConnectionAuth, type McpConnectionTransport, type OAuthClientResolver, type ResolvedConnectionCredential, type RuntimeToken } from "@polpo-ai/connect";
|
|
1
|
+
import { type ConnectPolicy, type ConnectStore, type ConnectSubject, type ConnectionAudience, type ConnectionBindingAttributes, type ConnectionLinkStore, type ConnectionLink, type ConnectionLinkListFilter, type ConnectionOwner, type ConnectionRecord, type ConnectionSetupSession, type ConnectionSetupSessionStore, type ConnectorProviderDefinition, type McpConnectionAuth, type McpConnectionTransport, type McpOAuthClientInformation, type McpOAuthClientMode, type McpOAuthInspection, type OAuthClientResolver, type ResolvedConnectionCredential, type RuntimeToken } from "@polpo-ai/connect";
|
|
2
2
|
import { type ConnectionRequest, type ConnectionResponse } from "@polpo-ai/core";
|
|
3
3
|
import { type ConnectionSecretStore, type TokenRefreshCoordinator } from "./secrets.js";
|
|
4
|
+
import { type McpOAuthClientRegistrationStore } from "./mcp-oauth.js";
|
|
4
5
|
export interface CreateConnectServiceOptions {
|
|
5
6
|
providers: readonly ConnectorProviderDefinition[];
|
|
6
7
|
store: ConnectStore;
|
|
@@ -18,6 +19,8 @@ export interface CreateConnectServiceOptions {
|
|
|
18
19
|
links?: ConnectionLinkStore;
|
|
19
20
|
setupSessionTtlMs?: number;
|
|
20
21
|
allowedReturnUrlOrigins?: readonly string[];
|
|
22
|
+
mcpOAuthRegistrations?: McpOAuthClientRegistrationStore;
|
|
23
|
+
mcpOAuthCallbackClaimTtlMs?: number;
|
|
21
24
|
}
|
|
22
25
|
export interface CreateApiKeyConnectionInput {
|
|
23
26
|
providerId: string;
|
|
@@ -60,6 +63,27 @@ export interface StartOAuthResult {
|
|
|
60
63
|
state: string;
|
|
61
64
|
expiresAt: string;
|
|
62
65
|
}
|
|
66
|
+
export interface InspectMcpOAuthConnectionInput {
|
|
67
|
+
url: string;
|
|
68
|
+
transport?: McpConnectionTransport;
|
|
69
|
+
}
|
|
70
|
+
export interface StartMcpOAuthInput {
|
|
71
|
+
providerId?: string;
|
|
72
|
+
name?: string;
|
|
73
|
+
url: string;
|
|
74
|
+
transport?: McpConnectionTransport;
|
|
75
|
+
scopes?: string[];
|
|
76
|
+
subject?: ConnectionOwner;
|
|
77
|
+
projectId?: string;
|
|
78
|
+
orgId?: string;
|
|
79
|
+
redirectUri: string;
|
|
80
|
+
mode: McpOAuthClientMode;
|
|
81
|
+
clientName?: string;
|
|
82
|
+
clientUri?: string;
|
|
83
|
+
clientMetadataUrl?: string;
|
|
84
|
+
preRegisteredClient?: McpOAuthClientInformation;
|
|
85
|
+
metadata?: Record<string, unknown>;
|
|
86
|
+
}
|
|
63
87
|
export interface CompleteOAuthInput {
|
|
64
88
|
state: string;
|
|
65
89
|
code?: string;
|
|
@@ -111,6 +135,9 @@ export interface ConnectService {
|
|
|
111
135
|
unlinkConnection(input: UnlinkConnectionInput): Promise<ConnectionLink>;
|
|
112
136
|
createApiKeyConnection(input: CreateApiKeyConnectionInput): Promise<ConnectionRecord>;
|
|
113
137
|
createMcpConnection(input: CreateMcpConnectionInput): Promise<ConnectionRecord>;
|
|
138
|
+
inspectMcpOAuth(input: InspectMcpOAuthConnectionInput): Promise<McpOAuthInspection>;
|
|
139
|
+
startMcpOAuth(input: StartMcpOAuthInput): Promise<StartOAuthResult>;
|
|
140
|
+
completeMcpOAuth(input: CompleteOAuthInput): Promise<ConnectionRecord>;
|
|
114
141
|
createSetupSession(input: CreateConnectionSetupSessionInput): Promise<ConnectionSetupSession>;
|
|
115
142
|
startOAuthSetup(input: StartOAuthSetupInput): Promise<StartOAuthResult>;
|
|
116
143
|
startOAuth(input: StartOAuthInput): Promise<StartOAuthResult>;
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -3,6 +3,7 @@ import { ConnectionSelectionError, } from "@polpo-ai/core";
|
|
|
3
3
|
import { lookup } from "node:dns/promises";
|
|
4
4
|
import { MemoryTokenRefreshCoordinator, isVersionedConnectionSecretStore, } from "./secrets.js";
|
|
5
5
|
import { createOpaqueToken, createPkcePair, parseScopes, toFormBody } from "./oauth.js";
|
|
6
|
+
import { createMcpOAuthProtocol, } from "./mcp-oauth.js";
|
|
6
7
|
export function createConnectService(options) {
|
|
7
8
|
const registry = createConnectorRegistry(options.providers);
|
|
8
9
|
const fetchImpl = options.fetch ?? fetch;
|
|
@@ -12,6 +13,20 @@ export function createConnectService(options) {
|
|
|
12
13
|
const setupSessionTtlMs = options.setupSessionTtlMs ?? 10 * 60_000;
|
|
13
14
|
const refreshCoordinator = options.refreshCoordinator ?? new MemoryTokenRefreshCoordinator();
|
|
14
15
|
const resolveHostname = options.resolveHostname ?? (async (hostname) => (await lookup(hostname, { all: true, verbatim: true })).map((entry) => entry.address));
|
|
16
|
+
const mcpOAuthFetch = async (request, init) => {
|
|
17
|
+
const url = new URL(request instanceof Request ? request.url : String(request));
|
|
18
|
+
if (url.protocol !== "https:") {
|
|
19
|
+
throw new ConnectError("oauth_discovery_failed", "MCP OAuth network requests must use HTTPS");
|
|
20
|
+
}
|
|
21
|
+
await assertPublicDns(url.hostname, resolveHostname);
|
|
22
|
+
return fetchImpl(request, { ...init, redirect: "error" });
|
|
23
|
+
};
|
|
24
|
+
const mcpOAuth = createMcpOAuthProtocol({
|
|
25
|
+
fetch: mcpOAuthFetch,
|
|
26
|
+
registrations: options.mcpOAuthRegistrations,
|
|
27
|
+
now,
|
|
28
|
+
});
|
|
29
|
+
const mcpOAuthCallbackClaimTtlMs = options.mcpOAuthCallbackClaimTtlMs ?? 30_000;
|
|
15
30
|
const resolveOAuthClient = async (input) => {
|
|
16
31
|
if (options.oauthClients) {
|
|
17
32
|
const client = await options.oauthClients.resolve({
|
|
@@ -236,6 +251,152 @@ export function createConnectService(options) {
|
|
|
236
251
|
metadata,
|
|
237
252
|
});
|
|
238
253
|
},
|
|
254
|
+
async inspectMcpOAuth(input) {
|
|
255
|
+
return mcpOAuth.inspect({ url: input.url, transport: input.transport });
|
|
256
|
+
},
|
|
257
|
+
async startMcpOAuth(input) {
|
|
258
|
+
const provider = registry.require(input.providerId ?? "mcp_url");
|
|
259
|
+
if (provider.auth.type !== "mcp") {
|
|
260
|
+
throw new ConnectError("unsupported_auth", `Provider "${provider.id}" does not use MCP auth`);
|
|
261
|
+
}
|
|
262
|
+
const url = normalizeMcpUrl(input.url, false);
|
|
263
|
+
const transport = input.transport ?? "http";
|
|
264
|
+
const requestedScopes = normalizeScopes(input.scopes ?? provider.auth.defaultScopes ?? []);
|
|
265
|
+
const state = createOpaqueToken();
|
|
266
|
+
const pendingConnectionId = createId("conn");
|
|
267
|
+
const temporarySecretRef = createId("connsec");
|
|
268
|
+
const started = await mcpOAuth.start({
|
|
269
|
+
url,
|
|
270
|
+
transport,
|
|
271
|
+
redirectUri: input.redirectUri,
|
|
272
|
+
state,
|
|
273
|
+
scopes: requestedScopes,
|
|
274
|
+
mode: input.mode,
|
|
275
|
+
clientName: input.clientName,
|
|
276
|
+
clientUri: input.clientUri,
|
|
277
|
+
clientMetadataUrl: input.clientMetadataUrl,
|
|
278
|
+
preRegisteredClient: input.preRegisteredClient,
|
|
279
|
+
});
|
|
280
|
+
const createdAt = now();
|
|
281
|
+
const expiresAt = new Date(createdAt.getTime() + oauthStateTtlMs);
|
|
282
|
+
await options.secrets.setSecret(temporarySecretRef, {
|
|
283
|
+
kind: "mcp",
|
|
284
|
+
mcpOAuth: started.material,
|
|
285
|
+
});
|
|
286
|
+
try {
|
|
287
|
+
await options.store.saveOAuthState({
|
|
288
|
+
state,
|
|
289
|
+
providerId: provider.id,
|
|
290
|
+
flowKind: "mcp",
|
|
291
|
+
status: "pending",
|
|
292
|
+
subject: input.subject,
|
|
293
|
+
requestedScopes,
|
|
294
|
+
redirectUri: started.material.redirectUri,
|
|
295
|
+
projectId: input.projectId,
|
|
296
|
+
orgId: input.orgId,
|
|
297
|
+
connectionName: input.name,
|
|
298
|
+
temporarySecretRef,
|
|
299
|
+
createdAt: createdAt.toISOString(),
|
|
300
|
+
expiresAt: expiresAt.toISOString(),
|
|
301
|
+
metadata: {
|
|
302
|
+
...(input.metadata ?? {}),
|
|
303
|
+
url,
|
|
304
|
+
transport,
|
|
305
|
+
auth: "oauth2",
|
|
306
|
+
oauthClientMode: input.mode,
|
|
307
|
+
pendingConnectionId,
|
|
308
|
+
},
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
await options.secrets.deleteSecret(temporarySecretRef).catch(() => undefined);
|
|
313
|
+
throw error;
|
|
314
|
+
}
|
|
315
|
+
return { authorizationUrl: started.authorizationUrl, state, expiresAt: expiresAt.toISOString() };
|
|
316
|
+
},
|
|
317
|
+
async completeMcpOAuth(input) {
|
|
318
|
+
const store = options.store;
|
|
319
|
+
if (!store.getOAuthState || !store.claimOAuthState || !store.completeOAuthState || !store.releaseOAuthState) {
|
|
320
|
+
throw new ConnectError("setup_invalid", "Host store does not support retry-safe MCP OAuth callbacks");
|
|
321
|
+
}
|
|
322
|
+
const current = await store.getOAuthState(input.state);
|
|
323
|
+
if (!current || current.flowKind !== "mcp") {
|
|
324
|
+
throw new ConnectError("oauth_state_not_found", "MCP OAuth state was not found");
|
|
325
|
+
}
|
|
326
|
+
if (current.status === "completed" && current.completedConnectionId) {
|
|
327
|
+
const completed = await store.getConnection(current.completedConnectionId);
|
|
328
|
+
if (completed)
|
|
329
|
+
return completed;
|
|
330
|
+
}
|
|
331
|
+
if (new Date(current.expiresAt).getTime() <= now().getTime()) {
|
|
332
|
+
throw new ConnectError("oauth_state_expired", "MCP OAuth state has expired");
|
|
333
|
+
}
|
|
334
|
+
if (input.error) {
|
|
335
|
+
throw new ConnectError("oauth_error", input.errorDescription ?? input.error);
|
|
336
|
+
}
|
|
337
|
+
if (!input.code)
|
|
338
|
+
throw new ConnectError("invalid_request", "OAuth callback is missing code");
|
|
339
|
+
const claimToken = createOpaqueToken();
|
|
340
|
+
const claimed = await store.claimOAuthState(input.state, claimToken, new Date(now().getTime() + mcpOAuthCallbackClaimTtlMs).toISOString(), now().toISOString());
|
|
341
|
+
if (!claimed) {
|
|
342
|
+
throw new ConnectError("oauth_callback_in_progress", "MCP OAuth callback is already being processed");
|
|
343
|
+
}
|
|
344
|
+
const pendingConnectionId = typeof claimed.metadata?.pendingConnectionId === "string"
|
|
345
|
+
? claimed.metadata.pendingConnectionId
|
|
346
|
+
: undefined;
|
|
347
|
+
try {
|
|
348
|
+
if (pendingConnectionId) {
|
|
349
|
+
const existing = await store.getConnection(pendingConnectionId);
|
|
350
|
+
if (existing?.status === "active") {
|
|
351
|
+
await store.completeOAuthState(input.state, claimToken, existing.id);
|
|
352
|
+
return existing;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
if (!claimed.temporarySecretRef) {
|
|
356
|
+
throw new ConnectError("secret_not_found", "MCP OAuth transient secret is missing");
|
|
357
|
+
}
|
|
358
|
+
const transient = await options.secrets.getSecret(claimed.temporarySecretRef);
|
|
359
|
+
if (!transient?.mcpOAuth) {
|
|
360
|
+
throw new ConnectError("secret_not_found", "MCP OAuth transient material is unavailable");
|
|
361
|
+
}
|
|
362
|
+
const tokens = await mcpOAuth.complete({
|
|
363
|
+
material: transient.mcpOAuth,
|
|
364
|
+
code: input.code,
|
|
365
|
+
requestedScopes: claimed.requestedScopes,
|
|
366
|
+
});
|
|
367
|
+
const grantedScopes = normalizeScopes(tokens.scopes ?? claimed.requestedScopes);
|
|
368
|
+
const material = {
|
|
369
|
+
...transient.mcpOAuth,
|
|
370
|
+
codeVerifier: undefined,
|
|
371
|
+
tokens,
|
|
372
|
+
};
|
|
373
|
+
await options.secrets.setSecret(claimed.temporarySecretRef, { kind: "mcp", mcpOAuth: material });
|
|
374
|
+
const id = pendingConnectionId ?? createId("conn");
|
|
375
|
+
const connection = await store.upsertConnection({
|
|
376
|
+
id,
|
|
377
|
+
providerId: claimed.providerId,
|
|
378
|
+
name: claimed.connectionName,
|
|
379
|
+
projectId: claimed.projectId,
|
|
380
|
+
orgId: claimed.orgId,
|
|
381
|
+
owner: claimed.subject,
|
|
382
|
+
authType: "mcp",
|
|
383
|
+
status: "active",
|
|
384
|
+
grantedScopes,
|
|
385
|
+
secretRef: claimed.temporarySecretRef,
|
|
386
|
+
tokenExpiresAt: tokens.expiresAt,
|
|
387
|
+
createdAt: now().toISOString(),
|
|
388
|
+
updatedAt: now().toISOString(),
|
|
389
|
+
metadata: omitInternalMcpStateMetadata(claimed.metadata),
|
|
390
|
+
});
|
|
391
|
+
await store.completeOAuthState(input.state, claimToken, connection.id);
|
|
392
|
+
return connection;
|
|
393
|
+
}
|
|
394
|
+
catch (error) {
|
|
395
|
+
const code = error instanceof ConnectError ? error.code : "oauth_error";
|
|
396
|
+
await store.releaseOAuthState(input.state, claimToken, code).catch(() => undefined);
|
|
397
|
+
throw error;
|
|
398
|
+
}
|
|
399
|
+
},
|
|
239
400
|
async createSetupSession(input) {
|
|
240
401
|
if (!options.setupSessions || !options.oauthClients) {
|
|
241
402
|
throw new ConnectError("setup_invalid", "Connection setup sessions are not configured on this host");
|
|
@@ -467,6 +628,41 @@ export function createConnectService(options) {
|
|
|
467
628
|
};
|
|
468
629
|
}
|
|
469
630
|
if (secret.kind === "mcp") {
|
|
631
|
+
if (secret.mcpOAuth?.tokens?.accessToken) {
|
|
632
|
+
let material = secret.mcpOAuth;
|
|
633
|
+
if (input.forceRefresh || shouldRefresh(material.tokens, now(), tokenRefreshSkewMs)) {
|
|
634
|
+
material = await refreshCoordinator.runExclusive(connection.id, async () => {
|
|
635
|
+
const latest = await options.secrets.getSecret(connection.secretRef);
|
|
636
|
+
if (!latest?.mcpOAuth?.tokens?.accessToken) {
|
|
637
|
+
throw new ConnectError("token_not_available", "MCP OAuth connection secret is empty");
|
|
638
|
+
}
|
|
639
|
+
if (!input.forceRefresh && !shouldRefresh(latest.mcpOAuth.tokens, now(), tokenRefreshSkewMs)) {
|
|
640
|
+
return latest.mcpOAuth;
|
|
641
|
+
}
|
|
642
|
+
const tokens = await mcpOAuth.refresh({
|
|
643
|
+
material: latest.mcpOAuth,
|
|
644
|
+
fallbackScopes: scopes,
|
|
645
|
+
});
|
|
646
|
+
const refreshed = { ...latest.mcpOAuth, tokens };
|
|
647
|
+
await options.secrets.setSecret(connection.secretRef, { kind: "mcp", mcpOAuth: refreshed });
|
|
648
|
+
await options.store.updateConnection(connection.id, {
|
|
649
|
+
tokenExpiresAt: tokens.expiresAt,
|
|
650
|
+
updatedAt: now().toISOString(),
|
|
651
|
+
});
|
|
652
|
+
return refreshed;
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
return {
|
|
656
|
+
kind: "mcp",
|
|
657
|
+
accessToken: material.tokens.accessToken,
|
|
658
|
+
tokenType: material.tokens.tokenType ?? "Bearer",
|
|
659
|
+
expiresAt: material.tokens.expiresAt,
|
|
660
|
+
scopes,
|
|
661
|
+
connectionId: connection.id,
|
|
662
|
+
providerId: connection.providerId,
|
|
663
|
+
metadata: connection.metadata,
|
|
664
|
+
};
|
|
665
|
+
}
|
|
470
666
|
if (!secret.apiKey)
|
|
471
667
|
throw new ConnectError("token_not_available", "MCP connection secret is empty");
|
|
472
668
|
return {
|
|
@@ -990,7 +1186,19 @@ function isLocalHost(hostname) {
|
|
|
990
1186
|
return hostname === "localhost" || hostname === "127.0.0.1" || hostname.endsWith(".localhost");
|
|
991
1187
|
}
|
|
992
1188
|
function readMcpAuthMode(metadata) {
|
|
993
|
-
|
|
1189
|
+
if (metadata?.auth === "none")
|
|
1190
|
+
return "none";
|
|
1191
|
+
if (metadata?.auth === "oauth2")
|
|
1192
|
+
return "oauth2";
|
|
1193
|
+
if (metadata?.auth === "header")
|
|
1194
|
+
return "header";
|
|
1195
|
+
return "bearer";
|
|
1196
|
+
}
|
|
1197
|
+
function omitInternalMcpStateMetadata(metadata) {
|
|
1198
|
+
if (!metadata)
|
|
1199
|
+
return undefined;
|
|
1200
|
+
const { pendingConnectionId: _pendingConnectionId, ...publicMetadata } = metadata;
|
|
1201
|
+
return publicMetadata;
|
|
994
1202
|
}
|
|
995
1203
|
function readTokenType(secret) {
|
|
996
1204
|
const tokenType = secret.metadata?.tokenType;
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polpo-ai/connect-server",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.141",
|
|
4
4
|
"description": "Server-side Polpo Connect primitives for OAuth, API-key connections, token refresh, and policy checks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
"README.md"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@
|
|
21
|
-
"@polpo-ai/
|
|
20
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
21
|
+
"@polpo-ai/core": "0.15.141",
|
|
22
|
+
"@polpo-ai/connect": "0.15.141"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"typescript": "^5.7.3",
|