@briefgate/mcp 0.7.4 → 0.7.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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export type LoginOutcome = {
2
+ ok: true;
3
+ apiKey: string;
4
+ keyId: string;
5
+ accountName: string;
6
+ scopes: string[];
7
+ } | {
8
+ ok: false;
9
+ reason: 'expired' | 'consumed' | 'denied' | 'unknown_code' | 'timeout' | 'error';
10
+ detail?: string;
11
+ };
12
+ export interface LoginArgs {
13
+ baseUrl: string;
14
+ clientName: string;
15
+ }
16
+ export interface LoginResult {
17
+ text: string;
18
+ /** Set only on the call that observes success — lets the caller (tools.ts)
19
+ * update its own in-memory BriefGateConfig without waiting for a restart. */
20
+ apiKey?: string;
21
+ }
22
+ /**
23
+ * Starts (or checks on) a device-authorization login for `baseUrl`.
24
+ * Never throws — failures come back as text explaining what happened.
25
+ */
26
+ export declare function login({ baseUrl, clientName }: LoginArgs): Promise<LoginResult>;
27
+ export interface LoginBlockingResult {
28
+ ok: boolean;
29
+ /** One-line summary for stdout/stderr — success message or failure reason. */
30
+ text: string;
31
+ apiKey?: string;
32
+ }
33
+ /**
34
+ * Runs the whole device-authorization flow to completion, blocking until it
35
+ * resolves (or times out at 10 minutes). `onCode` fires once, as soon as the
36
+ * code is known, so the caller can print it and open the browser before this
37
+ * promise settles. Independent of the `login()` in-flight map above.
38
+ */
39
+ export declare function loginBlocking({ baseUrl, clientName }: LoginArgs, onCode: (info: {
40
+ userCode: string;
41
+ verificationUriComplete: string;
42
+ }) => void): Promise<LoginBlockingResult>;
43
+ /**
44
+ * Removes the locally stored key for `baseUrl` and best-effort revokes it on
45
+ * the server. A network failure while revoking never blocks the local
46
+ * removal — the caller is told to revoke it from the dashboard instead.
47
+ */
48
+ export declare function logout(baseUrl: string): Promise<string>;
49
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAClF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA4HrH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;kFAC8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAgDpF;AAID,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAClC,MAAM,EAAE,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,uBAAuB,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GAC5E,OAAO,CAAC,mBAAmB,CAAC,CAkB9B;AAID;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe7D"}
package/dist/login.js ADDED
@@ -0,0 +1,205 @@
1
+ // Backs both the `login`/`logout` MCP tools and the `login`/`logout` CLI
2
+ // subcommands — same functions, two presentations:
3
+ //
4
+ // - `login()` is two-phase, for an MCP tool call: a human clicking Allow in
5
+ // a browser can take minutes, longer than most MCP clients let one tool
6
+ // call block, so the first call starts the flow and returns immediately;
7
+ // a later call (prompted by the tool's own description) picks up
8
+ // whatever a background poll loop has found by then.
9
+ // - `loginBlocking()` is for the CLI: a terminal command can just block
10
+ // until the flow finishes, so it prints the code once and waits.
11
+ //
12
+ // Both format their own prose from the same structured LoginOutcome, so the
13
+ // state machine (device-auth.ts's status values, retry/backoff, timeout)
14
+ // lives in exactly one place: runPolling below.
15
+ import { spawn } from 'node:child_process';
16
+ import { startDeviceAuth, pollDeviceAuth, revokeCurrentKey } from './device-auth.js';
17
+ import { saveCredential, loadCredential, deleteCredential } from './credentials.js';
18
+ function sleep(ms) {
19
+ return new Promise((resolve) => setTimeout(resolve, ms));
20
+ }
21
+ function openBrowser(url) {
22
+ const platform = process.platform;
23
+ const [cmd, args] = platform === 'darwin'
24
+ ? ['open', [url]]
25
+ : platform === 'win32'
26
+ ? ['cmd', ['/c', 'start', '', url]]
27
+ : ['xdg-open', [url]];
28
+ // The URL is already printed; a browser is a convenience. A missing opener
29
+ // surfaces as an 'error' event on the child, which would crash the process
30
+ // if nobody listened.
31
+ try {
32
+ const child = spawn(cmd, args, { detached: true, stdio: 'ignore' });
33
+ child.on('error', (err) => {
34
+ console.error(`[briefgate] could not open a browser (${err.message}); open the URL yourself.`);
35
+ });
36
+ child.unref();
37
+ }
38
+ catch (err) {
39
+ console.error(`[briefgate] could not open a browser (${err.message}); open the URL yourself.`);
40
+ }
41
+ }
42
+ async function runPolling(baseUrl, deviceCode, intervalSec, expiresInSec) {
43
+ const deadline = Date.now() + expiresInSec * 1000;
44
+ let interval = intervalSec;
45
+ while (Date.now() < deadline) {
46
+ await sleep(interval * 1000);
47
+ let outcome;
48
+ try {
49
+ outcome = await pollDeviceAuth(baseUrl, deviceCode);
50
+ }
51
+ catch (err) {
52
+ // A blip on the network is not a decision; keep waiting for one.
53
+ console.error(`[briefgate] sign-in check failed, retrying: ${err.message}`);
54
+ continue;
55
+ }
56
+ switch (outcome.status) {
57
+ case 'success':
58
+ saveCredential(baseUrl, {
59
+ api_key: outcome.result.api_key,
60
+ key_id: outcome.result.key_id,
61
+ account_name: outcome.result.account_name,
62
+ saved_at: new Date().toISOString(),
63
+ });
64
+ return {
65
+ ok: true,
66
+ apiKey: outcome.result.api_key,
67
+ keyId: outcome.result.key_id,
68
+ accountName: outcome.result.account_name,
69
+ scopes: outcome.result.scopes,
70
+ };
71
+ case 'pending':
72
+ continue;
73
+ case 'slow_down':
74
+ // Honor the server's Retry-After when it sends one; otherwise just
75
+ // double, per RFC 8628.
76
+ interval = outcome.retryAfterSeconds ?? interval * 2;
77
+ continue;
78
+ case 'expired':
79
+ return { ok: false, reason: 'expired' };
80
+ case 'consumed':
81
+ return { ok: false, reason: 'consumed' };
82
+ case 'denied':
83
+ return { ok: false, reason: 'denied' };
84
+ case 'unknown_code':
85
+ return { ok: false, reason: 'unknown_code' };
86
+ }
87
+ }
88
+ return { ok: false, reason: 'timeout' };
89
+ }
90
+ function describeForTool(outcome) {
91
+ if (outcome.ok) {
92
+ return `Signed in as ${outcome.accountName} (key ${outcome.keyId}, scopes: ${outcome.scopes.join(', ')}).`;
93
+ }
94
+ switch (outcome.reason) {
95
+ case 'expired':
96
+ return 'The sign-in code expired before it was approved. Call `login` again to get a new one.';
97
+ case 'consumed':
98
+ return 'This sign-in code was already used. Call `login` again to get a new one.';
99
+ case 'denied':
100
+ return 'Sign-in was denied in the browser. Call `login` again to try once more.';
101
+ case 'unknown_code':
102
+ return 'The sign-in code was not recognized by the server. Call `login` again to get a new one.';
103
+ case 'timeout':
104
+ return 'Timed out waiting for approval (10 minutes). Call `login` again to get a new code.';
105
+ case 'error':
106
+ return `Sign-in failed: ${outcome.detail}`;
107
+ }
108
+ }
109
+ // Keyed by base URL: this process only ever needs one login in flight per
110
+ // BriefGate deployment it talks to (production vs. a staging BRIEFGATE_BASE_URL).
111
+ // Independent of loginBlocking() below, so a CLI `login` and an agent's
112
+ // `login` tool call never interfere with each other.
113
+ const inFlight = new Map();
114
+ /**
115
+ * Starts (or checks on) a device-authorization login for `baseUrl`.
116
+ * Never throws — failures come back as text explaining what happened.
117
+ */
118
+ export async function login({ baseUrl, clientName }) {
119
+ const existing = inFlight.get(baseUrl);
120
+ if (existing) {
121
+ if (existing.settled && existing.outcome) {
122
+ inFlight.delete(baseUrl);
123
+ const outcome = existing.outcome;
124
+ return { text: describeForTool(outcome), apiKey: outcome.ok ? outcome.apiKey : undefined };
125
+ }
126
+ if (!existing.settled) {
127
+ return {
128
+ text: `Still waiting for approval of code ${existing.userCode}. Open ${existing.verificationUriComplete} if you haven't, then call \`login\` again to check.`,
129
+ };
130
+ }
131
+ }
132
+ let start;
133
+ try {
134
+ start = await startDeviceAuth(baseUrl, clientName);
135
+ }
136
+ catch (err) {
137
+ return { text: err instanceof Error ? err.message : String(err) };
138
+ }
139
+ const entry = {
140
+ userCode: start.user_code,
141
+ verificationUriComplete: start.verification_uri_complete,
142
+ settled: false,
143
+ promise: Promise.resolve({ ok: false, reason: 'error' }), // placeholder, replaced immediately below
144
+ };
145
+ entry.promise = runPolling(baseUrl, start.device_code, start.interval, start.expires_in)
146
+ .catch((err) => ({
147
+ ok: false,
148
+ reason: 'error',
149
+ detail: err instanceof Error ? err.message : String(err),
150
+ }))
151
+ .then((outcome) => {
152
+ entry.settled = true;
153
+ entry.outcome = outcome;
154
+ return outcome;
155
+ });
156
+ inFlight.set(baseUrl, entry);
157
+ openBrowser(start.verification_uri_complete);
158
+ return {
159
+ text: `Open ${start.verification_uri_complete} and confirm code ${start.user_code}. I'll wait up to 10 minutes — call \`login\` again once you've approved it, or any time to check progress.`,
160
+ };
161
+ }
162
+ /**
163
+ * Runs the whole device-authorization flow to completion, blocking until it
164
+ * resolves (or times out at 10 minutes). `onCode` fires once, as soon as the
165
+ * code is known, so the caller can print it and open the browser before this
166
+ * promise settles. Independent of the `login()` in-flight map above.
167
+ */
168
+ export async function loginBlocking({ baseUrl, clientName }, onCode) {
169
+ const start = await startDeviceAuth(baseUrl, clientName);
170
+ onCode({ userCode: start.user_code, verificationUriComplete: start.verification_uri_complete });
171
+ openBrowser(start.verification_uri_complete);
172
+ const outcome = await runPolling(baseUrl, start.device_code, start.interval, start.expires_in);
173
+ if (outcome.ok) {
174
+ return { ok: true, text: `Signed in as ${outcome.accountName}.`, apiKey: outcome.apiKey };
175
+ }
176
+ const reasonText = {
177
+ expired: 'The sign-in code expired before it was approved.',
178
+ consumed: 'This sign-in code was already used.',
179
+ denied: 'Sign-in was denied.',
180
+ unknown_code: 'The sign-in code was not recognized by the server.',
181
+ timeout: 'Timed out waiting for approval (10 minutes).',
182
+ error: outcome.detail ?? 'Sign-in failed.',
183
+ };
184
+ return { ok: false, text: reasonText[outcome.reason] };
185
+ }
186
+ // ─── logout() — shared by the MCP tool and the CLI subcommand ─────────────────
187
+ /**
188
+ * Removes the locally stored key for `baseUrl` and best-effort revokes it on
189
+ * the server. A network failure while revoking never blocks the local
190
+ * removal — the caller is told to revoke it from the dashboard instead.
191
+ */
192
+ export async function logout(baseUrl) {
193
+ inFlight.delete(baseUrl);
194
+ const existing = loadCredential(baseUrl);
195
+ if (!existing) {
196
+ return `No locally stored key for ${baseUrl} — nothing to do.`;
197
+ }
198
+ const revoked = await revokeCurrentKey(baseUrl, existing.api_key);
199
+ deleteCredential(baseUrl);
200
+ if (revoked === 'failed') {
201
+ return `Signed out of ${baseUrl} locally. Key could not be revoked remotely; revoke it on the keys page.`;
202
+ }
203
+ return `Signed out of ${baseUrl} and revoked the key.`;
204
+ }
205
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -92,7 +92,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
92
92
  rationale?: string | undefined;
