shipmail-mcp 0.5.7 → 0.5.8
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 +19 -7
- package/dist/server.js +19 -7
- package/package.json +2 -2
- package/server.json +2 -2
- package/smithery.yaml +1 -1
package/dist/index.js
CHANGED
|
@@ -902,6 +902,7 @@ var NEWSLETTER_DOMAIN_STATUSES = [
|
|
|
902
902
|
];
|
|
903
903
|
var NEWSLETTER_DOMAIN_RECORD_STATUSES = ["pending", "verified", "failed"];
|
|
904
904
|
var NEWSLETTER_ARCHIVE_VISIBILITIES = ["private", "public"];
|
|
905
|
+
var NEWSLETTER_STYLING_MODES = ["styled", "plain"];
|
|
905
906
|
var NEWSLETTER_PREFLIGHT_STATUSES = ["not_run", "passed", "warning", "failed"];
|
|
906
907
|
var NEWSLETTER_PREFLIGHT_ITEM_STATUSES = ["pass", "warn", "fail"];
|
|
907
908
|
var NEWSLETTER_TEST_SEND_STATUSES = ["pending", "sent", "failed"];
|
|
@@ -2396,6 +2397,9 @@ var newsletterSchema = z.object({
|
|
|
2396
2397
|
body_text: z.string().nullable(),
|
|
2397
2398
|
status: z.enum(NEWSLETTER_STATUSES),
|
|
2398
2399
|
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES),
|
|
2400
|
+
styling_mode: z.enum(NEWSLETTER_STYLING_MODES).describe(
|
|
2401
|
+
"styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it."
|
|
2402
|
+
),
|
|
2399
2403
|
preflight_status: z.enum(NEWSLETTER_PREFLIGHT_STATUSES),
|
|
2400
2404
|
preflight_results: z.record(z.string(), z.unknown()),
|
|
2401
2405
|
send_window_hours: z.number().int(),
|
|
@@ -2633,7 +2637,10 @@ var newsletterDraftFieldsInputSchema = {
|
|
|
2633
2637
|
body_text: z.string().max(25e4).nullish(),
|
|
2634
2638
|
blocks: z.array(newsletterBlockInputSchema).min(1).max(200).optional(),
|
|
2635
2639
|
send_window_hours: z.number().int().min(1).max(24).optional(),
|
|
2636
|
-
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES).optional()
|
|
2640
|
+
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES).optional(),
|
|
2641
|
+
styling_mode: z.enum(NEWSLETTER_STYLING_MODES).optional().describe(
|
|
2642
|
+
"styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it."
|
|
2643
|
+
)
|
|
2637
2644
|
};
|
|
2638
2645
|
var createNewsletterInputSchema = z.object({
|
|
2639
2646
|
...newsletterDraftFieldsInputSchema,
|
|
@@ -2684,6 +2691,9 @@ var createNewsletterFromChangelogInputSchema = z.object({
|
|
|
2684
2691
|
}).optional(),
|
|
2685
2692
|
send_window_hours: z.number().int().min(1).max(24).optional(),
|
|
2686
2693
|
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES).optional(),
|
|
2694
|
+
styling_mode: z.enum(NEWSLETTER_STYLING_MODES).optional().describe(
|
|
2695
|
+
"styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it."
|
|
2696
|
+
),
|
|
2687
2697
|
idempotency_key: idempotencyKeySchema
|
|
2688
2698
|
});
|
|
2689
2699
|
var updateNewsletterInputSchema = z.object({
|
|
@@ -2699,9 +2709,10 @@ var updateNewsletterInputSchema = z.object({
|
|
|
2699
2709
|
blocks: newsletterDraftFieldsInputSchema.blocks,
|
|
2700
2710
|
send_window_hours: newsletterDraftFieldsInputSchema.send_window_hours,
|
|
2701
2711
|
archive_visibility: newsletterDraftFieldsInputSchema.archive_visibility,
|
|
2712
|
+
styling_mode: newsletterDraftFieldsInputSchema.styling_mode,
|
|
2702
2713
|
idempotency_key: idempotencyKeySchema
|
|
2703
2714
|
}).refine(
|
|
2704
|
-
(value) => value.audience_id !== void 0 || value.newsletter_domain_id !== void 0 || value.name !== void 0 || value.subject !== void 0 || value.preview_text !== void 0 || value.from_name !== void 0 || value.body_html !== void 0 || value.body_text !== void 0 || value.blocks !== void 0 || value.send_window_hours !== void 0 || value.archive_visibility !== void 0,
|
|
2715
|
+
(value) => value.audience_id !== void 0 || value.newsletter_domain_id !== void 0 || value.name !== void 0 || value.subject !== void 0 || value.preview_text !== void 0 || value.from_name !== void 0 || value.body_html !== void 0 || value.body_text !== void 0 || value.blocks !== void 0 || value.send_window_hours !== void 0 || value.archive_visibility !== void 0 || value.styling_mode !== void 0,
|
|
2705
2716
|
{
|
|
2706
2717
|
message: "Provide at least one newsletter field to update."
|
|
2707
2718
|
}
|
|
@@ -5993,7 +6004,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
5993
6004
|
"shipmail_create_newsletter",
|
|
5994
6005
|
{
|
|
5995
6006
|
title: "Create Newsletter",
|
|
5996
|
-
description: "Create a newsletter draft for an audience and sending domain. Prefer blocks for body content; Shipmail renders them to email-safe HTML and text. Provide at least one of blocks, body_html, or body_text. Drafts must pass preflight before scheduling.",
|
|
6007
|
+
description: "Create a newsletter draft for an audience and sending domain. Prefer blocks for body content; Shipmail renders them to email-safe HTML and text. Provide at least one of blocks, body_html, or body_text. Drafts must pass preflight before scheduling. styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it.",
|
|
5997
6008
|
inputSchema: createNewsletterInputSchema,
|
|
5998
6009
|
outputSchema: newsletterOutputSchema,
|
|
5999
6010
|
annotations: {
|
|
@@ -6016,7 +6027,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
6016
6027
|
"shipmail_create_newsletter_from_changelog",
|
|
6017
6028
|
{
|
|
6018
6029
|
title: "Create Newsletter From Changelog",
|
|
6019
|
-
description: "Create a newsletter draft from changelog entries, attached media, tone, and an optional final CTA. ShipMail renders the entries into email-safe blocks.",
|
|
6030
|
+
description: "Create a newsletter draft from changelog entries, attached media, tone, and an optional final CTA. ShipMail renders the entries into email-safe blocks. styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it.",
|
|
6020
6031
|
inputSchema: createNewsletterFromChangelogInputSchema,
|
|
6021
6032
|
outputSchema: newsletterOutputSchema,
|
|
6022
6033
|
annotations: {
|
|
@@ -6039,7 +6050,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
6039
6050
|
"shipmail_update_newsletter",
|
|
6040
6051
|
{
|
|
6041
6052
|
title: "Update Newsletter",
|
|
6042
|
-
description: "Update an editable newsletter draft or future scheduled newsletter. Prefer blocks for body content. When blocks already exist, body_text alone updates the plain-text override. Sending and sent newsletters cannot be edited. A concurrent save returns conflict (409); read the latest newsletter before retrying.",
|
|
6053
|
+
description: "Update an editable newsletter draft or future scheduled newsletter. Prefer blocks for body content. When blocks already exist, body_text alone updates the plain-text override. Sending and sent newsletters cannot be edited. A concurrent save returns conflict (409); read the latest newsletter before retrying. styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it.",
|
|
6043
6054
|
inputSchema: updateNewsletterInputSchema,
|
|
6044
6055
|
outputSchema: newsletterOutputSchema,
|
|
6045
6056
|
annotations: {
|
|
@@ -6065,7 +6076,8 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
6065
6076
|
...rest.body_text !== void 0 ? { body_text: rest.body_text } : {},
|
|
6066
6077
|
...rest.blocks !== void 0 ? { blocks: rest.blocks } : {},
|
|
6067
6078
|
...rest.send_window_hours !== void 0 ? { send_window_hours: rest.send_window_hours } : {},
|
|
6068
|
-
...rest.archive_visibility !== void 0 ? { archive_visibility: rest.archive_visibility } : {}
|
|
6079
|
+
...rest.archive_visibility !== void 0 ? { archive_visibility: rest.archive_visibility } : {},
|
|
6080
|
+
...rest.styling_mode !== void 0 ? { styling_mode: rest.styling_mode } : {}
|
|
6069
6081
|
},
|
|
6070
6082
|
mutationOptions(args)
|
|
6071
6083
|
)
|
|
@@ -6903,7 +6915,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
6903
6915
|
}
|
|
6904
6916
|
|
|
6905
6917
|
// src/version.ts
|
|
6906
|
-
var VERSION = "0.5.
|
|
6918
|
+
var VERSION = "0.5.8";
|
|
6907
6919
|
|
|
6908
6920
|
// src/server.ts
|
|
6909
6921
|
var INSTRUCTIONS = `ShipMail MCP exposes the business email and calendar tools authorized by the connection's current ShipMail permissions.
|
package/dist/server.js
CHANGED
|
@@ -805,6 +805,7 @@ var NEWSLETTER_DOMAIN_STATUSES = [
|
|
|
805
805
|
];
|
|
806
806
|
var NEWSLETTER_DOMAIN_RECORD_STATUSES = ["pending", "verified", "failed"];
|
|
807
807
|
var NEWSLETTER_ARCHIVE_VISIBILITIES = ["private", "public"];
|
|
808
|
+
var NEWSLETTER_STYLING_MODES = ["styled", "plain"];
|
|
808
809
|
var NEWSLETTER_PREFLIGHT_STATUSES = ["not_run", "passed", "warning", "failed"];
|
|
809
810
|
var NEWSLETTER_PREFLIGHT_ITEM_STATUSES = ["pass", "warn", "fail"];
|
|
810
811
|
var NEWSLETTER_TEST_SEND_STATUSES = ["pending", "sent", "failed"];
|
|
@@ -2299,6 +2300,9 @@ var newsletterSchema = z.object({
|
|
|
2299
2300
|
body_text: z.string().nullable(),
|
|
2300
2301
|
status: z.enum(NEWSLETTER_STATUSES),
|
|
2301
2302
|
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES),
|
|
2303
|
+
styling_mode: z.enum(NEWSLETTER_STYLING_MODES).describe(
|
|
2304
|
+
"styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it."
|
|
2305
|
+
),
|
|
2302
2306
|
preflight_status: z.enum(NEWSLETTER_PREFLIGHT_STATUSES),
|
|
2303
2307
|
preflight_results: z.record(z.string(), z.unknown()),
|
|
2304
2308
|
send_window_hours: z.number().int(),
|
|
@@ -2536,7 +2540,10 @@ var newsletterDraftFieldsInputSchema = {
|
|
|
2536
2540
|
body_text: z.string().max(25e4).nullish(),
|
|
2537
2541
|
blocks: z.array(newsletterBlockInputSchema).min(1).max(200).optional(),
|
|
2538
2542
|
send_window_hours: z.number().int().min(1).max(24).optional(),
|
|
2539
|
-
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES).optional()
|
|
2543
|
+
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES).optional(),
|
|
2544
|
+
styling_mode: z.enum(NEWSLETTER_STYLING_MODES).optional().describe(
|
|
2545
|
+
"styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it."
|
|
2546
|
+
)
|
|
2540
2547
|
};
|
|
2541
2548
|
var createNewsletterInputSchema = z.object({
|
|
2542
2549
|
...newsletterDraftFieldsInputSchema,
|
|
@@ -2587,6 +2594,9 @@ var createNewsletterFromChangelogInputSchema = z.object({
|
|
|
2587
2594
|
}).optional(),
|
|
2588
2595
|
send_window_hours: z.number().int().min(1).max(24).optional(),
|
|
2589
2596
|
archive_visibility: z.enum(NEWSLETTER_ARCHIVE_VISIBILITIES).optional(),
|
|
2597
|
+
styling_mode: z.enum(NEWSLETTER_STYLING_MODES).optional().describe(
|
|
2598
|
+
"styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it."
|
|
2599
|
+
),
|
|
2590
2600
|
idempotency_key: idempotencyKeySchema
|
|
2591
2601
|
});
|
|
2592
2602
|
var updateNewsletterInputSchema = z.object({
|
|
@@ -2602,9 +2612,10 @@ var updateNewsletterInputSchema = z.object({
|
|
|
2602
2612
|
blocks: newsletterDraftFieldsInputSchema.blocks,
|
|
2603
2613
|
send_window_hours: newsletterDraftFieldsInputSchema.send_window_hours,
|
|
2604
2614
|
archive_visibility: newsletterDraftFieldsInputSchema.archive_visibility,
|
|
2615
|
+
styling_mode: newsletterDraftFieldsInputSchema.styling_mode,
|
|
2605
2616
|
idempotency_key: idempotencyKeySchema
|
|
2606
2617
|
}).refine(
|
|
2607
|
-
(value) => value.audience_id !== void 0 || value.newsletter_domain_id !== void 0 || value.name !== void 0 || value.subject !== void 0 || value.preview_text !== void 0 || value.from_name !== void 0 || value.body_html !== void 0 || value.body_text !== void 0 || value.blocks !== void 0 || value.send_window_hours !== void 0 || value.archive_visibility !== void 0,
|
|
2618
|
+
(value) => value.audience_id !== void 0 || value.newsletter_domain_id !== void 0 || value.name !== void 0 || value.subject !== void 0 || value.preview_text !== void 0 || value.from_name !== void 0 || value.body_html !== void 0 || value.body_text !== void 0 || value.blocks !== void 0 || value.send_window_hours !== void 0 || value.archive_visibility !== void 0 || value.styling_mode !== void 0,
|
|
2608
2619
|
{
|
|
2609
2620
|
message: "Provide at least one newsletter field to update."
|
|
2610
2621
|
}
|
|
@@ -5896,7 +5907,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
5896
5907
|
"shipmail_create_newsletter",
|
|
5897
5908
|
{
|
|
5898
5909
|
title: "Create Newsletter",
|
|
5899
|
-
description: "Create a newsletter draft for an audience and sending domain. Prefer blocks for body content; Shipmail renders them to email-safe HTML and text. Provide at least one of blocks, body_html, or body_text. Drafts must pass preflight before scheduling.",
|
|
5910
|
+
description: "Create a newsletter draft for an audience and sending domain. Prefer blocks for body content; Shipmail renders them to email-safe HTML and text. Provide at least one of blocks, body_html, or body_text. Drafts must pass preflight before scheduling. styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it.",
|
|
5900
5911
|
inputSchema: createNewsletterInputSchema,
|
|
5901
5912
|
outputSchema: newsletterOutputSchema,
|
|
5902
5913
|
annotations: {
|
|
@@ -5919,7 +5930,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
5919
5930
|
"shipmail_create_newsletter_from_changelog",
|
|
5920
5931
|
{
|
|
5921
5932
|
title: "Create Newsletter From Changelog",
|
|
5922
|
-
description: "Create a newsletter draft from changelog entries, attached media, tone, and an optional final CTA. ShipMail renders the entries into email-safe blocks.",
|
|
5933
|
+
description: "Create a newsletter draft from changelog entries, attached media, tone, and an optional final CTA. ShipMail renders the entries into email-safe blocks. styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it.",
|
|
5923
5934
|
inputSchema: createNewsletterFromChangelogInputSchema,
|
|
5924
5935
|
outputSchema: newsletterOutputSchema,
|
|
5925
5936
|
annotations: {
|
|
@@ -5942,7 +5953,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
5942
5953
|
"shipmail_update_newsletter",
|
|
5943
5954
|
{
|
|
5944
5955
|
title: "Update Newsletter",
|
|
5945
|
-
description: "Update an editable newsletter draft or future scheduled newsletter. Prefer blocks for body content. When blocks already exist, body_text alone updates the plain-text override. Sending and sent newsletters cannot be edited. A concurrent save returns conflict (409); read the latest newsletter before retrying.",
|
|
5956
|
+
description: "Update an editable newsletter draft or future scheduled newsletter. Prefer blocks for body content. When blocks already exist, body_text alone updates the plain-text override. Sending and sent newsletters cannot be edited. A concurrent save returns conflict (409); read the latest newsletter before retrying. styled applies Shipmail's email theme. plain sends your HTML without injected styles, width, or centering, so the reader's email client styles it.",
|
|
5946
5957
|
inputSchema: updateNewsletterInputSchema,
|
|
5947
5958
|
outputSchema: newsletterOutputSchema,
|
|
5948
5959
|
annotations: {
|
|
@@ -5968,7 +5979,8 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
5968
5979
|
...rest.body_text !== void 0 ? { body_text: rest.body_text } : {},
|
|
5969
5980
|
...rest.blocks !== void 0 ? { blocks: rest.blocks } : {},
|
|
5970
5981
|
...rest.send_window_hours !== void 0 ? { send_window_hours: rest.send_window_hours } : {},
|
|
5971
|
-
...rest.archive_visibility !== void 0 ? { archive_visibility: rest.archive_visibility } : {}
|
|
5982
|
+
...rest.archive_visibility !== void 0 ? { archive_visibility: rest.archive_visibility } : {},
|
|
5983
|
+
...rest.styling_mode !== void 0 ? { styling_mode: rest.styling_mode } : {}
|
|
5972
5984
|
},
|
|
5973
5985
|
mutationOptions(args)
|
|
5974
5986
|
)
|
|
@@ -6806,7 +6818,7 @@ function registerTools(rawServer, client, allowedTools, grantedOrganizations = [
|
|
|
6806
6818
|
}
|
|
6807
6819
|
|
|
6808
6820
|
// src/version.ts
|
|
6809
|
-
var VERSION = "0.5.
|
|
6821
|
+
var VERSION = "0.5.8";
|
|
6810
6822
|
|
|
6811
6823
|
// src/server.ts
|
|
6812
6824
|
var INSTRUCTIONS = `ShipMail MCP exposes the business email and calendar tools authorized by the connection's current ShipMail permissions.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shipmail-mcp",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.8",
|
|
4
4
|
"mcpName": "io.github.jcoulaud/shipmail-mcp",
|
|
5
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.",
|
|
6
6
|
"type": "module",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
62
|
-
"shipmail": "0.4.
|
|
62
|
+
"shipmail": "0.4.4",
|
|
63
63
|
"zod": "4.4.3"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/jcoulaud/shipmail-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.5.
|
|
9
|
+
"version": "0.5.8",
|
|
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.5.
|
|
30
|
+
"version": "0.5.8",
|
|
31
31
|
"transport": {
|
|
32
32
|
"type": "stdio"
|
|
33
33
|
},
|
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.5.
|
|
3
|
+
version: 0.5.8
|
|
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/jcoulaud/shipmail-mcp
|