shipmail-mcp 0.9.3 → 0.9.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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "displayName": "Shipmail",
3
3
  "name": "shipmail",
4
- "version": "0.9.3",
5
- "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Everything on your own domain, in one subscription.",
4
+ "version": "0.9.5",
5
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
6
6
  "author": {
7
7
  "name": "Shipmail",
8
8
  "email": "hi@shipmail.to",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipmail",
3
- "version": "0.9.3",
4
- "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Everything on your own domain, in one subscription.",
3
+ "version": "0.9.5",
4
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
5
5
  "author": {
6
6
  "name": "Shipmail",
7
7
  "email": "hi@shipmail.to",
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "shipmail",
3
+ "version": "0.9.5",
4
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
5
+ "author": {
6
+ "name": "Shipmail",
7
+ "email": "hi@shipmail.to"
8
+ },
9
+ "homepage": "https://shipmail.to/docs/mcp",
10
+ "repository": "https://github.com/shipmail-to/shipmail-mcp",
11
+ "license": "MIT",
12
+ "logo": "./assets/shipmail-logo.svg",
13
+ "keywords": [
14
+ "email",
15
+ "business-email",
16
+ "custom-domain",
17
+ "agent-inbox",
18
+ "calendar",
19
+ "mcp"
20
+ ],
21
+ "skills": "./skills/",
22
+ "mcpServers": "./.mcp.json"
23
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipmail",
3
- "version": "0.9.3",
4
- "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Everything on your own domain, in one subscription.",
3
+ "version": "0.9.5",
4
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
5
5
  "author": {
6
6
  "name": "Shipmail",
7
7
  "email": "hi@shipmail.to",
package/README.md CHANGED
@@ -101,7 +101,8 @@ Claude users can install the hosted plugin from the
101
101
  | ------------------- | ---------------------------- |
102
102
  | OpenAI Codex | `.codex-plugin/plugin.json` |
103
103
  | Claude | `.claude-plugin/plugin.json` |
104
- | Cursor/Open Plugins | `.plugin/plugin.json` |
104
+ | Cursor and Grok Bot | `.cursor-plugin/plugin.json` |
105
+ | Open Plugins | `.plugin/plugin.json` |
105
106
  | MCP connection | `.mcp.json` |
106
107
  | Agent skill | `skills/shipmail/SKILL.md` |
107
108
 
@@ -399,6 +400,8 @@ Domain purchase is intentionally excluded.
399
400
  - **Malicious LLM output or hallucinated arguments.** The MCP layer cannot tell whether an argument came from the user or was invented. Use the host UI's tool-call confirmation, especially for `destructiveHint:true` tools.
400
401
  - **Compromised MCP host.** Your API key is read from `SHIPMAIL_API_KEY` and held in memory by this process. If the host is compromised, the key is gone regardless. Rotate keys you suspect have been exposed.
401
402
  - **Webhook signing secret in conversation logs.** `shipmail_create_webhook` and `shipmail_rotate_webhook_secret` return the secret in `structuredContent`. Many MCP clients persist tool output in conversation history. Treat the session log as sensitive after these calls.
403
+ - **Webhook authorization in conversation logs.** `shipmail_create_webhook` and `shipmail_update_webhook` accept an optional `authorization` value that Shipmail sends as the `Authorization` header of every delivery. Shipmail never returns it (results show `has_authorization` only), but the value you pass is part of the tool call and stays in the conversation history.
404
+ - **Standard Webhooks secret in conversation logs.** The same two tools accept an optional `standard_webhooks_secret` (`whsec_...`) that Shipmail uses to sign every delivery for receivers such as Grok automations. Shipmail never returns it (results show `has_standard_webhooks_secret` only), but the value you pass stays in the conversation history.
402
405
 
403
406
  ## Privacy
404
407
 
package/dist/index.js CHANGED
@@ -1249,6 +1249,7 @@ var mailboxRuleConditionSchema = z.lazy(
1249
1249
  "from_is",
1250
1250
  "from_contains",
1251
1251
  "recipient_is",
1252
+ "recipient_contains",
1252
1253
  "plus_tag_is",
1253
1254
  "subject_contains"
1254
1255
  ]),
@@ -1797,6 +1798,10 @@ var webhookSchema = z.object({
1797
1798
  description: z.string().nullable(),
1798
1799
  mailbox_ids: z.array(z.string()).nullable(),
1799
1800
  domain_ids: z.array(z.string()).nullable(),
1801
+ has_authorization: z.boolean().describe("True when deliveries carry an Authorization header. The value is never returned."),
1802
+ has_standard_webhooks_secret: z.boolean().describe(
1803
+ "True when deliveries carry Standard Webhooks signatures from a stored signing secret. The secret is never returned."
1804
+ ),
1800
1805
  created_at: z.string(),
1801
1806
  updated_at: z.string()
1802
1807
  });
@@ -2598,6 +2603,11 @@ var webhookDeliveryStatusSchema = z.enum(WEBHOOK_DELIVERY_STATUSES);
2598
2603
  var listWebhooksInputSchema = paginationInputSchema;
2599
2604
  var listMembersInputSchema = paginationInputSchema;
2600
2605
  var webhookScopeIdsInputSchema = z.array(idSchema).max(100).nullable();
2606
+ var webhookAuthorizationInputSchema = z.string().min(1).max(1024).regex(/^[\x20-\x7E]+$/u, "authorization must contain only printable ASCII characters.");
2607
+ var webhookStandardWebhooksSecretInputSchema = z.string().regex(
2608
+ /^whsec_(?:[A-Za-z0-9+/]+={0,2}|[A-Za-z0-9_-]+)$/u,
2609
+ "standard_webhooks_secret must be whsec_ followed by the base64 key from the receiving service."
2610
+ ).max(128);
2601
2611
  var createWebhookInputSchema = z.object({
2602
2612
  url: publicHttpsUrlSchema,
2603
2613
  events: z.array(webhookEventSchema).min(1).max(WEBHOOK_EVENT_TYPES.length),
@@ -2606,6 +2616,12 @@ var createWebhookInputSchema = z.object({
2606
2616
  "Only deliver events for these mailbox IDs (plus mailboxes of domain_ids). Omit for every mailbox. Organization events are always delivered."
2607
2617
  ),
2608
2618
  domain_ids: webhookScopeIdsInputSchema.optional().describe("Only deliver events for these domain IDs and their mailboxes."),
2619
+ authorization: webhookAuthorizationInputSchema.optional().describe(
2620
+ 'Sent verbatim as the Authorization header of every delivery, for example "Bearer <key>". Write-only: stored encrypted and never returned.'
2621
+ ),
2622
+ standard_webhooks_secret: webhookStandardWebhooksSecretInputSchema.optional().describe(
2623
+ "A whsec_ signing secret from the receiving service, such as a Grok automation webhook trigger. Every delivery then also carries webhook-id, webhook-timestamp and webhook-signature. Write-only: stored encrypted and never returned."
2624
+ ),
2609
2625
  idempotency_key: idempotencyKeySchema
2610
2626
  });
2611
2627
  var updateWebhookInputSchema = z.object({
@@ -2616,9 +2632,15 @@ var updateWebhookInputSchema = z.object({
2616
2632
  active: z.boolean().optional(),
2617
2633
  mailbox_ids: webhookScopeIdsInputSchema.optional().describe("Replace the mailbox filter. Null or [] clears it."),
2618
2634
  domain_ids: webhookScopeIdsInputSchema.optional().describe("Replace the domain filter. Null or [] clears it."),
2635
+ authorization: webhookAuthorizationInputSchema.nullable().optional().describe(
2636
+ "Replace the Authorization header sent with every delivery. Null removes it; omit to keep it. Write-only: never returned."
2637
+ ),
2638
+ standard_webhooks_secret: webhookStandardWebhooksSecretInputSchema.nullable().optional().describe(
2639
+ "Replace the Standard Webhooks signing secret. Null stops the signatures; omit to keep it. Write-only: never returned."
2640
+ ),
2619
2641
  idempotency_key: idempotencyKeySchema
2620
2642
  }).refine(
2621
- (value) => value.url !== void 0 || value.events !== void 0 || value.description !== void 0 || value.active !== void 0 || value.mailbox_ids !== void 0 || value.domain_ids !== void 0,
2643
+ (value) => value.url !== void 0 || value.events !== void 0 || value.description !== void 0 || value.active !== void 0 || value.mailbox_ids !== void 0 || value.domain_ids !== void 0 || value.authorization !== void 0 || value.standard_webhooks_secret !== void 0,
2622
2644
  {
2623
2645
  message: "Provide at least one webhook field to update."
2624
2646
  }
@@ -7264,7 +7286,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
7264
7286
  "shipmail_create_webhook",
7265
7287
  {
7266
7288
  title: "Create Webhook",
7267
- description: "Create a webhook endpoint. Its signing secret appears once in the tool result and conversation log.",
7289
+ description: "Create a webhook endpoint. Its signing secret appears once in the tool result and conversation log. Optional authorization is sent as the Authorization header of every delivery, and optional standard_webhooks_secret signs every delivery the way Standard Webhooks receivers such as Grok automations check. Both are write-only and never echoed back, but the values you pass appear in the conversation log.",
7268
7290
  inputSchema: createWebhookInputSchema,
7269
7291
  outputSchema: webhookWithSecretOutputSchema,
7270
7292
  annotations: {
@@ -7284,7 +7306,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
7284
7306
  "shipmail_update_webhook",
7285
7307
  {
7286
7308
  title: "Update Webhook",
7287
- description: "Update webhook URL, subscribed events, description, active state, or mailbox and domain filter. A URL change redirects future deliveries.",
7309
+ description: "Update webhook URL, subscribed events, description, active state, mailbox and domain filter, the Authorization header sent with deliveries, or the Standard Webhooks signing secret. A URL change redirects future deliveries. authorization and standard_webhooks_secret are write-only and never echoed back; null removes them.",
7288
7310
  inputSchema: updateWebhookInputSchema,
7289
7311
  outputSchema: webhookOutputSchema,
7290
7312
  annotations: {
@@ -7302,6 +7324,10 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
7302
7324
  if (args.active !== void 0) update.active = args.active;
7303
7325
  if (args.mailbox_ids !== void 0) update.mailbox_ids = args.mailbox_ids;
7304
7326
  if (args.domain_ids !== void 0) update.domain_ids = args.domain_ids;
7327
+ if (args.authorization !== void 0) update.authorization = args.authorization;
7328
+ if (args.standard_webhooks_secret !== void 0) {
7329
+ update.standard_webhooks_secret = args.standard_webhooks_secret;
7330
+ }
7305
7331
  return {
7306
7332
  webhook: await client.webhooks.update(args.id, update, mutationOptions(args))
7307
7333
  };
@@ -8588,7 +8614,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
8588
8614
  }
8589
8615
 
8590
8616
  // src/version.ts
8591
- var VERSION = "0.9.3";
8617
+ var VERSION = "0.9.5";
8592
8618
 
8593
8619
  // src/server.ts
8594
8620
  var SHIPMAIL_MCP_INSTRUCTIONS = `Shipmail MCP exposes the business email and calendar tools authorized by the connection's current Shipmail permissions.
package/dist/server.js CHANGED
@@ -1155,6 +1155,7 @@ var mailboxRuleConditionSchema = z.lazy(
1155
1155
  "from_is",
1156
1156
  "from_contains",
1157
1157
  "recipient_is",
1158
+ "recipient_contains",
1158
1159
  "plus_tag_is",
1159
1160
  "subject_contains"
1160
1161
  ]),
@@ -1703,6 +1704,10 @@ var webhookSchema = z.object({
1703
1704
  description: z.string().nullable(),
1704
1705
  mailbox_ids: z.array(z.string()).nullable(),
1705
1706
  domain_ids: z.array(z.string()).nullable(),
1707
+ has_authorization: z.boolean().describe("True when deliveries carry an Authorization header. The value is never returned."),
1708
+ has_standard_webhooks_secret: z.boolean().describe(
1709
+ "True when deliveries carry Standard Webhooks signatures from a stored signing secret. The secret is never returned."
1710
+ ),
1706
1711
  created_at: z.string(),
1707
1712
  updated_at: z.string()
1708
1713
  });
@@ -2504,6 +2509,11 @@ var webhookDeliveryStatusSchema = z.enum(WEBHOOK_DELIVERY_STATUSES);
2504
2509
  var listWebhooksInputSchema = paginationInputSchema;
2505
2510
  var listMembersInputSchema = paginationInputSchema;
2506
2511
  var webhookScopeIdsInputSchema = z.array(idSchema).max(100).nullable();
2512
+ var webhookAuthorizationInputSchema = z.string().min(1).max(1024).regex(/^[\x20-\x7E]+$/u, "authorization must contain only printable ASCII characters.");
2513
+ var webhookStandardWebhooksSecretInputSchema = z.string().regex(
2514
+ /^whsec_(?:[A-Za-z0-9+/]+={0,2}|[A-Za-z0-9_-]+)$/u,
2515
+ "standard_webhooks_secret must be whsec_ followed by the base64 key from the receiving service."
2516
+ ).max(128);
2507
2517
  var createWebhookInputSchema = z.object({
2508
2518
  url: publicHttpsUrlSchema,
2509
2519
  events: z.array(webhookEventSchema).min(1).max(WEBHOOK_EVENT_TYPES.length),
@@ -2512,6 +2522,12 @@ var createWebhookInputSchema = z.object({
2512
2522
  "Only deliver events for these mailbox IDs (plus mailboxes of domain_ids). Omit for every mailbox. Organization events are always delivered."
2513
2523
  ),
2514
2524
  domain_ids: webhookScopeIdsInputSchema.optional().describe("Only deliver events for these domain IDs and their mailboxes."),
2525
+ authorization: webhookAuthorizationInputSchema.optional().describe(
2526
+ 'Sent verbatim as the Authorization header of every delivery, for example "Bearer <key>". Write-only: stored encrypted and never returned.'
2527
+ ),
2528
+ standard_webhooks_secret: webhookStandardWebhooksSecretInputSchema.optional().describe(
2529
+ "A whsec_ signing secret from the receiving service, such as a Grok automation webhook trigger. Every delivery then also carries webhook-id, webhook-timestamp and webhook-signature. Write-only: stored encrypted and never returned."
2530
+ ),
2515
2531
  idempotency_key: idempotencyKeySchema
2516
2532
  });
2517
2533
  var updateWebhookInputSchema = z.object({
@@ -2522,9 +2538,15 @@ var updateWebhookInputSchema = z.object({
2522
2538
  active: z.boolean().optional(),
2523
2539
  mailbox_ids: webhookScopeIdsInputSchema.optional().describe("Replace the mailbox filter. Null or [] clears it."),
2524
2540
  domain_ids: webhookScopeIdsInputSchema.optional().describe("Replace the domain filter. Null or [] clears it."),
2541
+ authorization: webhookAuthorizationInputSchema.nullable().optional().describe(
2542
+ "Replace the Authorization header sent with every delivery. Null removes it; omit to keep it. Write-only: never returned."
2543
+ ),
2544
+ standard_webhooks_secret: webhookStandardWebhooksSecretInputSchema.nullable().optional().describe(
2545
+ "Replace the Standard Webhooks signing secret. Null stops the signatures; omit to keep it. Write-only: never returned."
2546
+ ),
2525
2547
  idempotency_key: idempotencyKeySchema
2526
2548
  }).refine(
2527
- (value) => value.url !== void 0 || value.events !== void 0 || value.description !== void 0 || value.active !== void 0 || value.mailbox_ids !== void 0 || value.domain_ids !== void 0,
2549
+ (value) => value.url !== void 0 || value.events !== void 0 || value.description !== void 0 || value.active !== void 0 || value.mailbox_ids !== void 0 || value.domain_ids !== void 0 || value.authorization !== void 0 || value.standard_webhooks_secret !== void 0,
2528
2550
  {
2529
2551
  message: "Provide at least one webhook field to update."
2530
2552
  }
@@ -7177,7 +7199,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
7177
7199
  "shipmail_create_webhook",
7178
7200
  {
7179
7201
  title: "Create Webhook",
7180
- description: "Create a webhook endpoint. Its signing secret appears once in the tool result and conversation log.",
7202
+ description: "Create a webhook endpoint. Its signing secret appears once in the tool result and conversation log. Optional authorization is sent as the Authorization header of every delivery, and optional standard_webhooks_secret signs every delivery the way Standard Webhooks receivers such as Grok automations check. Both are write-only and never echoed back, but the values you pass appear in the conversation log.",
7181
7203
  inputSchema: createWebhookInputSchema,
7182
7204
  outputSchema: webhookWithSecretOutputSchema,
7183
7205
  annotations: {
@@ -7197,7 +7219,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
7197
7219
  "shipmail_update_webhook",
7198
7220
  {
7199
7221
  title: "Update Webhook",
7200
- description: "Update webhook URL, subscribed events, description, active state, or mailbox and domain filter. A URL change redirects future deliveries.",
7222
+ description: "Update webhook URL, subscribed events, description, active state, mailbox and domain filter, the Authorization header sent with deliveries, or the Standard Webhooks signing secret. A URL change redirects future deliveries. authorization and standard_webhooks_secret are write-only and never echoed back; null removes them.",
7201
7223
  inputSchema: updateWebhookInputSchema,
7202
7224
  outputSchema: webhookOutputSchema,
7203
7225
  annotations: {
@@ -7215,6 +7237,10 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
7215
7237
  if (args.active !== void 0) update.active = args.active;
7216
7238
  if (args.mailbox_ids !== void 0) update.mailbox_ids = args.mailbox_ids;
7217
7239
  if (args.domain_ids !== void 0) update.domain_ids = args.domain_ids;
7240
+ if (args.authorization !== void 0) update.authorization = args.authorization;
7241
+ if (args.standard_webhooks_secret !== void 0) {
7242
+ update.standard_webhooks_secret = args.standard_webhooks_secret;
7243
+ }
7218
7244
  return {
7219
7245
  webhook: await client.webhooks.update(args.id, update, mutationOptions(args))
7220
7246
  };
@@ -8501,7 +8527,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
8501
8527
  }
8502
8528
 
8503
8529
  // src/version.ts
8504
- var VERSION = "0.9.3";
8530
+ var VERSION = "0.9.5";
8505
8531
 
8506
8532
  // src/server.ts
8507
8533
  var SHIPMAIL_MCP_INSTRUCTIONS = `Shipmail MCP exposes the business email and calendar tools authorized by the connection's current Shipmail permissions.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "displayName": "Shipmail",
3
3
  "name": "shipmail",
4
- "version": "0.9.3",
5
- "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Everything on your own domain, in one subscription.",
4
+ "version": "0.9.5",
5
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
6
6
  "author": {
7
7
  "name": "Shipmail",
8
8
  "email": "hi@shipmail.to",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipmail",
3
- "version": "0.9.3",
4
- "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Everything on your own domain, in one subscription.",
3
+ "version": "0.9.5",
4
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
5
5
  "author": {
6
6
  "name": "Shipmail",
7
7
  "email": "hi@shipmail.to",
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "shipmail",
3
+ "version": "0.9.5",
4
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
5
+ "author": {
6
+ "name": "Shipmail",
7
+ "email": "hi@shipmail.to"
8
+ },
9
+ "homepage": "https://shipmail.to/docs/mcp",
10
+ "repository": "https://github.com/shipmail-to/shipmail-mcp",
11
+ "license": "MIT",
12
+ "logo": "./assets/shipmail-logo.svg",
13
+ "keywords": [
14
+ "email",
15
+ "business-email",
16
+ "custom-domain",
17
+ "agent-inbox",
18
+ "calendar",
19
+ "mcp"
20
+ ],
21
+ "skills": "./skills/",
22
+ "mcpServers": "./.mcp.json"
23
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shipmail",
3
- "version": "0.9.3",
4
- "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Everything on your own domain, in one subscription.",
3
+ "version": "0.9.5",
4
+ "description": "Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Everything on your own domain, in one subscription.",
5
5
  "author": {
6
6
  "name": "Shipmail",
7
7
  "email": "hi@shipmail.to",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: shipmail
3
- description: Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Operate mailboxes, agent inboxes, calendars, booking pages, newsletters, webhooks, and related account resources through the Shipmail MCP server. Use when the user asks to read or triage a Shipmail inbox, draft or send email, reply to a message or thread, manage a mailbox or domain, check availability, schedule an event, or automate an email workflow.
3
+ description: Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Operate mailboxes, agent inboxes, calendars, booking pages, newsletters, webhooks, and related account resources through the Shipmail MCP server. Use when the user asks to read or triage a Shipmail inbox, draft or send email, reply to a message or thread, manage a mailbox or domain, check availability, schedule an event, or automate an email workflow.
4
4
  ---
5
5
 
6
6
  # Shipmail
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "shipmail-mcp",
3
- "version": "0.9.3",
3
+ "version": "0.9.5",
4
4
  "mcpName": "io.github.shipmail-to/shipmail-mcp",
5
- "description": "Official Model Context Protocol (MCP) server for Shipmail, a business email provider with REST API, webhooks, and custom-domain inboxes for AI agents.",
5
+ "description": "Official Model Context Protocol (MCP) server for Shipmail. Modern email for your business, plus transactional email and an API for your agents.",
6
6
  "type": "module",
7
7
  "packageManager": "bun@1.3.10",
8
8
  "bin": {
@@ -18,6 +18,7 @@
18
18
  "smithery.yaml",
19
19
  ".claude-plugin",
20
20
  ".codex-plugin",
21
+ ".cursor-plugin",
21
22
  ".plugin",
22
23
  ".mcp.json",
23
24
  "assets",
@@ -68,7 +69,7 @@
68
69
  },
69
70
  "dependencies": {
70
71
  "@modelcontextprotocol/server": "2.0.0",
71
- "shipmail": "0.6.3",
72
+ "shipmail": "0.6.4",
72
73
  "zod": "4.4.3"
73
74
  },
74
75
  "devDependencies": {
package/server.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.shipmail-to/shipmail-mcp",
4
- "description": "Shipmail MCP server for AI agent custom-domain email inboxes with REST API and webhooks.",
4
+ "description": "Shipmail MCP server. Modern email for your business, with an API for your agents.",
5
5
  "repository": {
6
6
  "url": "https://github.com/shipmail-to/shipmail-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.9.3",
9
+ "version": "0.9.5",
10
10
  "websiteUrl": "https://shipmail.to/docs/mcp",
11
11
  "remotes": [
12
12
  {
@@ -27,7 +27,7 @@
27
27
  "registryType": "npm",
28
28
  "registryBaseUrl": "https://registry.npmjs.org",
29
29
  "identifier": "shipmail-mcp",
30
- "version": "0.9.3",
30
+ "version": "0.9.5",
31
31
  "transport": {
32
32
  "type": "stdio"
33
33
  },
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: shipmail
3
- description: Modern email for your business. Inboxes, calendars, newsletters, bookings, an AI assistant, and an API for your agents. Operate mailboxes, agent inboxes, calendars, booking pages, newsletters, webhooks, and related account resources through the Shipmail MCP server. Use when the user asks to read or triage a Shipmail inbox, draft or send email, reply to a message or thread, manage a mailbox or domain, check availability, schedule an event, or automate an email workflow.
3
+ description: Modern email for your business. Inboxes, calendars, newsletters, bookings and an AI assistant, plus transactional email and an API for your agents. Operate mailboxes, agent inboxes, calendars, booking pages, newsletters, webhooks, and related account resources through the Shipmail MCP server. Use when the user asks to read or triage a Shipmail inbox, draft or send email, reply to a message or thread, manage a mailbox or domain, check availability, schedule an event, or automate an email workflow.
4
4
  ---
5
5
 
6
6
  # Shipmail
package/smithery.yaml CHANGED
@@ -1,6 +1,6 @@
1
1
  # Smithery configuration file: https://smithery.ai/docs/build/project-config/smithery-yaml
2
2
  name: shipmail-mcp
3
- version: 0.9.3
3
+ version: 0.9.5
4
4
  description: Official Shipmail MCP server for AI-agent custom-domain business email inboxes with REST API and webhooks.
5
5
  author: Shipmail
6
6
  repository: https://github.com/shipmail-to/shipmail-mcp