93
93
  }>>;
94
94
  }, "strict", z.ZodTypeAny, {
95
- type: "boolean" | "text" | "longtext" | "file" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
95
+ type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
96
96
  label: string;
97
97
  key: string;
98
98
  assignee: "client" | "owner";
@@ -122,7 +122,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
122
122
  rationale?: string | undefined;
123
123
  } | undefined;
124
124
  }, {
125
- type: "boolean" | "text" | "longtext" | "file" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
125
+ type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
126
126
  label: string;
127
127
  key: string;
128
128
  options?: {
@@ -152,7 +152,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
152
152
  rationale?: string | undefined;
153
153
  } | undefined;
154
154
  }>, {
155
- type: "boolean" | "text" | "longtext" | "file" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
155
+ type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
156
156
  label: string;
157
157
  key: string;
158
158
  assignee: "client" | "owner";
@@ -182,7 +182,7 @@ export declare const itemDefinitionSchema: z.ZodEffects<z.ZodObject<{
182
182
  rationale?: string | undefined;
183
183
  } | undefined;
184
184
  }, {
185
- type: "boolean" | "text" | "longtext" | "file" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
185
+ type: "boolean" | "file" | "text" | "longtext" | "file_list" | "image" | "color_list" | "select" | "multiselect" | "url" | "secret" | "structured";
186
186
  label: string;
187
187
  key: string;
188
188
  options?: {
@@ -1079,6 +1079,62 @@ export declare const TOOLS: ({
1079
1079
  };
1080
1080
  required: string[];
1081
1081
  };
1082
+ } | {
1083
+ name: string;
1084
+ title: string;
1085
+ annotations: {
1086
+ title: string;
1087
+ readOnlyHint: boolean;
1088
+ destructiveHint: boolean;
1089
+ idempotentHint: boolean;
1090
+ openWorldHint: boolean;
1091
+ };
1092
+ description: string;
1093
+ inputSchema: {
1094
+ type: "object";
1095
+ properties: {
1096
+ project_name?: undefined;
1097
+ client?: undefined;
1098
+ due_date?: undefined;
1099
+ branding?: undefined;
1100
+ chase_schedule?: undefined;
1101
+ chase_interval?: undefined;
1102
+ chase_interval_unit?: undefined;
1103
+ respect_quiet_hours?: undefined;
1104
+ max_reminders?: undefined;
1105
+ email_copy?: undefined;
1106
+ chase_at_time?: undefined;
1107
+ items?: undefined;
1108
+ template?: undefined;
1109
+ auto_approve_hours?: undefined;
1110
+ retention?: undefined;
1111
+ send?: undefined;
1112
+ intake_id?: undefined;
1113
+ only_new?: undefined;
1114
+ include_pending?: undefined;
1115
+ item_key?: undefined;
1116
+ note?: undefined;
1117
+ channel?: undefined;
1118
+ status?: undefined;
1119
+ client_email?: undefined;
1120
+ limit?: undefined;
1121
+ offset?: undefined;
1122
+ type?: undefined;
1123
+ label?: undefined;
1124
+ help?: undefined;
1125
+ required?: undefined;
1126
+ constraints?: undefined;
1127
+ options?: undefined;
1128
+ pattern?: undefined;
1129
+ discard_submitted_value?: undefined;
1130
+ action?: undefined;
1131
+ url?: undefined;
1132
+ events?: undefined;
1133
+ format?: undefined;
1134
+ webhook_id?: undefined;
1135
+ };
1136
+ required?: undefined;
1137
+ };
1082
1138
  })[];
