groundmail-mcp 0.8.0 → 0.9.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.
Files changed (2) hide show
  1. package/dist/index.js +17 -6
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -150,6 +150,9 @@ var emailItem = object(
150
150
  heldBackItem(),
151
151
  "Recipients Groundmail validation held back before sending, with why; empty when none were"
152
152
  ),
153
+ test: boolean(
154
+ "True when the email never reached the mail server: sent with a test key (gm_test_\u2026) or only to simulator addresses. Its status and events are simulated"
155
+ ),
153
156
  tags: { description: "Tags attached to the email" },
154
157
  scheduled_at: nullableString("When the email is scheduled to send (ISO 8601)"),
155
158
  cancelled_at: nullableString("When the scheduled email was cancelled (ISO 8601)"),
@@ -267,7 +270,8 @@ var sendEmailOutput = object(
267
270
  held_back: arrayOf(
268
271
  heldBackItem(),
269
272
  "Present when Groundmail validation held some recipients back; the email went to the rest"
270
- )
273
+ ),
274
+ test: boolean("Present and true on a test send (test key or simulator addresses): nothing was delivered")
271
275
  },
272
276
  ["id", "status"]
273
277
  );
@@ -500,7 +504,8 @@ async function callMcpTool(client, name, args) {
500
504
  case "list_emails": {
501
505
  const result = await client.emails.list({
502
506
  limit: optNumber(args, "limit"),
503
- cursor: optString(args, "cursor")
507
+ cursor: optString(args, "cursor"),
508
+ ...typeof args.test === "boolean" ? { test: args.test } : {}
504
509
  });
505
510
  return textResult(result);
506
511
  }
@@ -743,12 +748,15 @@ var readOnly = (title) => ({
743
748
  var MCP_TOOLS = [
744
749
  {
745
750
  name: "send_email",
746
- description: "Send a transactional email via Groundmail. Provide subject + html/text, or a published template_id / template_alias with optional variables.",
751
+ description: "Send a transactional email via Groundmail. Provide subject + html/text, or a published template_id / template_alias with optional variables. To test without delivering anything, send to a simulator address: delivered@, bounce@, block@, complaint@, suppressed@ or delayed@simulator.groundmail.dev (plus addressing like bounce+test1@ works); the result has test: true and webhooks fire as for real mail.",
747
752
  inputSchema: {
748
753
  type: "object",
749
754
  properties: {
750
755
  from: { type: "string", description: "Sender address (must match a verified domain or sandbox sender)" },
751
- to: { type: "string", description: "Recipient email address" },
756
+ to: {
757
+ type: "string",
758
+ description: "Recipient email address. A \u2026@simulator.groundmail.dev address simulates an outcome and never delivers"
759
+ },
752
760
  subject: { type: "string", description: "Subject line. Optional when using a published template" },
753
761
  html: { type: "string", description: "HTML body. Do not combine with template_id or template_alias" },
754
762
  text: { type: "string", description: "Plain-text body. Do not combine with template_id or template_alias" },
@@ -774,10 +782,13 @@ var MCP_TOOLS = [
774
782
  },
775
783
  {
776
784
  name: "list_emails",
777
- description: "List recent emails sent from this account.",
785
+ description: "List recent emails sent from this account. Test emails (test keys, simulator addresses) have test: true.",
778
786
  inputSchema: {
779
787
  type: "object",
780
- properties: { ...paginationProps }
788
+ properties: {
789
+ ...paginationProps,
790
+ test: { type: "boolean", description: "true: only test emails; false: only live ones. Omit for both" }
791
+ }
781
792
  },
782
793
  outputSchema: pagedOutput("emails", emailItem, "Emails on this page, newest first"),
783
794
  annotations: readOnly("List emails")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groundmail-mcp",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "mcpName": "io.github.Groundmail/groundmail",
5
5
  "description": "Groundmail MCP server: send transactional email, manage domains, templates, webhooks and suppressions from Claude, Cursor, ChatGPT and other MCP clients",
6
6
  "license": "MIT",
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@modelcontextprotocol/sdk": "^1.30.0",
44
- "groundmail": "0.16.0"
44
+ "groundmail": "0.17.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "tsup": "^8.5.0",