fluxmail 0.13.0 → 0.15.0
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/README.md +1 -1
- package/dist/accounts/googleAuth.d.ts.map +1 -1
- package/dist/accounts/googleAuth.js +7 -0
- package/dist/accounts/googleAuth.js.map +1 -1
- package/dist/accounts/microsoftAuth.d.ts.map +1 -1
- package/dist/accounts/microsoftAuth.js +4 -1
- package/dist/accounts/microsoftAuth.js.map +1 -1
- package/dist/accounts/registry.d.ts +1 -0
- package/dist/accounts/registry.d.ts.map +1 -1
- package/dist/accounts/registry.js +3 -2
- package/dist/accounts/registry.js.map +1 -1
- package/dist/accounts/telemetry.d.ts +6 -1
- package/dist/accounts/telemetry.d.ts.map +1 -1
- package/dist/accounts/telemetry.js +17 -0
- package/dist/accounts/telemetry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +137 -31
- package/dist/cli.js.map +1 -1
- package/dist/cliInstances.d.ts +16 -4
- package/dist/cliInstances.d.ts.map +1 -1
- package/dist/cliInstances.js +98 -15
- package/dist/cliInstances.js.map +1 -1
- package/dist/cliMail.d.ts +3 -1
- package/dist/cliMail.d.ts.map +1 -1
- package/dist/cliMail.js +8 -8
- package/dist/cliMail.js.map +1 -1
- package/dist/http/app.d.ts.map +1 -1
- package/dist/http/app.js +16 -1
- package/dist/http/app.js.map +1 -1
- package/dist/http/identity.d.ts.map +1 -1
- package/dist/http/identity.js +65 -10
- package/dist/http/identity.js.map +1 -1
- package/dist/http/rest.d.ts +1 -1
- package/dist/http/rest.d.ts.map +1 -1
- package/dist/http/rest.js +42 -9
- package/dist/http/rest.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/attachmentContent.d.ts +32 -0
- package/dist/mcp/attachmentContent.d.ts.map +1 -0
- package/dist/mcp/attachmentContent.js +155 -0
- package/dist/mcp/attachmentContent.js.map +1 -0
- package/dist/mcp/buildServer.d.ts +4 -2
- package/dist/mcp/buildServer.d.ts.map +1 -1
- package/dist/mcp/buildServer.js +138 -50
- package/dist/mcp/buildServer.js.map +1 -1
- package/dist/mcp/pdfTextWorker.d.ts +2 -0
- package/dist/mcp/pdfTextWorker.d.ts.map +1 -0
- package/dist/mcp/pdfTextWorker.js +39 -0
- package/dist/mcp/pdfTextWorker.js.map +1 -0
- package/dist/permissions.d.ts +19 -0
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +42 -2
- package/dist/permissions.js.map +1 -1
- package/dist/service/emailService.d.ts +3 -0
- package/dist/service/emailService.d.ts.map +1 -1
- package/dist/service/emailService.js +24 -9
- package/dist/service/emailService.js.map +1 -1
- package/dist/service/publicErrors.d.ts +4 -0
- package/dist/service/publicErrors.d.ts.map +1 -1
- package/dist/service/publicErrors.js +10 -1
- package/dist/service/publicErrors.js.map +1 -1
- package/dist/storage/apiKeys.d.ts.map +1 -1
- package/dist/storage/apiKeys.js +2 -2
- package/dist/storage/apiKeys.js.map +1 -1
- package/dist/telemetry.d.ts +7 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +28 -0
- package/dist/telemetry.js.map +1 -1
- package/package.json +9 -7
- package/pdf-cmaps/78-EUC-H.bcmap +0 -0
- package/pdf-cmaps/78-EUC-V.bcmap +0 -0
- package/pdf-cmaps/78-H.bcmap +0 -0
- package/pdf-cmaps/78-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/78-RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/78-V.bcmap +0 -0
- package/pdf-cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/Add-H.bcmap +0 -0
- package/pdf-cmaps/Add-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/Add-RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/Add-V.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/pdf-cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/pdf-cmaps/Adobe-GB1-0.bcmap +0 -0
- package/pdf-cmaps/Adobe-GB1-1.bcmap +0 -0
- package/pdf-cmaps/Adobe-GB1-2.bcmap +0 -0
- package/pdf-cmaps/Adobe-GB1-3.bcmap +0 -0
- package/pdf-cmaps/Adobe-GB1-4.bcmap +0 -0
- package/pdf-cmaps/Adobe-GB1-5.bcmap +0 -0
- package/pdf-cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/pdf-cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/pdf-cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/pdf-cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/pdf-cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/pdf-cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/pdf-cmaps/B5-H.bcmap +0 -0
- package/pdf-cmaps/B5-V.bcmap +0 -0
- package/pdf-cmaps/B5pc-H.bcmap +0 -0
- package/pdf-cmaps/B5pc-V.bcmap +0 -0
- package/pdf-cmaps/CNS-EUC-H.bcmap +0 -0
- package/pdf-cmaps/CNS-EUC-V.bcmap +0 -0
- package/pdf-cmaps/CNS1-H.bcmap +0 -0
- package/pdf-cmaps/CNS1-V.bcmap +0 -0
- package/pdf-cmaps/CNS2-H.bcmap +0 -0
- package/pdf-cmaps/CNS2-V.bcmap +3 -0
- package/pdf-cmaps/ETHK-B5-H.bcmap +0 -0
- package/pdf-cmaps/ETHK-B5-V.bcmap +0 -0
- package/pdf-cmaps/ETen-B5-H.bcmap +0 -0
- package/pdf-cmaps/ETen-B5-V.bcmap +0 -0
- package/pdf-cmaps/ETenms-B5-H.bcmap +3 -0
- package/pdf-cmaps/ETenms-B5-V.bcmap +0 -0
- package/pdf-cmaps/EUC-H.bcmap +0 -0
- package/pdf-cmaps/EUC-V.bcmap +0 -0
- package/pdf-cmaps/Ext-H.bcmap +0 -0
- package/pdf-cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/Ext-V.bcmap +0 -0
- package/pdf-cmaps/GB-EUC-H.bcmap +0 -0
- package/pdf-cmaps/GB-EUC-V.bcmap +0 -0
- package/pdf-cmaps/GB-H.bcmap +4 -0
- package/pdf-cmaps/GB-V.bcmap +0 -0
- package/pdf-cmaps/GBK-EUC-H.bcmap +0 -0
- package/pdf-cmaps/GBK-EUC-V.bcmap +0 -0
- package/pdf-cmaps/GBK2K-H.bcmap +0 -0
- package/pdf-cmaps/GBK2K-V.bcmap +0 -0
- package/pdf-cmaps/GBKp-EUC-H.bcmap +0 -0
- package/pdf-cmaps/GBKp-EUC-V.bcmap +0 -0
- package/pdf-cmaps/GBT-EUC-H.bcmap +0 -0
- package/pdf-cmaps/GBT-EUC-V.bcmap +0 -0
- package/pdf-cmaps/GBT-H.bcmap +0 -0
- package/pdf-cmaps/GBT-V.bcmap +0 -0
- package/pdf-cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/pdf-cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/pdf-cmaps/GBpc-EUC-H.bcmap +0 -0
- package/pdf-cmaps/GBpc-EUC-V.bcmap +0 -0
- package/pdf-cmaps/H.bcmap +0 -0
- package/pdf-cmaps/HKdla-B5-H.bcmap +0 -0
- package/pdf-cmaps/HKdla-B5-V.bcmap +0 -0
- package/pdf-cmaps/HKdlb-B5-H.bcmap +0 -0
- package/pdf-cmaps/HKdlb-B5-V.bcmap +0 -0
- package/pdf-cmaps/HKgccs-B5-H.bcmap +0 -0
- package/pdf-cmaps/HKgccs-B5-V.bcmap +0 -0
- package/pdf-cmaps/HKm314-B5-H.bcmap +0 -0
- package/pdf-cmaps/HKm314-B5-V.bcmap +0 -0
- package/pdf-cmaps/HKm471-B5-H.bcmap +0 -0
- package/pdf-cmaps/HKm471-B5-V.bcmap +0 -0
- package/pdf-cmaps/HKscs-B5-H.bcmap +0 -0
- package/pdf-cmaps/HKscs-B5-V.bcmap +0 -0
- package/pdf-cmaps/Hankaku.bcmap +0 -0
- package/pdf-cmaps/Hiragana.bcmap +0 -0
- package/pdf-cmaps/KSC-EUC-H.bcmap +0 -0
- package/pdf-cmaps/KSC-EUC-V.bcmap +0 -0
- package/pdf-cmaps/KSC-H.bcmap +0 -0
- package/pdf-cmaps/KSC-Johab-H.bcmap +0 -0
- package/pdf-cmaps/KSC-Johab-V.bcmap +0 -0
- package/pdf-cmaps/KSC-V.bcmap +0 -0
- package/pdf-cmaps/KSCms-UHC-H.bcmap +0 -0
- package/pdf-cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/pdf-cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/pdf-cmaps/KSCms-UHC-V.bcmap +0 -0
- package/pdf-cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/pdf-cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/pdf-cmaps/Katakana.bcmap +0 -0
- package/pdf-cmaps/LICENSE +36 -0
- package/pdf-cmaps/NWP-H.bcmap +0 -0
- package/pdf-cmaps/NWP-V.bcmap +0 -0
- package/pdf-cmaps/RKSJ-H.bcmap +0 -0
- package/pdf-cmaps/RKSJ-V.bcmap +0 -0
- package/pdf-cmaps/Roman.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/pdf-cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/pdf-cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/pdf-cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/pdf-cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/pdf-cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/pdf-cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/pdf-cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/pdf-cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/pdf-cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/pdf-cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/pdf-cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/pdf-cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/pdf-cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/pdf-cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/pdf-cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/pdf-cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/pdf-cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/pdf-cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/pdf-cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/pdf-cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/pdf-cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/pdf-cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/pdf-cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/pdf-cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/pdf-cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/pdf-cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/pdf-cmaps/V.bcmap +0 -0
- package/pdf-cmaps/WP-Symbol.bcmap +0 -0
package/dist/mcp/buildServer.js
CHANGED
|
@@ -3,16 +3,24 @@ import { randomUUID } from 'node:crypto';
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
5
5
|
import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
-
import { ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
import { isInitializeRequest, LATEST_PROTOCOL_VERSION, ListToolsRequestSchema, SUPPORTED_PROTOCOL_VERSIONS, } from '@modelcontextprotocol/sdk/types.js';
|
|
7
7
|
import { EmailError, isEmailError, mergeEmailQueries, parseEmailSearch, parseSingleAddress, } from '@fluxmail/core';
|
|
8
|
+
import { batchFailureCause } from '../service/emailService.js';
|
|
8
9
|
import { DEFAULT_MAX_ATTACHMENT_BYTES } from '../config.js';
|
|
9
|
-
import {
|
|
10
|
+
import { DEFAULT_PERMISSION_POLICY, MCP_CAPABILITIES, MCP_CAPABILITY_DESCRIPTIONS, enableCapabilitiesInstructions, hasCapability, normalizePermissionPolicy, } from '../permissions.js';
|
|
10
11
|
import { captureOperation } from '../telemetry.js';
|
|
11
12
|
import { logFailure } from '../logging.js';
|
|
12
|
-
import { ClientInputError, publicError } from '../service/publicErrors.js';
|
|
13
|
+
import { ClientInputError, MissingCapabilityError, publicError } from '../service/publicErrors.js';
|
|
13
14
|
import { outputSchemas } from './outputSchemas.js';
|
|
15
|
+
import { attachmentContents, inlineContent, mediaType, pageRange, pdfText, pdfTextContent, } from './attachmentContent.js';
|
|
14
16
|
const MAX_BODY_CHARS = 50_000;
|
|
17
|
+
const BYTES_PER_MEGABYTE = 1024 * 1024;
|
|
18
|
+
function sizeLabel(bytes) {
|
|
19
|
+
return bytes % BYTES_PER_MEGABYTE === 0 ? `${bytes / BYTES_PER_MEGABYTE} MB` : `${bytes} bytes`;
|
|
20
|
+
}
|
|
15
21
|
const TELEMETRY_ERROR = Symbol('telemetryError');
|
|
22
|
+
/** The error behind a partial failure, read only for telemetry failure detail. */
|
|
23
|
+
const TELEMETRY_FAILURE = Symbol('telemetryFailure');
|
|
16
24
|
const EMPTY_INPUT_SCHEMA = {
|
|
17
25
|
type: 'object',
|
|
18
26
|
properties: {},
|
|
@@ -219,7 +227,9 @@ function toolFeatureProperties(tool, args) {
|
|
|
219
227
|
case 'modify_emails':
|
|
220
228
|
return typeof input.action === 'string' ? { action: input.action } : {};
|
|
221
229
|
case 'download_attachment':
|
|
222
|
-
return {
|
|
230
|
+
return {
|
|
231
|
+
destination: input.inline === true ? 'inline' : typeof input.pages === 'string' ? 'pdf_pages' : 'resource',
|
|
232
|
+
};
|
|
223
233
|
default:
|
|
224
234
|
return {};
|
|
225
235
|
}
|
|
@@ -240,7 +250,9 @@ function handleResult(tool, fn, gate, options = {}) {
|
|
|
240
250
|
productSurface: 'mcp',
|
|
241
251
|
operation: tool,
|
|
242
252
|
outcome: telemetryFailed ? 'error' : 'success',
|
|
243
|
-
...(telemetryFailed
|
|
253
|
+
...(telemetryFailed
|
|
254
|
+
? { errorCode: 'account_failure', error: result[TELEMETRY_FAILURE] }
|
|
255
|
+
: {}),
|
|
244
256
|
durationMs: performance.now() - startedAt,
|
|
245
257
|
transport: options.transport ?? 'unknown',
|
|
246
258
|
properties: toolFeatureProperties(tool, args[0]),
|
|
@@ -260,6 +272,7 @@ function handleResult(tool, fn, gate, options = {}) {
|
|
|
260
272
|
operation: tool,
|
|
261
273
|
outcome: 'error',
|
|
262
274
|
errorCode: isEmailError(err) ? err.code : 'internal',
|
|
275
|
+
error: err,
|
|
263
276
|
durationMs: performance.now() - startedAt,
|
|
264
277
|
transport: options.transport ?? 'unknown',
|
|
265
278
|
properties: toolFeatureProperties(tool, args[0]),
|
|
@@ -316,8 +329,22 @@ const MODIFY_CAPABILITIES = {
|
|
|
316
329
|
removeLabels: 'mail.organize',
|
|
317
330
|
};
|
|
318
331
|
const PROTECTED_MOVE_DESTINATIONS = new Set(['archive', 'trash']);
|
|
332
|
+
function disabledCapabilitiesInstructions(permissions, source) {
|
|
333
|
+
const disabled = MCP_CAPABILITIES.filter((capability) => !hasCapability(permissions, capability));
|
|
334
|
+
if (!disabled.length)
|
|
335
|
+
return '';
|
|
336
|
+
const actions = disabled.map((capability) => `- ${capability} (${MCP_CAPABILITY_DESCRIPTIONS[capability].replace(/\.$/, '')}). ` +
|
|
337
|
+
enableCapabilitiesInstructions(permissions, [capability], source));
|
|
338
|
+
return ('\n\nThis connection has limited permissions. Tools for the disabled actions below are not available. ' +
|
|
339
|
+
'When the user asks for a disabled action, such as sending, replying to, or forwarding mail, tell them ' +
|
|
340
|
+
'it is disabled for this Fluxmail connection and how to enable it. Before changing permissions, explain ' +
|
|
341
|
+
"the access the change grants and get the user's explicit approval for that permission change. A request " +
|
|
342
|
+
'to perform an email action does not authorize changing permissions.\n' +
|
|
343
|
+
actions.join('\n'));
|
|
344
|
+
}
|
|
319
345
|
export function buildMcpServer(service, options = {}) {
|
|
320
|
-
const permissions = normalizePermissionPolicy(options.permissions ??
|
|
346
|
+
const permissions = normalizePermissionPolicy(options.permissions ?? DEFAULT_PERMISSION_POLICY);
|
|
347
|
+
const permissionSource = options.permissionSource ?? (options.transport === 'stdio' ? { kind: 'stdio' } : undefined);
|
|
321
348
|
const maxAttachmentBytes = options.maxAttachmentBytes ?? DEFAULT_MAX_ATTACHMENT_BYTES;
|
|
322
349
|
const can = (capability) => hasCapability(permissions, capability);
|
|
323
350
|
const canAll = (capabilities) => capabilities.every(can);
|
|
@@ -325,8 +352,19 @@ export function buildMcpServer(service, options = {}) {
|
|
|
325
352
|
const requireCapabilities = (capabilities) => {
|
|
326
353
|
const missing = capabilities.filter((capability) => !can(capability));
|
|
327
354
|
if (missing.length) {
|
|
328
|
-
throw new
|
|
355
|
+
throw new MissingCapabilityError(`This MCP connection does not allow: ${missing.join(', ')}. ` +
|
|
356
|
+
enableCapabilitiesInstructions(permissions, missing, permissionSource), missing);
|
|
357
|
+
}
|
|
358
|
+
};
|
|
359
|
+
const downloadAttachment = async (accountId, messageId, attachmentId) => {
|
|
360
|
+
const attachment = await service.getAttachment(accountId, messageId, attachmentId, maxAttachmentBytes);
|
|
361
|
+
if (attachment.content.length > maxAttachmentBytes) {
|
|
362
|
+
throw new ClientInputError('invalid_request', 'Attachment is too large to return through MCP.', {
|
|
363
|
+
sizeBytes: attachment.content.length,
|
|
364
|
+
maxBytes: maxAttachmentBytes,
|
|
365
|
+
});
|
|
329
366
|
}
|
|
367
|
+
return attachment;
|
|
330
368
|
};
|
|
331
369
|
// Every tool except get_status (the diagnostic way out) enforces the plan quota.
|
|
332
370
|
const gated = (tool, capability, fn) => handle(tool, async (...args) => {
|
|
@@ -343,13 +381,41 @@ export function buildMcpServer(service, options = {}) {
|
|
|
343
381
|
}, () => service.enforceQuota(), options);
|
|
344
382
|
const server = new McpServer({ name: 'fluxmail', title: 'Fluxmail Email', version: VERSION }, {
|
|
345
383
|
instructions: "Fluxmail is the user's email integration, already authenticated against their real mailboxes. " +
|
|
346
|
-
'Use the available Fluxmail tools for email tasks instead of browser automation or another email connector. ' +
|
|
347
384
|
'Tool results are structured for you, not for display. Message ids, thread ids, draft ids, and ' +
|
|
348
385
|
'account ids are internal references: keep them for chaining calls (replying, forwarding, archiving), ' +
|
|
349
386
|
'but do not show them to the user unless asked. Report outcomes in plain language with details people ' +
|
|
350
387
|
"care about, e.g. 'Sent \"Quarterly report\" to ann@example.com' or 'Archived the thread', rather " +
|
|
351
|
-
'than echoing raw payloads, ids, or field names.'
|
|
388
|
+
'than echoing raw payloads, ids, or field names.' +
|
|
389
|
+
disabledCapabilitiesInstructions(permissions, permissionSource),
|
|
352
390
|
});
|
|
391
|
+
// resource_link arrived in MCP 2025-06-18. Streamable HTTP sends the version on each request;
|
|
392
|
+
// stdio negotiates it once, so remember it. The SDK has no public accessor for the negotiated
|
|
393
|
+
// version, so observe the initialize request. The SDK installs onmessage before starting the
|
|
394
|
+
// transport, and this wrapper runs before the SDK handles each message.
|
|
395
|
+
let negotiatedProtocolVersion;
|
|
396
|
+
const connect = server.connect.bind(server);
|
|
397
|
+
server.connect = (transport) => {
|
|
398
|
+
const start = transport.start.bind(transport);
|
|
399
|
+
transport.start = () => {
|
|
400
|
+
const onmessage = transport.onmessage;
|
|
401
|
+
transport.onmessage = (message, extra) => {
|
|
402
|
+
if (isInitializeRequest(message)) {
|
|
403
|
+
const requested = message.params.protocolVersion;
|
|
404
|
+
negotiatedProtocolVersion = SUPPORTED_PROTOCOL_VERSIONS.includes(requested)
|
|
405
|
+
? requested
|
|
406
|
+
: LATEST_PROTOCOL_VERSION;
|
|
407
|
+
}
|
|
408
|
+
onmessage?.(message, extra);
|
|
409
|
+
};
|
|
410
|
+
return start();
|
|
411
|
+
};
|
|
412
|
+
return connect(transport);
|
|
413
|
+
};
|
|
414
|
+
const supportsResourceLinks = (extra) => {
|
|
415
|
+
const header = extra.requestInfo?.headers['mcp-protocol-version'];
|
|
416
|
+
const version = (typeof header === 'string' ? header : undefined) ?? negotiatedProtocolVersion ?? '2025-03-26';
|
|
417
|
+
return version >= '2025-06-18';
|
|
418
|
+
};
|
|
353
419
|
const listedTools = [];
|
|
354
420
|
const registerTool = ((name, config, callback) => {
|
|
355
421
|
const outputSchema = outputSchemas[name];
|
|
@@ -370,46 +436,52 @@ export function buildMcpServer(service, options = {}) {
|
|
|
370
436
|
});
|
|
371
437
|
if (can('mail.read'))
|
|
372
438
|
registerTool('list_accounts', {
|
|
439
|
+
title: 'List accounts',
|
|
373
440
|
description: 'List connected email accounts (id, provider, email, status, capabilities).',
|
|
374
441
|
inputSchema: {},
|
|
375
442
|
annotations: { readOnlyHint: true },
|
|
376
443
|
}, gated('list_accounts', 'mail.read', async () => service.listAccounts()));
|
|
377
444
|
if (can('mail.read'))
|
|
378
445
|
registerTool('get_status', {
|
|
379
|
-
|
|
380
|
-
|
|
446
|
+
title: 'Get status',
|
|
447
|
+
description: 'Account connection and scheduled-send status, including accounts that need re-authentication. ' +
|
|
448
|
+
'Administrators also see plan details.',
|
|
381
449
|
inputSchema: {},
|
|
382
450
|
annotations: { readOnlyHint: true },
|
|
383
451
|
}, allowed('get_status', 'mail.read', async () => service.status()));
|
|
384
452
|
if (can('mail.read'))
|
|
385
453
|
registerTool('list_folders', {
|
|
454
|
+
title: 'List folders',
|
|
386
455
|
description: 'List navigable folders for an account, with roles (inbox, sent, drafts, trash, spam, starred).',
|
|
387
456
|
inputSchema: { accountId: accountIdParam },
|
|
388
457
|
annotations: { readOnlyHint: true },
|
|
389
458
|
}, gated('list_folders', 'mail.read', async (args) => service.listFolders(args.accountId)));
|
|
390
459
|
if (can('mail.read'))
|
|
391
460
|
registerTool('list_labels', {
|
|
461
|
+
title: 'List labels',
|
|
392
462
|
description: 'List Gmail user labels or Outlook categories for an account.',
|
|
393
463
|
inputSchema: { accountId: accountIdParam },
|
|
394
464
|
annotations: { readOnlyHint: true },
|
|
395
465
|
}, gated('list_labels', 'mail.read', async (args) => service.listLabels(args.accountId)));
|
|
396
466
|
if (can('mail.read'))
|
|
397
467
|
registerTool('list_send_as', {
|
|
468
|
+
title: 'List sender addresses',
|
|
398
469
|
description: 'List sender addresses available for an account.',
|
|
399
470
|
inputSchema: { accountId: accountIdParam },
|
|
400
471
|
annotations: { readOnlyHint: true },
|
|
401
472
|
}, gated('list_send_as', 'mail.read', async (args) => service.listSendAs(args.accountId)));
|
|
402
473
|
if (can('mail.read'))
|
|
403
474
|
registerTool('list_emails', {
|
|
475
|
+
title: 'List emails',
|
|
404
476
|
description: "List emails from the user's connected mailbox with metadata and optional previews. Filter by folder, " +
|
|
405
|
-
'sender, unread, dates, etc. Paginate with pageToken. Use get_email for full bodies.
|
|
406
|
-
"This is the way to check the user's email; no browser or other email integration is needed.",
|
|
477
|
+
'sender, unread, dates, etc. Paginate with pageToken. Use get_email for full bodies.',
|
|
407
478
|
inputSchema: { accountId: accountIdParam, ...queryShape },
|
|
408
479
|
annotations: { readOnlyHint: true },
|
|
409
480
|
}, gated('list_emails', 'mail.read', async (args) => service.listMessages(args.accountId, emailQuery(args), pageOpts(args))));
|
|
410
481
|
const { text: _text, ...searchFilterShape } = queryShape;
|
|
411
482
|
if (can('mail.read'))
|
|
412
483
|
registerTool('search_emails', {
|
|
484
|
+
title: 'Search emails',
|
|
413
485
|
description: 'Search one account with typed portable syntax. The query supports text, from:, to:, subject:, in:, ' +
|
|
414
486
|
'read and starred states, attachments, and date filters.',
|
|
415
487
|
inputSchema: {
|
|
@@ -442,6 +514,7 @@ export function buildMcpServer(service, options = {}) {
|
|
|
442
514
|
const { pageToken: _batchPageToken, rawProviderQuery: _batchRawProviderQuery, ...batchSearchFilterShape } = searchFilterShape;
|
|
443
515
|
if (can('mail.read'))
|
|
444
516
|
registerTool('search_emails_batch', {
|
|
517
|
+
title: 'Search multiple accounts',
|
|
445
518
|
description: 'Search up to 20 accounts with one portable query and return one result group per account.',
|
|
446
519
|
inputSchema: {
|
|
447
520
|
accounts: z
|
|
@@ -491,11 +564,13 @@ export function buildMcpServer(service, options = {}) {
|
|
|
491
564
|
response.isError = true;
|
|
492
565
|
if (result.groups.some((group) => group.error)) {
|
|
493
566
|
response[TELEMETRY_ERROR] = true;
|
|
567
|
+
response[TELEMETRY_FAILURE] = batchFailureCause(result.groups);
|
|
494
568
|
}
|
|
495
569
|
return response;
|
|
496
570
|
}));
|
|
497
571
|
if (can('mail.read'))
|
|
498
572
|
registerTool('get_email', {
|
|
573
|
+
title: 'Get email',
|
|
499
574
|
description: 'Fetch one email in full: body (text and/or HTML), recipients, attachment metadata.',
|
|
500
575
|
inputSchema: {
|
|
501
576
|
accountId: accountIdParam,
|
|
@@ -506,6 +581,7 @@ export function buildMcpServer(service, options = {}) {
|
|
|
506
581
|
}, gated('get_email', 'mail.read', async (args) => selectBody(await service.getMessage(args.accountId, args.messageId), args.bodyFormat ?? 'both', MAX_BODY_CHARS)));
|
|
507
582
|
if (can('mail.read'))
|
|
508
583
|
registerTool('get_email_body', {
|
|
584
|
+
title: 'Read email body',
|
|
509
585
|
description: 'Read a bounded portion of one email body. Use nextOffset to continue.',
|
|
510
586
|
inputSchema: {
|
|
511
587
|
accountId: accountIdParam,
|
|
@@ -530,6 +606,7 @@ export function buildMcpServer(service, options = {}) {
|
|
|
530
606
|
}));
|
|
531
607
|
if (can('mail.read'))
|
|
532
608
|
registerTool('get_thread', {
|
|
609
|
+
title: 'Get thread',
|
|
533
610
|
description: 'Fetch a page of conversation messages with bounded body content.',
|
|
534
611
|
inputSchema: {
|
|
535
612
|
accountId: accountIdParam,
|
|
@@ -574,14 +651,17 @@ export function buildMcpServer(service, options = {}) {
|
|
|
574
651
|
}));
|
|
575
652
|
if (can('mail.drafts'))
|
|
576
653
|
registerTool('get_draft', {
|
|
654
|
+
title: 'Get draft',
|
|
577
655
|
description: 'Read an existing draft by its draft ID.',
|
|
578
656
|
inputSchema: { accountId: accountIdParam, draftId: idParam },
|
|
579
657
|
annotations: { readOnlyHint: true },
|
|
580
658
|
}, gated('get_draft', 'mail.drafts', async (args) => service.getDraft(args.accountId, args.draftId)));
|
|
581
659
|
if (can('mail.drafts'))
|
|
582
660
|
registerTool('create_draft', {
|
|
661
|
+
title: 'Create draft',
|
|
583
662
|
description: 'Create a draft. For a reply draft, pass replyToMessageId (recipients/subject are derived; replyAll for reply-all).',
|
|
584
663
|
inputSchema: draftShape,
|
|
664
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
|
|
585
665
|
}, gated('create_draft', 'mail.drafts', async (args) => {
|
|
586
666
|
if (args.replyToMessageId)
|
|
587
667
|
requireCapabilities(['mail.read']);
|
|
@@ -589,8 +669,10 @@ export function buildMcpServer(service, options = {}) {
|
|
|
589
669
|
}));
|
|
590
670
|
if (can('mail.drafts'))
|
|
591
671
|
registerTool('update_draft', {
|
|
672
|
+
title: 'Update draft',
|
|
592
673
|
description: 'Replace the content of an existing draft (full replacement, not a patch).',
|
|
593
674
|
inputSchema: { draftId: idParam, ...draftShape },
|
|
675
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true },
|
|
594
676
|
}, gated('update_draft', 'mail.drafts', async (args) => {
|
|
595
677
|
if (args.replyToMessageId)
|
|
596
678
|
requireCapabilities(['mail.read']);
|
|
@@ -598,15 +680,17 @@ export function buildMcpServer(service, options = {}) {
|
|
|
598
680
|
}));
|
|
599
681
|
if (can('mail.drafts'))
|
|
600
682
|
registerTool('delete_draft', {
|
|
683
|
+
title: 'Delete draft',
|
|
601
684
|
description: 'Delete a draft.',
|
|
602
685
|
inputSchema: { accountId: accountIdParam, draftId: idParam },
|
|
603
|
-
annotations: { destructiveHint: true },
|
|
686
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true },
|
|
604
687
|
}, gated('delete_draft', 'mail.drafts', async (args) => {
|
|
605
688
|
await service.deleteDraft(args.accountId, args.draftId);
|
|
606
689
|
return { deleted: args.draftId };
|
|
607
690
|
}));
|
|
608
691
|
if (can('mail.send'))
|
|
609
692
|
registerTool('preview_send', {
|
|
693
|
+
title: 'Preview send',
|
|
610
694
|
description: 'Show the resolved sender, recipients, subject, and attachments without sending.',
|
|
611
695
|
inputSchema: { draftId: idParam.optional(), ...draftShape },
|
|
612
696
|
annotations: { readOnlyHint: true },
|
|
@@ -619,9 +703,9 @@ export function buildMcpServer(service, options = {}) {
|
|
|
619
703
|
}));
|
|
620
704
|
if (can('mail.send'))
|
|
621
705
|
registerTool('send_email', {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
'
|
|
706
|
+
title: 'Send email',
|
|
707
|
+
description: "Send an email from the user's connected account. Three modes: direct (to + subject + body), sending " +
|
|
708
|
+
'an existing draft (draftId), or replying (replyToMessageId, optionally replyAll) ' +
|
|
625
709
|
'where recipients, subject, and threading are derived from the original. Confirm with the user when ' +
|
|
626
710
|
'intent is ambiguous. Add sendAt to any mode to schedule instead of sending now.',
|
|
627
711
|
inputSchema: {
|
|
@@ -640,7 +724,7 @@ export function buildMcpServer(service, options = {}) {
|
|
|
640
724
|
'for delivery by fluxmail serve or fluxmail scheduled run using the same store. Stdio does not ' +
|
|
641
725
|
'deliver schedules. Overdue mail may send when a worker starts. Returns a scheduleId for list/cancel.'),
|
|
642
726
|
},
|
|
643
|
-
annotations: { destructiveHint: true },
|
|
727
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
|
|
644
728
|
}, handleResult('send_email', async (args) => {
|
|
645
729
|
requireCapabilities(['mail.send']);
|
|
646
730
|
if (args.replyToMessageId !== undefined)
|
|
@@ -652,6 +736,7 @@ export function buildMcpServer(service, options = {}) {
|
|
|
652
736
|
}, () => service.enforceQuota(), options));
|
|
653
737
|
if (can('mail.read'))
|
|
654
738
|
registerTool('list_scheduled_emails', {
|
|
739
|
+
title: 'List scheduled emails',
|
|
655
740
|
description: 'List scheduled sends: pending ones first (with sendAt), then past ones (sent, failed, canceled). ' +
|
|
656
741
|
'For failed entries, lastError says what went wrong. Pending sends only fire while the ' +
|
|
657
742
|
'Fluxmail server is running.',
|
|
@@ -660,18 +745,22 @@ export function buildMcpServer(service, options = {}) {
|
|
|
660
745
|
}, gated('list_scheduled_emails', 'mail.read', async (args) => service.listScheduled(args.accountId)));
|
|
661
746
|
if (can('mail.send'))
|
|
662
747
|
registerTool('get_delivery_operation', {
|
|
748
|
+
title: 'Get delivery status',
|
|
663
749
|
description: 'Check whether a send or forward succeeded, failed, or has an uncertain outcome.',
|
|
664
750
|
inputSchema: { accountId: idParam, operationId: idParam },
|
|
665
751
|
annotations: { readOnlyHint: true },
|
|
666
752
|
}, allowed('get_delivery_operation', 'mail.send', async (args) => service.getDelivery(args.accountId, args.operationId)));
|
|
667
753
|
if (can('mail.drafts'))
|
|
668
754
|
registerTool('cancel_scheduled_email', {
|
|
755
|
+
title: 'Cancel scheduled email',
|
|
669
756
|
description: 'Cancel a pending scheduled send by scheduleId (from send_email with sendAt, or list_scheduled_emails). ' +
|
|
670
757
|
'The draft stays in the Drafts folder, so the content is not lost.',
|
|
671
758
|
inputSchema: { scheduleId: idParam },
|
|
759
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true },
|
|
672
760
|
}, gated('cancel_scheduled_email', 'mail.drafts', async (args) => service.cancelScheduled(args.scheduleId)));
|
|
673
761
|
if (canAll(['mail.send', 'mail.read']))
|
|
674
762
|
registerTool('forward_email', {
|
|
763
|
+
title: 'Forward email',
|
|
675
764
|
description: 'Forward an email to new recipients: quoted original body, "Fwd:" subject, original attachments included ' +
|
|
676
765
|
'unless includeAttachments=false. Optional comment appears above the forwarded content.',
|
|
677
766
|
inputSchema: {
|
|
@@ -690,7 +779,7 @@ export function buildMcpServer(service, options = {}) {
|
|
|
690
779
|
.describe('Comment above the forwarded message. Keep prose paragraphs on one continuous line and separate paragraphs with blank lines.'),
|
|
691
780
|
includeAttachments: z.boolean().optional().describe('Default true'),
|
|
692
781
|
},
|
|
693
|
-
annotations: { destructiveHint: true },
|
|
782
|
+
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
|
|
694
783
|
}, handleResult('forward_email', async (args) => {
|
|
695
784
|
requireCapabilities(['mail.send', 'mail.read']);
|
|
696
785
|
const to = parseAddresses(args.to) ?? [];
|
|
@@ -708,6 +797,7 @@ export function buildMcpServer(service, options = {}) {
|
|
|
708
797
|
if (modifyActions.length) {
|
|
709
798
|
const allowedModifyActions = new Set(modifyActions);
|
|
710
799
|
registerTool('modify_emails', {
|
|
800
|
+
title: 'Modify emails',
|
|
711
801
|
description: 'Batch-modify emails using the actions allowed for this connection. Moving requires folder; labels require labels.',
|
|
712
802
|
inputSchema: {
|
|
713
803
|
accountId: accountIdParam,
|
|
@@ -720,7 +810,9 @@ export function buildMcpServer(service, options = {}) {
|
|
|
720
810
|
labels: z.array(z.string().min(1)).max(100).optional().describe('Labels for addLabels/removeLabels'),
|
|
721
811
|
},
|
|
722
812
|
annotations: {
|
|
813
|
+
readOnlyHint: false,
|
|
723
814
|
destructiveHint: canAny(['mail.trash', 'mail.delete']),
|
|
815
|
+
idempotentHint: true,
|
|
724
816
|
},
|
|
725
817
|
}, handleResult('modify_emails', async (args) => {
|
|
726
818
|
if (!allowedModifyActions.has(args.action)) {
|
|
@@ -756,46 +848,45 @@ export function buildMcpServer(service, options = {}) {
|
|
|
756
848
|
}
|
|
757
849
|
if (can('mail.read'))
|
|
758
850
|
registerTool('download_attachment', {
|
|
759
|
-
|
|
851
|
+
title: 'Download attachment',
|
|
852
|
+
description: `Get metadata and a resource link for one attachment, up to ${sizeLabel(maxAttachmentBytes)}. ` +
|
|
853
|
+
'With inline, the result also includes the content. For a PDF, inline adds extracted text, and pages ' +
|
|
854
|
+
'returns the text of a page range such as 201-400.',
|
|
760
855
|
inputSchema: {
|
|
761
|
-
accountId:
|
|
856
|
+
accountId: accountIdParam,
|
|
762
857
|
messageId: idParam,
|
|
763
858
|
attachmentId: attachmentIdParam,
|
|
764
859
|
inline: z.boolean().optional(),
|
|
860
|
+
pages: pageRange.optional(),
|
|
765
861
|
},
|
|
766
862
|
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
767
|
-
}, gatedResult('download_attachment', 'mail.read', async (args) => {
|
|
768
|
-
const { meta, content } = await
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
});
|
|
863
|
+
}, gatedResult('download_attachment', 'mail.read', async (args, extra) => {
|
|
864
|
+
const { meta, content, accountId } = await downloadAttachment(args.accountId, args.messageId, args.attachmentId);
|
|
865
|
+
const mimeType = meta.mimeType || 'application/octet-stream';
|
|
866
|
+
const pdf = mediaType(mimeType) === 'application/pdf';
|
|
867
|
+
if (args.pages && !pdf) {
|
|
868
|
+
throw new ClientInputError('invalid_request', 'Pages apply only to PDF attachments.');
|
|
774
869
|
}
|
|
870
|
+
const extracted = pdf && (args.inline || args.pages)
|
|
871
|
+
? await pdfText(content, extra.signal, args.pages, (error) => options.logger?.warn('mcp.pdf_text_failed', 'PDF text extraction failed.', error, {
|
|
872
|
+
productSurface: 'mcp',
|
|
873
|
+
operation: 'download_attachment',
|
|
874
|
+
}))
|
|
875
|
+
: undefined;
|
|
775
876
|
const uri = [
|
|
776
877
|
'fluxmail://attachment',
|
|
777
|
-
|
|
778
|
-
encodeURIComponent(args.messageId),
|
|
779
|
-
encodeURIComponent(args.attachmentId),
|
|
780
|
-
encodeURIComponent(meta.filename),
|
|
878
|
+
...[accountId, args.messageId, args.attachmentId, meta.filename].map(encodeURIComponent),
|
|
781
879
|
].join('/');
|
|
880
|
+
const resourceLinks = supportsResourceLinks(extra);
|
|
782
881
|
return {
|
|
783
882
|
structuredContent: { data: meta },
|
|
784
883
|
content: [
|
|
785
|
-
{ type: 'text', text: JSON.stringify({ data: meta }, null, 2) },
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
? [
|
|
789
|
-
{
|
|
790
|
-
type: 'resource',
|
|
791
|
-
resource: {
|
|
792
|
-
uri,
|
|
793
|
-
mimeType: meta.mimeType || 'application/octet-stream',
|
|
794
|
-
blob: content.toString('base64'),
|
|
795
|
-
},
|
|
796
|
-
},
|
|
797
|
-
]
|
|
884
|
+
{ type: 'text', text: JSON.stringify(resourceLinks ? { data: meta } : { data: meta, uri }, null, 2) },
|
|
885
|
+
...(resourceLinks
|
|
886
|
+
? [{ type: 'resource_link', name: meta.filename, uri, mimeType: meta.mimeType }]
|
|
798
887
|
: []),
|
|
888
|
+
...(args.inline ? [inlineContent(uri, mimeType, content)] : []),
|
|
889
|
+
...pdfTextContent(meta.filename, extracted),
|
|
799
890
|
],
|
|
800
891
|
};
|
|
801
892
|
}));
|
|
@@ -805,11 +896,8 @@ export function buildMcpServer(service, options = {}) {
|
|
|
805
896
|
}), { description: 'Read one attachment from an authorized mailbox.' }, async (uri, variables) => {
|
|
806
897
|
requireCapabilities(['mail.read']);
|
|
807
898
|
service.enforceQuota();
|
|
808
|
-
const { meta, content } = await
|
|
809
|
-
|
|
810
|
-
throw new ClientInputError('invalid_request', 'Attachment is too large to return through MCP.');
|
|
811
|
-
}
|
|
812
|
-
return { contents: [{ uri: uri.href, mimeType: meta.mimeType, blob: content.toString('base64') }] };
|
|
899
|
+
const { meta, content } = await downloadAttachment(decodeURIComponent(String(variables.accountId)), decodeURIComponent(String(variables.messageId)), decodeURIComponent(String(variables.attachmentId)));
|
|
900
|
+
return { contents: [attachmentContents(uri.href, meta.mimeType || 'application/octet-stream', content)] };
|
|
813
901
|
});
|
|
814
902
|
if (listedTools.length) {
|
|
815
903
|
// The SDK's list handler declares draft-07 for output schemas, which strict clients reject.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildServer.js","sourceRoot":"","sources":["../../src/mcp/buildServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildServer.js","sourceRoot":"","sources":["../../src/mcp/buildServer.ts"],"names":[],"mappings":"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"}
|