1083
1139
  export interface ToolResult {
1084
1140
  text: string;
@@ -1093,5 +1149,9 @@ export declare function callListIntakes(config: BriefGateConfig, args: unknown):
1093
1149
  export declare function callAddItems(config: BriefGateConfig, args: unknown): Promise<ToolResult>;
1094
1150
  export declare function callUpdateItem(config: BriefGateConfig, args: unknown): Promise<ToolResult>;
1095
1151
  export declare function callManageWebhook(config: BriefGateConfig, args: unknown): Promise<ToolResult>;
1096
- export declare function executeTool(name: string, config: BriefGateConfig, args: unknown): Promise<ToolResult>;
1152
+ export interface ToolContext {
1153
+ /** MCP client name from `initialize`, used only to label the login device. */
1154
+ clientName?: string;
1155
+ }
1156
+ export declare function executeTool(name: string, config: BriefGateConfig, args: unknown, context?: ToolContext): Promise<ToolResult>;
1097
1157
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -1,9 +1,11 @@
1
- // Tool definitions, Zod validation, and execute functions for all 9 BriefGate MCP tools.
1
+ // Tool definitions, Zod validation, and execute functions for all 11 BriefGate MCP tools.
2
2
  // TOOLS is the JSON-schema array sent to the MCP client in ListTools.
3
3
  // executeTool dispatches CallTool requests to typed execute functions.
4
4
  import { z } from 'zod';
5
5
  import { createHash } from 'node:crypto';
6
+ import { hostname } from 'node:os';
6
7
  import { createIntake, listIntakes, getIntakeStatus, getIntakeResults, addItems, updateItem, requestRevision, sendChase, listWebhooks, createWebhook, deleteWebhook, } from './client.js';
8
+ import { login, logout } from './login.js';
7
9
  // ─── Shared Zod schemas (exported for testing) ────────────────────────────────
8
10
  // Mirrors the server's own pattern (server/src/schemas.ts) so a bad timezone
9
11
  // is rejected here, in the same shape, instead of only surfacing as a 422
@@ -874,6 +876,52 @@ Events: intake.completed (all required items in — the one to act on), item.sub
874
876
  required: ['action'],
875
877
  },
