@aauth/mcp-stdio 0.1.3 → 0.1.5

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/cli.js CHANGED
@@ -1,19 +1,50 @@
1
1
  #!/usr/bin/env node
2
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
3
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
4
- import { createSignedFetch } from '@aauth/mcp-agent';
4
+ import { createAAuthFetch } from '@aauth/mcp-agent';
5
5
  import { createAgentToken } from '@aauth/local-keys';
6
+ import open from 'open';
6
7
  import { parseArgs } from './args.js';
7
8
  import { bridgeTransports } from './proxy.js';
8
9
  const { serverUrl, agentUrl, delegate, tokenLifetime } = parseArgs(process.argv);
9
- const getKeyMaterial = () => createAgentToken({
10
- agentUrl,
11
- delegate: delegate ?? 'claude',
12
- tokenLifetime,
10
+ const innerFetch = createAAuthFetch({
11
+ getKeyMaterial: () => createAgentToken({
12
+ agentUrl,
13
+ delegate: delegate ?? 'claude',
14
+ tokenLifetime,
15
+ }),
16
+ onInteraction: (code, interactionEndpoint) => {
17
+ const url = `${interactionEndpoint}?code=${code}`;
18
+ console.error(`[aauth-stdio] Opening browser for consent: ${url}`);
19
+ open(url);
20
+ },
13
21
  });
14
- const signedFetch = createSignedFetch(getKeyMaterial);
22
+ // Serialize requests that trigger auth — createAAuthFetch has no internal mutex,
23
+ // so concurrent 401s would each open a browser tab. This wrapper ensures only one
24
+ // auth flow runs at a time; others wait then retry with the cached token.
25
+ let authInFlight = null;
26
+ const aAuthFetch = async (url, init) => {
27
+ const method = init?.method ?? 'GET';
28
+ // Only serialize POST requests — GET (SSE) is long-lived and must not block
29
+ if (method !== 'POST') {
30
+ return innerFetch(url, init);
31
+ }
32
+ if (authInFlight) {
33
+ await authInFlight;
34
+ return innerFetch(url, init);
35
+ }
36
+ let resolve;
37
+ authInFlight = new Promise((r) => { resolve = r; });
38
+ try {
39
+ return await innerFetch(url, init);
40
+ }
41
+ finally {
42
+ authInFlight = null;
43
+ resolve();
44
+ }
45
+ };
15
46
  const remote = new StreamableHTTPClientTransport(new URL(serverUrl), {
16
- fetch: signedFetch,
47
+ fetch: aAuthFetch,
17
48
  });
18
49
  const local = new StdioServerTransport();
19
50
  bridgeTransports(local, remote).catch((err) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhF,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,gBAAgB,CAAC;IACf,QAAQ;IACR,QAAQ,EAAE,QAAQ,IAAI,QAAQ;IAC9B,aAAa;CACd,CAAC,CAAA;AAEJ,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAErD,MAAM,MAAM,GAAG,IAAI,6BAA6B,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE;IACnE,KAAK,EAAE,WAAW;CACnB,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAA;AAExC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC5C,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhF,MAAM,UAAU,GAAG,gBAAgB,CAAC;IAClC,cAAc,EAAE,GAAG,EAAE,CACnB,gBAAgB,CAAC;QACf,QAAQ;QACR,QAAQ,EAAE,QAAQ,IAAI,QAAQ;QAC9B,aAAa;KACd,CAAC;IACJ,aAAa,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,GAAG,mBAAmB,SAAS,IAAI,EAAE,CAAA;QACjD,OAAO,CAAC,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,GAAG,CAAC,CAAA;IACX,CAAC;CACF,CAAC,CAAA;AAEF,iFAAiF;AACjF,kFAAkF;AAClF,0EAA0E;AAC1E,IAAI,YAAY,GAAyB,IAAI,CAAA;AAC7C,MAAM,UAAU,GAAsB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACxD,MAAM,MAAM,GAAI,IAAoB,EAAE,MAAM,IAAI,KAAK,CAAA;IAErD,4EAA4E;IAC5E,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAA;QAClB,OAAO,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,IAAI,OAAmB,CAAA;IACvB,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;YAAS,CAAC;QACT,YAAY,GAAG,IAAI,CAAA;QACnB,OAAQ,EAAE,CAAA;IACZ,CAAC;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,IAAI,6BAA6B,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE;IACnE,KAAK,EAAE,UAAU;CAClB,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAA;AAExC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC5C,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAE9E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CAgCf"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAG9E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
package/dist/proxy.js CHANGED
@@ -2,6 +2,17 @@ export async function bridgeTransports(local, remote) {
2
2
  local.onmessage = (message) => {
3
3
  remote.send(message).catch((err) => {
4
4
  console.error('Error forwarding to remote:', err);
5
+ // Send JSON-RPC error back for requests (have an id) so the client
6
+ // gets a proper error instead of hanging until the connection dies.
7
+ const msg = message;
8
+ if (msg.id !== undefined) {
9
+ const errorResponse = {
10
+ jsonrpc: '2.0',
11
+ error: { code: -32001, message: `${err.message || err}` },
12
+ id: msg.id,
13
+ };
14
+ local.send(errorResponse).catch(() => { });
15
+ }
5
16
  });
6
17
  };
7
18
  remote.onmessage = (message) => {
@@ -21,7 +32,9 @@ export async function bridgeTransports(local, remote) {
21
32
  };
22
33
  remote.onerror = (err) => {
23
34
  console.error('Remote transport error:', err);
24
- local.close().catch(() => { });
35
+ // Don't close local on remote errors — individual request failures
36
+ // are handled by sending JSON-RPC errors back. Only close if the
37
+ // transport itself is permanently broken (handled by onclose).
25
38
  };
26
39
  await Promise.all([local.start(), remote.start()]);
27
40
  }
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAgB,EAChB,MAAiB;IAEjB,KAAK,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;IAED,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;QACpB,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;QAC5C,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;IAED,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;QACvB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;QAC7C,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAgB,EAChB,MAAiB;IAEjB,KAAK,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;YACjD,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,GAAG,GAAG,OAA4C,CAAA;YACxD,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,aAAa,GAAmB;oBACpC,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE;oBACzD,EAAE,EAAE,GAAG,CAAC,EAAY;iBACrB,CAAA;gBACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,EAAE;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;IAED,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;QACpB,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;QAC5C,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAChC,CAAC,CAAA;IAED,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;QACvB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;QAC7C,mEAAmE;QACnE,iEAAiE;QACjE,+DAA+D;IACjE,CAAC,CAAA;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACpD,CAAC"}
@@ -49,10 +49,10 @@ describe('bridgeTransports', () => {
49
49
  local.onerror(new Error('local broke'));
50
50
  expect(remote.close).toHaveBeenCalledOnce();
51
51
  });
52
- it('closes local on remote error', async () => {
52
+ it('does not close local on remote error', async () => {
53
53
  await bridgeTransports(local, remote);
54
54
  remote.onerror(new Error('remote broke'));
55
- expect(local.close).toHaveBeenCalledOnce();
55
+ expect(local.close).not.toHaveBeenCalled();
56
56
  });
57
57
  });
58
58
  //# sourceMappingURL=proxy.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.test.js","sourceRoot":"","sources":["../src/proxy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.test.js","sourceRoot":"","sources":["../src/proxy.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aauth/mcp-stdio",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Stdio-to-HTTP proxy for MCP with AAuth signatures",
5
5
  "type": "module",
6
6
  "exports": {
@@ -37,9 +37,10 @@
37
37
  "directory": "mcp-stdio"
38
38
  },
39
39
  "dependencies": {
40
- "@aauth/mcp-agent": "^0.1.0",
41
40
  "@aauth/local-keys": "^0.1.0",
42
- "@modelcontextprotocol/sdk": "^1.15.1"
41
+ "@aauth/mcp-agent": "^0.1.0",
42
+ "@modelcontextprotocol/sdk": "^1.15.1",
43
+ "open": "^11.0.0"
43
44
  },
44
45
  "devDependencies": {
45
46
  "@types/node": "^20.0.0",