@gizmodata/gizmosql-mcp 0.4.4 → 0.4.6
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/CHANGELOG.md +30 -0
- package/README.md +34 -17
- package/dist/connection.js +1 -0
- package/dist/connection.js.map +1 -1
- package/dist/oauth-facade.d.ts +50 -0
- package/dist/oauth-facade.js +223 -0
- package/dist/oauth-facade.js.map +1 -0
- package/dist/oauth.d.ts +18 -2
- package/dist/oauth.js +43 -24
- package/dist/oauth.js.map +1 -1
- package/dist/transports.js +33 -5
- package/dist/transports.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.4.6] - 2026-09-11
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Hosted HTTP transport with Microsoft Entra ID: users were still disconnected
|
|
14
|
+
about an hour after signing in, even with `offline_access` requested and a
|
|
15
|
+
refresh token issued. Claude's `refresh_token` request carries only the
|
|
16
|
+
OpenID Connect scopes and Entra refuses it with `AADSTS90009` because it
|
|
17
|
+
names no resource (anthropics/claude-ai-mcp#840). New
|
|
18
|
+
`GIZMOSQL_MCP_OAUTH_TOKEN_PROXY=true` publishes an authorization-server
|
|
19
|
+
metadata facade at `/oauth` and proxies the token endpoint at
|
|
20
|
+
`/oauth/token`, adding the configured API scope and `offline_access` to
|
|
21
|
+
refresh grants; authorization-code exchanges pass through untouched. Every
|
|
22
|
+
exchange is logged without secrets (grant, status, whether a refresh token
|
|
23
|
+
came back, `expires_in`, the provider's error). The server warns at startup
|
|
24
|
+
when the issuer is Entra and the proxy is off. Chart and deployment
|
|
25
|
+
template enable it.
|
|
26
|
+
|
|
27
|
+
## [0.4.5] - 2026-09-10
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
- Hosted HTTP transport with OAuth: the documented scope setting requested
|
|
31
|
+
only the API scope, so Microsoft Entra ID issued no refresh token and Claude
|
|
32
|
+
lost the connector as soon as the access token expired (about an hour), with
|
|
33
|
+
no way to re-authorize mid-conversation. The README, chart and deployment
|
|
34
|
+
template now advertise `offline_access` (with `openid profile email`)
|
|
35
|
+
alongside the API scope, and the server warns at startup when
|
|
36
|
+
`GIZMOSQL_MCP_OAUTH_SCOPES` lacks it.
|
|
37
|
+
- Rejected bearer tokens (401) are now logged with the reason, as 403s already
|
|
38
|
+
were, so an expired-token loop is visible in the pod logs.
|
|
39
|
+
|
|
10
40
|
## [0.4.4] - 2026-09-09
|
|
11
41
|
|
|
12
42
|
### Changed
|
package/README.md
CHANGED
|
@@ -143,7 +143,8 @@ GIZMOSQL_USERNAME=mcp_service GIZMOSQL_PASSWORD='service-password' \
|
|
|
143
143
|
GIZMOSQL_MCP_PUBLIC_URL=https://mcp.example.com/mcp \
|
|
144
144
|
GIZMOSQL_MCP_OAUTH_ISSUER=https://login.microsoftonline.com/<tenant-id>/v2.0 \
|
|
145
145
|
GIZMOSQL_MCP_OAUTH_AUDIENCE=<application-client-id> \
|
|
146
|
-
GIZMOSQL_MCP_OAUTH_SCOPES=https://mcp.example.com/mcp/access_as_user \
|
|
146
|
+
GIZMOSQL_MCP_OAUTH_SCOPES='https://mcp.example.com/mcp/access_as_user openid profile email offline_access' \
|
|
147
|
+
GIZMOSQL_MCP_OAUTH_TOKEN_PROXY=true \
|
|
147
148
|
GIZMOSQL_MCP_OAUTH_AUTHORIZED_EMAILS='*@example.com' \
|
|
148
149
|
npx -y @gizmodata/gizmosql-mcp --transport http --host 0.0.0.0 --port 3000
|
|
149
150
|
```
|
|
@@ -154,18 +155,29 @@ the metadata, runs the authorization-code flow with PKCE, and retries with the t
|
|
|
154
155
|
Each tool call is logged with the caller's identity, and `server_info` reports it as
|
|
155
156
|
`authenticated_user`.
|
|
156
157
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
158
|
+
Claude requests exactly the scopes named in `GIZMOSQL_MCP_OAUTH_SCOPES` (they are sent in
|
|
159
|
+
the `WWW-Authenticate` challenge and as `scopes_supported`), so include `offline_access`
|
|
160
|
+
alongside the API scope: it is what makes the provider issue a refresh token, which Claude
|
|
161
|
+
uses to renew the access token on its own (reactively on a 401, and shortly before expiry).
|
|
162
|
+
The server warns at startup when the scope list lacks it and logs every rejected token with
|
|
163
|
+
the reason (`unauthorized: "exp" claim timestamp check failed`).
|
|
164
|
+
|
|
165
|
+
**Token proxy (required for Microsoft Entra ID).** Claude's refresh request carries only the
|
|
166
|
+
OpenID Connect scopes (`openid profile offline_access`), and Entra refuses such a request
|
|
167
|
+
with `AADSTS90009` because it names no resource. The connector then works until the access
|
|
168
|
+
token expires (about an hour), after which every tool call fails ("the token expired, I
|
|
169
|
+
can't re-authorize from here") until the user reconnects. Set
|
|
170
|
+
`GIZMOSQL_MCP_OAUTH_TOKEN_PROXY=true` and the server publishes an authorization-server
|
|
171
|
+
metadata document at `<public origin>/oauth` (the provider's own document with `issuer` and
|
|
172
|
+
`token_endpoint` pointing at the server) and proxies the token endpoint at
|
|
173
|
+
`<public origin>/oauth/token`: `refresh_token` grants get the configured API scope and
|
|
174
|
+
`offline_access` added, everything else passes through byte for byte, and sign-in still
|
|
175
|
+
happens at the provider. Each exchange is logged without secrets
|
|
176
|
+
(`OAuth facade: refresh_token (scope added) -> HTTP 200 (refresh_token yes, expires_in 4150s)`).
|
|
177
|
+
Users connected before the proxy was enabled reconnect the connector once so Claude
|
|
178
|
+
discovers the new token endpoint. See
|
|
179
|
+
[anthropics/claude-ai-mcp#840](https://github.com/anthropics/claude-ai-mcp/issues/840) for the
|
|
180
|
+
forensic trail behind this.
|
|
169
181
|
|
|
170
182
|
Provider notes:
|
|
171
183
|
|
|
@@ -177,9 +189,13 @@ Provider notes:
|
|
|
177
189
|
such as `access_as_user`, `requestedAccessTokenVersion` 2, and admin consent for that
|
|
178
190
|
scope. v2 access tokens carry the client ID as `aud`, hence
|
|
179
191
|
`GIZMOSQL_MCP_OAUTH_AUDIENCE=<client-id>`; set `GIZMOSQL_MCP_OAUTH_SCOPES` to
|
|
180
|
-
`<Application ID URI>/<scope
|
|
181
|
-
Microsoft Graph
|
|
182
|
-
|
|
192
|
+
`<Application ID URI>/<scope> openid profile email offline_access` so Claude asks for
|
|
193
|
+
a token for this API rather than for Microsoft Graph *and* gets a refresh token (Entra
|
|
194
|
+
only issues one when `offline_access` is in the request; the Graph delegated permissions
|
|
195
|
+
`openid`, `profile`, `email` and `offline_access` must be on the registration), and set
|
|
196
|
+
`GIZMOSQL_MCP_OAUTH_TOKEN_PROXY=true` so refreshes are not refused with `AADSTS90009`
|
|
197
|
+
(see *Token proxy* above). A single-tenant registration plus
|
|
198
|
+
`GIZMOSQL_MCP_OAUTH_AUTHORIZED_EMAILS` restricts access to one organisation.
|
|
183
199
|
- **Okta** needs a custom authorization server (tokens from the org server are opaque);
|
|
184
200
|
**Auth0** needs an API with the audience; **Keycloak** works out of the box and is the
|
|
185
201
|
easiest local test target; **Clerk** issues JWT access tokens by default.
|
|
@@ -231,8 +247,9 @@ same names.
|
|
|
231
247
|
| `GIZMOSQL_MCP_PUBLIC_URL` | | HTTP transport with OAuth: public URL of the `/mcp` endpoint, the OAuth resource identifier |
|
|
232
248
|
| `GIZMOSQL_MCP_OAUTH_ISSUER` | | HTTP transport: OpenID Connect issuer URL; setting it enables OAuth |
|
|
233
249
|
| `GIZMOSQL_MCP_OAUTH_AUDIENCE` | public URL | Accepted `aud` values, comma-separated (Entra ID v2 tokens: the client ID) |
|
|
234
|
-
| `GIZMOSQL_MCP_OAUTH_SCOPES` | | Scopes advertised to clients and requested on a 401 |
|
|
250
|
+
| `GIZMOSQL_MCP_OAUTH_SCOPES` | | Scopes advertised to clients and requested on a 401; include `offline_access` so a refresh token is issued |
|
|
235
251
|
| `GIZMOSQL_MCP_OAUTH_AUTHORIZED_EMAILS` | | Glob allowlist of sign-in emails, e.g. `*@example.com` |
|
|
252
|
+
| `GIZMOSQL_MCP_OAUTH_TOKEN_PROXY` | `false` | Publish an authorization-server facade at `/oauth` and proxy the token endpoint so `refresh_token` grants carry the API scope (required for Entra ID) |
|
|
236
253
|
| `GIZMOSQL_MCP_OAUTH_JWKS_URI` | discovered | JWKS endpoint, when discovery from the issuer is not possible |
|
|
237
254
|
| `GIZMOSQL_MCP_OAUTH_USER_CLAIM` | `email,preferred_username,upn,name,sub` | Claims tried in order to name the caller |
|
|
238
255
|
| `GIZMOSQL_MCP_OAUTH_ALLOW_INSECURE` | `false` | Accept `http://` issuer and public URLs (local testing only) |
|
package/dist/connection.js
CHANGED
|
@@ -235,6 +235,7 @@ export function parseOAuth(env) {
|
|
|
235
235
|
scopes: parseList(env.GIZMOSQL_MCP_OAUTH_SCOPES),
|
|
236
236
|
userClaims: userClaims.length > 0 ? userClaims : [...DEFAULT_USER_CLAIMS],
|
|
237
237
|
authorizedEmails: parseList(env.GIZMOSQL_MCP_OAUTH_AUTHORIZED_EMAILS),
|
|
238
|
+
tokenProxy: parseBoolean("GIZMOSQL_MCP_OAUTH_TOKEN_PROXY", env.GIZMOSQL_MCP_OAUTH_TOKEN_PROXY, false),
|
|
238
239
|
};
|
|
239
240
|
}
|
|
240
241
|
export function authMethod(config) {
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as http from "node:http";
|
|
2
|
+
/** Scopes that name no resource; a refresh carrying only these has nothing to renew against. */
|
|
3
|
+
export declare const OIDC_SCOPES: Set<string>;
|
|
4
|
+
/** Path under the public origin where the facade lives. */
|
|
5
|
+
export declare const FACADE_PATH = "/oauth";
|
|
6
|
+
/** Facade issuer URL for a public MCP URL: same origin, FACADE_PATH. */
|
|
7
|
+
export declare function facadeIssuer(publicUrl: string): string;
|
|
8
|
+
/** Discovery paths at which the facade's metadata is served (OpenID Connect and RFC 8414, both placements). */
|
|
9
|
+
export declare function facadeMetadataPaths(): string[];
|
|
10
|
+
/** Token endpoint path of the facade. */
|
|
11
|
+
export declare function facadeTokenPath(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Scope value for a refresh_token grant: what the client sent plus the
|
|
14
|
+
* configured resource scope(s) and offline_access, without duplicates.
|
|
15
|
+
* Returns the client's own value untouched when it already names a resource.
|
|
16
|
+
*/
|
|
17
|
+
export declare function refreshScope(requested: string | null, configured: string[]): {
|
|
18
|
+
scope: string;
|
|
19
|
+
injected: boolean;
|
|
20
|
+
};
|
|
21
|
+
export interface FacadeOptions {
|
|
22
|
+
/** Test hook: replaces global fetch for discovery and the upstream token endpoint. */
|
|
23
|
+
fetch?: typeof fetch;
|
|
24
|
+
log?: (message: string) => void;
|
|
25
|
+
}
|
|
26
|
+
/** Serves the rewritten metadata and proxies the token endpoint for one provider. */
|
|
27
|
+
export declare class OAuthFacade {
|
|
28
|
+
readonly config: {
|
|
29
|
+
publicUrl: string;
|
|
30
|
+
upstreamIssuer: string;
|
|
31
|
+
scopes: string[];
|
|
32
|
+
};
|
|
33
|
+
readonly issuer: string;
|
|
34
|
+
private cached;
|
|
35
|
+
private loading;
|
|
36
|
+
private readonly fetchImpl;
|
|
37
|
+
private readonly log;
|
|
38
|
+
constructor(config: {
|
|
39
|
+
publicUrl: string;
|
|
40
|
+
upstreamIssuer: string;
|
|
41
|
+
scopes: string[];
|
|
42
|
+
}, options?: FacadeOptions);
|
|
43
|
+
/** The provider's discovery document with issuer and token_endpoint pointing at this facade. */
|
|
44
|
+
metadata(): Promise<Record<string, unknown>>;
|
|
45
|
+
/** Handles GET on a metadata path. */
|
|
46
|
+
handleMetadata(req: http.IncomingMessage, res: http.ServerResponse): Promise<void>;
|
|
47
|
+
/** Handles POST on the token path: forwards to the provider, fixing up refresh_token grants. */
|
|
48
|
+
handleToken(req: http.IncomingMessage, res: http.ServerResponse): Promise<void>;
|
|
49
|
+
private upstream;
|
|
50
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
// Authorization-server facade for providers whose refresh flow needs help.
|
|
2
|
+
//
|
|
3
|
+
// Claude refreshes an expiring access token by POSTing grant_type=
|
|
4
|
+
// refresh_token to the provider's token endpoint with only the OpenID
|
|
5
|
+
// Connect scopes (openid profile offline_access). Microsoft Entra ID then
|
|
6
|
+
// answers AADSTS90009 ("requesting a token for itself") because the request
|
|
7
|
+
// names no resource, and the connector dies at every access-token expiry.
|
|
8
|
+
// (anthropics/claude-ai-mcp#840 has the full forensic trail.)
|
|
9
|
+
//
|
|
10
|
+
// With GIZMOSQL_MCP_OAUTH_TOKEN_PROXY=true the MCP server publishes an
|
|
11
|
+
// authorization-server metadata document of its own, under
|
|
12
|
+
// <public origin>/oauth, that is the provider's document with two fields
|
|
13
|
+
// changed: `issuer` (this facade) and `token_endpoint` (this server). The
|
|
14
|
+
// token proxy forwards every request to the provider's token endpoint
|
|
15
|
+
// verbatim, except that a refresh_token grant also gets the configured API
|
|
16
|
+
// scope(s) and offline_access so the provider knows which resource to mint
|
|
17
|
+
// the new token for and returns a successor refresh token. Authorization
|
|
18
|
+
// still happens at the provider; tokens are never logged or stored.
|
|
19
|
+
import * as http from "node:http";
|
|
20
|
+
import { OFFLINE_ACCESS_SCOPE, discoverMetadata } from "./oauth.js";
|
|
21
|
+
/** Scopes that name no resource; a refresh carrying only these has nothing to renew against. */
|
|
22
|
+
export const OIDC_SCOPES = new Set(["openid", "profile", "email", OFFLINE_ACCESS_SCOPE]);
|
|
23
|
+
/** Path under the public origin where the facade lives. */
|
|
24
|
+
export const FACADE_PATH = "/oauth";
|
|
25
|
+
/** Largest token request body accepted (form-encoded credentials and a refresh token). */
|
|
26
|
+
const MAX_TOKEN_BODY_BYTES = 64 * 1024;
|
|
27
|
+
/** How long the provider's discovery document is cached. */
|
|
28
|
+
const METADATA_TTL_MS = 60 * 60 * 1000;
|
|
29
|
+
/** Time allowed for the provider's token endpoint (Claude waits 30s for a refresh). */
|
|
30
|
+
const UPSTREAM_TIMEOUT_MS = 20_000;
|
|
31
|
+
/** Facade issuer URL for a public MCP URL: same origin, FACADE_PATH. */
|
|
32
|
+
export function facadeIssuer(publicUrl) {
|
|
33
|
+
return `${new URL(publicUrl).origin}${FACADE_PATH}`;
|
|
34
|
+
}
|
|
35
|
+
/** Discovery paths at which the facade's metadata is served (OpenID Connect and RFC 8414, both placements). */
|
|
36
|
+
export function facadeMetadataPaths() {
|
|
37
|
+
return [
|
|
38
|
+
`${FACADE_PATH}/.well-known/openid-configuration`,
|
|
39
|
+
`${FACADE_PATH}/.well-known/oauth-authorization-server`,
|
|
40
|
+
`/.well-known/oauth-authorization-server${FACADE_PATH}`,
|
|
41
|
+
`/.well-known/openid-configuration${FACADE_PATH}`,
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
/** Token endpoint path of the facade. */
|
|
45
|
+
export function facadeTokenPath() {
|
|
46
|
+
return `${FACADE_PATH}/token`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Scope value for a refresh_token grant: what the client sent plus the
|
|
50
|
+
* configured resource scope(s) and offline_access, without duplicates.
|
|
51
|
+
* Returns the client's own value untouched when it already names a resource.
|
|
52
|
+
*/
|
|
53
|
+
export function refreshScope(requested, configured) {
|
|
54
|
+
const sent = (requested ?? "").split(/\s+/u).filter((s) => s !== "");
|
|
55
|
+
if (sent.some((s) => !OIDC_SCOPES.has(s)))
|
|
56
|
+
return { scope: sent.join(" "), injected: false };
|
|
57
|
+
const merged = [...sent];
|
|
58
|
+
for (const s of [...configured.filter((c) => !OIDC_SCOPES.has(c)), OFFLINE_ACCESS_SCOPE])
|
|
59
|
+
if (!merged.includes(s))
|
|
60
|
+
merged.push(s);
|
|
61
|
+
return { scope: merged.join(" "), injected: merged.length !== sent.length };
|
|
62
|
+
}
|
|
63
|
+
function readBody(req, limit) {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
const chunks = [];
|
|
66
|
+
let size = 0;
|
|
67
|
+
req.on("data", (chunk) => {
|
|
68
|
+
size += chunk.length;
|
|
69
|
+
if (size > limit) {
|
|
70
|
+
reject(new Error(`request body exceeds ${limit} bytes`));
|
|
71
|
+
req.destroy();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
chunks.push(chunk);
|
|
75
|
+
});
|
|
76
|
+
req.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")));
|
|
77
|
+
req.on("error", reject);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/** One-line, secret-free description of a token response for the log. */
|
|
81
|
+
function describeTokenResponse(status, body) {
|
|
82
|
+
let parsed = {};
|
|
83
|
+
try {
|
|
84
|
+
parsed = JSON.parse(body);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return `HTTP ${status} (non-JSON body)`;
|
|
88
|
+
}
|
|
89
|
+
if (status >= 200 && status < 300) {
|
|
90
|
+
const refresh = typeof parsed.refresh_token === "string" ? "yes" : "no";
|
|
91
|
+
const expires = typeof parsed.expires_in === "number" ? `${parsed.expires_in}s` : "?";
|
|
92
|
+
return `HTTP ${status} (refresh_token ${refresh}, expires_in ${expires})`;
|
|
93
|
+
}
|
|
94
|
+
const error = typeof parsed.error === "string" ? parsed.error : "error";
|
|
95
|
+
const desc = typeof parsed.error_description === "string" ? parsed.error_description.split(/\r?\n/u)[0].slice(0, 200) : "";
|
|
96
|
+
return `HTTP ${status} ${error}${desc ? `: ${desc}` : ""}`;
|
|
97
|
+
}
|
|
98
|
+
/** Serves the rewritten metadata and proxies the token endpoint for one provider. */
|
|
99
|
+
export class OAuthFacade {
|
|
100
|
+
config;
|
|
101
|
+
issuer;
|
|
102
|
+
cached;
|
|
103
|
+
loading;
|
|
104
|
+
fetchImpl;
|
|
105
|
+
log;
|
|
106
|
+
constructor(config, options = {}) {
|
|
107
|
+
this.config = config;
|
|
108
|
+
this.issuer = facadeIssuer(config.publicUrl);
|
|
109
|
+
this.fetchImpl = options.fetch ?? fetch;
|
|
110
|
+
this.log = options.log ?? ((m) => console.error(m));
|
|
111
|
+
}
|
|
112
|
+
/** The provider's discovery document with issuer and token_endpoint pointing at this facade. */
|
|
113
|
+
async metadata() {
|
|
114
|
+
const upstream = await this.upstream();
|
|
115
|
+
return { ...upstream, issuer: this.issuer, token_endpoint: `${new URL(this.config.publicUrl).origin}${facadeTokenPath()}` };
|
|
116
|
+
}
|
|
117
|
+
/** Handles GET on a metadata path. */
|
|
118
|
+
async handleMetadata(req, res) {
|
|
119
|
+
if (req.method !== "GET" && req.method !== "HEAD") {
|
|
120
|
+
res.writeHead(405, { allow: "GET" });
|
|
121
|
+
res.end();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
const doc = await this.metadata();
|
|
126
|
+
res.writeHead(200, { "content-type": "application/json", "cache-control": "public, max-age=300" });
|
|
127
|
+
res.end(JSON.stringify(doc));
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
this.log(`[gizmosql-mcp] OAuth facade: discovery failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
131
|
+
res.writeHead(502, { "content-type": "application/json" });
|
|
132
|
+
res.end(JSON.stringify({ error: "server_error", error_description: "authorization server discovery failed" }));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/** Handles POST on the token path: forwards to the provider, fixing up refresh_token grants. */
|
|
136
|
+
async handleToken(req, res) {
|
|
137
|
+
if (req.method !== "POST") {
|
|
138
|
+
res.writeHead(405, { allow: "POST" });
|
|
139
|
+
res.end();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const contentType = (req.headers["content-type"] ?? "").split(";")[0].trim().toLowerCase();
|
|
143
|
+
if (contentType !== "application/x-www-form-urlencoded") {
|
|
144
|
+
res.writeHead(415, { "content-type": "application/json" });
|
|
145
|
+
res.end(JSON.stringify({ error: "invalid_request", error_description: "expected application/x-www-form-urlencoded" }));
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
let params;
|
|
149
|
+
try {
|
|
150
|
+
params = new URLSearchParams(await readBody(req, MAX_TOKEN_BODY_BYTES));
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
res.writeHead(400, { "content-type": "application/json" });
|
|
154
|
+
res.end(JSON.stringify({ error: "invalid_request", error_description: err instanceof Error ? err.message : String(err) }));
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const grant = params.get("grant_type") ?? "?";
|
|
158
|
+
let injected = false;
|
|
159
|
+
if (grant === "refresh_token") {
|
|
160
|
+
const fixed = refreshScope(params.get("scope"), this.config.scopes);
|
|
161
|
+
injected = fixed.injected;
|
|
162
|
+
if (injected)
|
|
163
|
+
params.set("scope", fixed.scope);
|
|
164
|
+
}
|
|
165
|
+
let upstreamTokenEndpoint;
|
|
166
|
+
try {
|
|
167
|
+
const doc = await this.upstream();
|
|
168
|
+
if (typeof doc.token_endpoint !== "string")
|
|
169
|
+
throw new Error("provider metadata has no token_endpoint");
|
|
170
|
+
upstreamTokenEndpoint = doc.token_endpoint;
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
this.log(`[gizmosql-mcp] OAuth facade: ${grant} failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
174
|
+
res.writeHead(502, { "content-type": "application/json" });
|
|
175
|
+
res.end(JSON.stringify({ error: "server_error", error_description: "authorization server discovery failed" }));
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const headers = {
|
|
179
|
+
"content-type": "application/x-www-form-urlencoded",
|
|
180
|
+
accept: "application/json",
|
|
181
|
+
};
|
|
182
|
+
// client_secret_basic: pass the client's credentials through untouched.
|
|
183
|
+
if (typeof req.headers.authorization === "string")
|
|
184
|
+
headers.authorization = req.headers.authorization;
|
|
185
|
+
try {
|
|
186
|
+
const upstream = await this.fetchImpl(upstreamTokenEndpoint, {
|
|
187
|
+
method: "POST",
|
|
188
|
+
headers,
|
|
189
|
+
body: params.toString(),
|
|
190
|
+
signal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS),
|
|
191
|
+
});
|
|
192
|
+
const body = await upstream.text();
|
|
193
|
+
this.log(`[gizmosql-mcp] OAuth facade: ${grant}${injected ? " (scope added)" : ""} -> ${describeTokenResponse(upstream.status, body)}`);
|
|
194
|
+
res.writeHead(upstream.status, {
|
|
195
|
+
"content-type": upstream.headers.get("content-type") ?? "application/json",
|
|
196
|
+
"cache-control": "no-store",
|
|
197
|
+
pragma: "no-cache",
|
|
198
|
+
});
|
|
199
|
+
res.end(body);
|
|
200
|
+
}
|
|
201
|
+
catch (err) {
|
|
202
|
+
this.log(`[gizmosql-mcp] OAuth facade: ${grant} failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
203
|
+
res.writeHead(502, { "content-type": "application/json" });
|
|
204
|
+
res.end(JSON.stringify({ error: "server_error", error_description: "authorization server unreachable" }));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
upstream() {
|
|
208
|
+
if (this.cached && Date.now() - this.cached.at < METADATA_TTL_MS)
|
|
209
|
+
return Promise.resolve(this.cached.doc);
|
|
210
|
+
if (!this.loading) {
|
|
211
|
+
this.loading = discoverMetadata(this.config.upstreamIssuer, this.fetchImpl)
|
|
212
|
+
.then((doc) => {
|
|
213
|
+
this.cached = { doc, at: Date.now() };
|
|
214
|
+
return doc;
|
|
215
|
+
})
|
|
216
|
+
.finally(() => {
|
|
217
|
+
this.loading = undefined;
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
return this.loading;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=oauth-facade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-facade.js","sourceRoot":"","sources":["../src/oauth-facade.ts"],"names":[],"mappings":"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"}
|
package/dist/oauth.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ export interface OAuthConfig {
|
|
|
14
14
|
userClaims: string[];
|
|
15
15
|
/** Glob patterns (`*@example.com`, `alice@example.com`); empty = everyone the provider signs in. */
|
|
16
16
|
authorizedEmails: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Publish an authorization-server facade and proxy the token endpoint so
|
|
19
|
+
* refresh_token grants carry the API scope (needed for Microsoft Entra ID).
|
|
20
|
+
*/
|
|
21
|
+
tokenProxy?: boolean;
|
|
17
22
|
}
|
|
18
23
|
/** Identity derived from a verified access token. */
|
|
19
24
|
export interface AuthenticatedUser {
|
|
@@ -34,6 +39,12 @@ export declare class OAuthError extends Error {
|
|
|
34
39
|
}
|
|
35
40
|
/** Asymmetric algorithms only: a symmetric alg would let the JWKS-hosted public key act as a secret. */
|
|
36
41
|
export declare const ALLOWED_ALGORITHMS: string[];
|
|
42
|
+
/**
|
|
43
|
+
* OpenID Connect scope that asks the provider for a refresh token. Claude
|
|
44
|
+
* requests exactly the scopes named in the WWW-Authenticate challenge, so it
|
|
45
|
+
* must be advertised here or the client cannot outlive the access token.
|
|
46
|
+
*/
|
|
47
|
+
export declare const OFFLINE_ACCESS_SCOPE = "offline_access";
|
|
37
48
|
/** Tolerated clock skew between the provider and this host, in seconds. */
|
|
38
49
|
export declare const CLOCK_TOLERANCE_SECONDS = 60;
|
|
39
50
|
/** Well-known path of the protected-resource metadata, without and with the endpoint path (RFC 9728 §3.1). */
|
|
@@ -61,8 +72,8 @@ export declare class OAuthVerifier {
|
|
|
61
72
|
private readonly fetchImpl;
|
|
62
73
|
private readonly log;
|
|
63
74
|
constructor(config: OAuthConfig, options?: VerifierOptions);
|
|
64
|
-
/** RFC 9728 protected-resource metadata document. */
|
|
65
|
-
protectedResourceMetadata(): Record<string, unknown>;
|
|
75
|
+
/** RFC 9728 protected-resource metadata document; `authorizationServer` overrides the issuer (token-proxy facade). */
|
|
76
|
+
protectedResourceMetadata(authorizationServer?: string): Record<string, unknown>;
|
|
66
77
|
/** `WWW-Authenticate` value for a 401 (RFC 6750 §3 + RFC 9728 §5.1). */
|
|
67
78
|
challenge(error?: AuthFailureCode, description?: string): string;
|
|
68
79
|
/**
|
|
@@ -76,3 +87,8 @@ export declare class OAuthVerifier {
|
|
|
76
87
|
/** Returns the JWKS URI: configured, or read from the provider's discovery document. */
|
|
77
88
|
private discoverJwks;
|
|
78
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Fetches the provider's discovery document (OpenID Connect first, then RFC
|
|
92
|
+
* 8414). The document must name the configured issuer and a jwks_uri.
|
|
93
|
+
*/
|
|
94
|
+
export declare function discoverMetadata(issuer: string, fetchImpl?: typeof fetch): Promise<Record<string, unknown>>;
|
package/dist/oauth.js
CHANGED
|
@@ -28,6 +28,12 @@ export class OAuthError extends Error {
|
|
|
28
28
|
}
|
|
29
29
|
/** Asymmetric algorithms only: a symmetric alg would let the JWKS-hosted public key act as a secret. */
|
|
30
30
|
export const ALLOWED_ALGORITHMS = ["RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512", "EdDSA"];
|
|
31
|
+
/**
|
|
32
|
+
* OpenID Connect scope that asks the provider for a refresh token. Claude
|
|
33
|
+
* requests exactly the scopes named in the WWW-Authenticate challenge, so it
|
|
34
|
+
* must be advertised here or the client cannot outlive the access token.
|
|
35
|
+
*/
|
|
36
|
+
export const OFFLINE_ACCESS_SCOPE = "offline_access";
|
|
31
37
|
/** Tolerated clock skew between the provider and this host, in seconds. */
|
|
32
38
|
export const CLOCK_TOLERANCE_SECONDS = 60;
|
|
33
39
|
/** Well-known path of the protected-resource metadata, without and with the endpoint path (RFC 9728 §3.1). */
|
|
@@ -102,11 +108,11 @@ export class OAuthVerifier {
|
|
|
102
108
|
if (options.getKey)
|
|
103
109
|
this.keyResolver = options.getKey;
|
|
104
110
|
}
|
|
105
|
-
/** RFC 9728 protected-resource metadata document. */
|
|
106
|
-
protectedResourceMetadata() {
|
|
111
|
+
/** RFC 9728 protected-resource metadata document; `authorizationServer` overrides the issuer (token-proxy facade). */
|
|
112
|
+
protectedResourceMetadata(authorizationServer = this.config.issuer) {
|
|
107
113
|
const doc = {
|
|
108
114
|
resource: this.config.publicUrl,
|
|
109
|
-
authorization_servers: [
|
|
115
|
+
authorization_servers: [authorizationServer],
|
|
110
116
|
bearer_methods_supported: ["header"],
|
|
111
117
|
};
|
|
112
118
|
if (this.config.scopes.length > 0)
|
|
@@ -180,30 +186,43 @@ export class OAuthVerifier {
|
|
|
180
186
|
async discoverJwks() {
|
|
181
187
|
if (this.config.jwksUri)
|
|
182
188
|
return this.config.jwksUri;
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
189
|
+
try {
|
|
190
|
+
const doc = await discoverMetadata(this.config.issuer, this.fetchImpl);
|
|
191
|
+
return doc.jwks_uri;
|
|
192
|
+
}
|
|
193
|
+
catch (err) {
|
|
194
|
+
throw new OAuthError("invalid_token", `${err instanceof Error ? err.message : String(err)}; set GIZMOSQL_MCP_OAUTH_JWKS_URI to skip discovery`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Fetches the provider's discovery document (OpenID Connect first, then RFC
|
|
200
|
+
* 8414). The document must name the configured issuer and a jwks_uri.
|
|
201
|
+
*/
|
|
202
|
+
export async function discoverMetadata(issuer, fetchImpl = fetch) {
|
|
203
|
+
const errors = [];
|
|
204
|
+
for (const url of discoveryUrls(issuer)) {
|
|
205
|
+
try {
|
|
206
|
+
const res = await fetchImpl(url, { headers: { accept: "application/json" }, signal: AbortSignal.timeout(10000) });
|
|
207
|
+
if (!res.ok) {
|
|
208
|
+
errors.push(`${url}: HTTP ${res.status}`);
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
const doc = (await res.json());
|
|
212
|
+
if (typeof doc.jwks_uri !== "string" || doc.jwks_uri === "") {
|
|
213
|
+
errors.push(`${url}: no jwks_uri`);
|
|
214
|
+
continue;
|
|
201
215
|
}
|
|
202
|
-
|
|
203
|
-
errors.push(`${url}: ${
|
|
216
|
+
if (typeof doc.issuer === "string" && doc.issuer.replace(/\/+$/u, "") !== issuer.replace(/\/+$/u, "")) {
|
|
217
|
+
errors.push(`${url}: issuer ${doc.issuer} does not match ${issuer}`);
|
|
218
|
+
continue;
|
|
204
219
|
}
|
|
220
|
+
return doc;
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
errors.push(`${url}: ${err instanceof Error ? err.message : String(err)}`);
|
|
205
224
|
}
|
|
206
|
-
throw new OAuthError("invalid_token", `OAuth discovery failed for ${this.config.issuer} (${errors.join("; ")}); set GIZMOSQL_MCP_OAUTH_JWKS_URI to skip discovery`);
|
|
207
225
|
}
|
|
226
|
+
throw new Error(`OAuth discovery failed for ${issuer} (${errors.join("; ")})`);
|
|
208
227
|
}
|
|
209
228
|
//# sourceMappingURL=oauth.js.map
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,oCAAoC;AACpC,yDAAyD;AACzD,qEAAqE;AACrE,2EAA2E;AAC3E,8DAA8D;AAC9D,+DAA+D;AAC/D,wEAAwE;AACxE,kDAAkD;AAClD,EAAE;AACF,oEAAoE;AACpE,yEAAyE;AAEzE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAyC,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/transports.js
CHANGED
|
@@ -4,7 +4,8 @@ import * as http from "node:http";
|
|
|
4
4
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
5
5
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
6
6
|
import { redactSecrets } from "./connection.js";
|
|
7
|
-
import { OAuthError, OAuthVerifier, protectedResourceMetadataPaths } from "./oauth.js";
|
|
7
|
+
import { OAuthError, OAuthVerifier, OFFLINE_ACCESS_SCOPE, protectedResourceMetadataPaths } from "./oauth.js";
|
|
8
|
+
import { OAuthFacade, facadeMetadataPaths, facadeTokenPath } from "./oauth-facade.js";
|
|
8
9
|
import { ConnectionRegistry } from "./registry.js";
|
|
9
10
|
import { createServer } from "./server.js";
|
|
10
11
|
import { SessionStore } from "./sessions.js";
|
|
@@ -133,6 +134,12 @@ export async function startHttp(config, options) {
|
|
|
133
134
|
// Used only for redacting log lines; secrets are the same in every registry.
|
|
134
135
|
const redact = (t) => redactSecrets(t, sharedRegistry ? sharedRegistry.secrets() : config.connections.flatMap((c) => [c.password]));
|
|
135
136
|
const metadataPaths = new Set(oauth ? protectedResourceMetadataPaths(oauth.publicUrl) : []);
|
|
137
|
+
// Token-proxy facade: Claude is pointed at this server's copy of the
|
|
138
|
+
// provider metadata so refresh_token grants pass through handleToken.
|
|
139
|
+
const facade = oauth && verifier && oauth.tokenProxy
|
|
140
|
+
? new OAuthFacade({ publicUrl: oauth.publicUrl, upstreamIssuer: oauth.issuer, scopes: oauth.scopes }, { log })
|
|
141
|
+
: undefined;
|
|
142
|
+
const facadePaths = new Set(facade ? facadeMetadataPaths() : []);
|
|
136
143
|
const authorize = async (req) => {
|
|
137
144
|
if (verifier) {
|
|
138
145
|
try {
|
|
@@ -170,9 +177,20 @@ export async function startHttp(config, options) {
|
|
|
170
177
|
return;
|
|
171
178
|
}
|
|
172
179
|
res.writeHead(200, { "content-type": "application/json", "cache-control": "public, max-age=300" });
|
|
173
|
-
res.end(JSON.stringify(verifier.protectedResourceMetadata()));
|
|
180
|
+
res.end(JSON.stringify(verifier.protectedResourceMetadata(facade?.issuer)));
|
|
174
181
|
return;
|
|
175
182
|
}
|
|
183
|
+
if (facade) {
|
|
184
|
+
const path = url.pathname.replace(/\/+$/u, "");
|
|
185
|
+
if (facadePaths.has(path)) {
|
|
186
|
+
await facade.handleMetadata(req, res);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (path === facadeTokenPath()) {
|
|
190
|
+
await facade.handleToken(req, res);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
176
194
|
if (url.pathname !== "/mcp") {
|
|
177
195
|
res.writeHead(404, { "content-type": "text/plain" });
|
|
178
196
|
res.end("Not found. The MCP endpoint is /mcp.");
|
|
@@ -199,8 +217,9 @@ export async function startHttp(config, options) {
|
|
|
199
217
|
headers["www-authenticate"] = auth.challenge;
|
|
200
218
|
res.writeHead(auth.status, headers);
|
|
201
219
|
res.end(JSON.stringify({ error: auth.error, error_description: auth.description }));
|
|
202
|
-
|
|
203
|
-
|
|
220
|
+
// 401s are logged too: an expired token with no refresh token behind it
|
|
221
|
+
// looks, from the client, like the connector silently dying.
|
|
222
|
+
log(`[gizmosql-mcp] ${auth.status === 403 ? "forbidden" : "unauthorized"}: ${auth.description}`);
|
|
204
223
|
return;
|
|
205
224
|
}
|
|
206
225
|
let parsedBody;
|
|
@@ -268,13 +287,22 @@ export async function startHttp(config, options) {
|
|
|
268
287
|
const addr = httpServer.address();
|
|
269
288
|
const shown = typeof addr === "object" && addr ? `${addr.address}:${addr.port}` : `${options.host}:${options.port}`;
|
|
270
289
|
const authMode = verifier
|
|
271
|
-
? `oauth ${verifier.config.issuer}, per-user sessions (idle ${config.mcpSessionIdleSeconds}s, max ${config.mcpMaxSessions})`
|
|
290
|
+
? `oauth ${verifier.config.issuer}${facade ? ` via token proxy ${facade.issuer}` : ""}, per-user sessions (idle ${config.mcpSessionIdleSeconds}s, max ${config.mcpMaxSessions})`
|
|
272
291
|
: bearer
|
|
273
292
|
? "bearer"
|
|
274
293
|
: "none";
|
|
275
294
|
log(`[gizmosql-mcp] ${PACKAGE_NAME} ${PACKAGE_VERSION} listening on http://${shown}/mcp ` +
|
|
276
295
|
`(${describeTargets(config)}, writes ${config.allowWrites ? "enabled" : "disabled"}, ` +
|
|
277
296
|
`auth ${authMode})`);
|
|
297
|
+
if (verifier && !facade && /(^|\.)login\.microsoftonline\.com$/u.test(new URL(verifier.config.issuer).hostname)) {
|
|
298
|
+
log("[gizmosql-mcp] warning: Microsoft Entra ID rejects Claude's refresh_token requests unless the API scope is " +
|
|
299
|
+
"re-sent (AADSTS90009); set GIZMOSQL_MCP_OAUTH_TOKEN_PROXY=true or users must reconnect every hour");
|
|
300
|
+
}
|
|
301
|
+
if (verifier && !verifier.config.scopes.includes(OFFLINE_ACCESS_SCOPE)) {
|
|
302
|
+
log(`[gizmosql-mcp] warning: GIZMOSQL_MCP_OAUTH_SCOPES does not include ${OFFLINE_ACCESS_SCOPE}; ` +
|
|
303
|
+
"providers such as Microsoft Entra ID then issue no refresh token, and clients lose access " +
|
|
304
|
+
"when the access token expires (about an hour) until the user reconnects the connector");
|
|
305
|
+
}
|
|
278
306
|
return httpServer;
|
|
279
307
|
}
|
|
280
308
|
//# sourceMappingURL=transports.js.map
|
package/dist/transports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transports.js","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transports.js","sourceRoot":"","sources":["../src/transports.ts"],"names":[],"mappings":"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"}
|