876
878
  },
879
+ {
880
+ name: 'login',
881
+ title: 'Sign in to BriefGate',
882
+ // Not idempotent: a call while nothing is stored starts a brand new
883
+ // device-authorization flow (a new code) rather than returning the same
884
+ // result twice, and one call after the code was approved actually mutates
885
+ // local state — it writes the credentials file.
886
+ annotations: {
887
+ title: 'Sign in to BriefGate',
888
+ readOnlyHint: false,
889
+ destructiveHint: false,
890
+ idempotentHint: false,
891
+ openWorldHint: true,
892
+ },
893
+ description: `Sign in without pasting an API key, the same way \`snyk_auth\` works: this opens a browser page where a human approves this device, then stores the issued key locally.
894
+
895
+ Call this whenever a tool reports "Not signed in" or that the stored key was revoked or expired.
896
+
897
+ This is a TWO-PHASE tool because approval can take minutes — longer than a single tool call should block for:
898
+ 1. The first call starts the sign-in and returns immediately with a URL and a short code (e.g. "WDJB-MJHT"). Tell the user to open the URL and confirm the code; a browser is also opened automatically when possible.
899
+ 2. Call \`login\` again (no arguments change) to check progress. While the human hasn't approved yet, it replies that it's still waiting. Once approved, the same call reports success and the key is saved — no further action needed, other tools start working immediately.
900
+
901
+ Do not wait silently for minutes on one call — call this tool again after telling the user to approve, and again if they say they've clicked Allow.
902
+
903
+ Has no effect if a key is already supplied via the \`--api-key\` flag or the \`BRIEFGATE_API_KEY\` environment variable — those always take priority over a locally stored one, so this tool says so instead of running the flow. Not available when this server is running as the shared hosted endpoint (mcp.briefgate.dev): there, connecting a client already triggers OAuth automatically.`,
904
+ inputSchema: {
905
+ type: 'object',
906
+ properties: {},
907
+ },
908
+ },
909
+ {
910
+ name: 'logout',
911
+ title: 'Sign out of BriefGate',
912
+ annotations: {
913
+ title: 'Sign out of BriefGate',
914
+ readOnlyHint: false,
915
+ destructiveHint: true,
916
+ idempotentHint: true,
917
+ openWorldHint: true,
918
+ },
919
+ description: 'Remove the API key `login` stored locally for this BriefGate server, and best-effort revoke it on the server too (a `DELETE /v1/keys/current` call using that same key). If the revoke call fails — no network, the API is unreachable — the local copy is still removed; the response says so and points at the BriefGate dashboard to revoke it there instead. Not available when this server is running as the shared hosted endpoint.',
920
+ inputSchema: {
921
+ type: 'object',
922
+ properties: {},
923
+ },
924
+ },
877
925
  ];
878
926
  // ─── Idempotency key ──────────────────────────────────────────────────────────
879
927
  // Derive a stable key from project name + client email + a canonical hash of
@@ -1090,7 +1138,40 @@ export async function callManageWebhook(config, args) {
1090
1138
  }
1091
1139
  return { text: JSON.stringify(await listWebhooks(config), null, 2) };
1092
1140
  }
1093
- export async function executeTool(name, config, args) {
1141
+ // ─── login / logout ────────────────────────────────────────────────────────
1142
+ //
1143
+ // Unlike every other tool here, these never send the account's own API key
1144
+ // as a Bearer token (login talks to the unauthenticated device-authorization
1145
+ // endpoints; logout sends the key being revoked, not config.apiKey) — they
1146
+ // must work with no API key configured at all, that's the whole point.
1147
+ async function callLogin(config, context) {
1148
+ if (config.apiKeySource === 'flag' || config.apiKeySource === 'env' || config.apiKeySource === 'header') {
1149
+ const via = config.apiKeySource === 'flag'
1150
+ ? '--api-key'
1151
+ : config.apiKeySource === 'env'
1152
+ ? 'the BRIEFGATE_API_KEY environment variable'
1153
+ : 'the Authorization header this request was sent with';
1154
+ return {
1155
+ text: `An API key is already configured via ${via} — it always takes priority, so login would have no effect. Remove it first to sign in with a different account.`,
1156
+ };
1157
+ }
1158
+ const clientName = `${context.clientName ?? 'MCP client'} on ${hostname()}`;
1159
+ const result = await login({ baseUrl: config.baseUrl, clientName });
1160
+ if (result.apiKey) {
1161
+ // Update the shared config object in place so the very next tool call in
1162
+ // this same process picks up the new key immediately. Without this, a
1163
+ // long-running stdio session would report "Signed in" and then every
1164
+ // following tool call would still say "Not signed in" until restarted —
1165
+ // `login` saved the key to disk, but nothing had re-read it into memory.
1166
+ config.apiKey = result.apiKey;
1167
+ config.apiKeySource = 'file';
1168
+ }
1169
+ return { text: result.text };
1170
+ }
1171
+ async function callLogout(config) {
1172
+ return { text: await logout(config.baseUrl) };
1173
+ }
1174
+ export async function executeTool(name, config, args, context = {}) {
1094
1175
  switch (name) {
1095
1176
  case 'define_intake':
1096
1177
  return callDefineIntake(config, args);
@@ -1110,6 +1191,10 @@ export async function executeTool(name, config, args) {
1110
1191
  return callUpdateItem(config, args);
1111
1192
  case 'manage_webhook':
1112
1193
  return callManageWebhook(config, args);
1194
+ case 'login':
1195
+ return callLogin(config, context);
1196
+ case 'logout':
1197
+ return callLogout(config);
1113
1198
  default:
1114
1199
  return { text: `Unknown tool: ${name}`, isError: true };
1115
1200
  }