@sendraven/mcp 0.3.0 → 0.4.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 CHANGED
@@ -82,7 +82,7 @@ hold. The tools respect all three. See
82
82
  ## Tools
83
83
 
84
84
  <!-- tools:start -->
85
- 49 tools, generated from the server's registry.
85
+ 50 tools, generated from the server's registry.
86
86
 
87
87
  | Tool | What it does |
88
88
  | --- | --- |
@@ -118,7 +118,8 @@ hold. The tools respect all three. See
118
118
  | `get_email_preferences` | What one person has chosen to receive. Check this before asking a human why someone isn't getting a particular kind of email — an opt-out looks identical to a delivery failure from the outside. |
119
119
  | `set_email_preferences` | Set which topics a person receives. Only do this when they have actually asked — silently re-subscribing someone who opted out is what generates spam complaints. |
120
120
  | `list_audiences` | List contact lists and how many contacts each holds. |
121
- | `add_contact` | Add someone to an audience. A contact exists once per workspace and can be on any number of audiences, so adding an address that already exists joins them to this list rather than creating a second copy. Safe to retry. |
121
+ | `add_contact` | Add someone to an audience. A contact exists once per workspace and can be on any number of audiences, so adding an address that already exists joins them to this list rather than creating a second copy. Pass status when the person has opted out elsewhere — it writes the suppression as well as the flag, and an add never resubscribes someone who opted out here. Safe to retry. For more than a handful of people use import_contacts. |
122
+ | `import_contacts` | Import up to 5,000 contacts into an audience in one call, with names, tags, custom properties and subscription status. This is the migration tool: send the previous provider's unsubscribed, bounced and complained lists with the matching status *before* the first campaign, or the new domain mails people who opted out and loses its reputation in a day. Existing contacts are updated rather than duplicated, and nobody who opted out here is resubscribed, so re-running an import is safe. Returns counts: inserted, updated, skipped, unsubscribed, bounced, complained, suppressed, properties_created. |
122
123
  | `get_contact` | Fetch one contact by id, with their audience memberships, custom properties and engagement dates. |
123
124
  | `update_contact` | Update a contact. Attributes are merged, so sending one field does not clear the rest. |
124
125
  | `list_segments` | List saved audience filters. Use a segment id when creating a campaign rather than describing the filter inline, so the same definition can be reused and counted. |
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listTagsTool = exports.tagContactTool = exports.deleteContactTool = exports.removeFromAudienceTool = exports.findContactTool = exports.countSegmentTool = exports.listSegmentsTool = exports.updateContactTool = exports.getContactTool = exports.addContactTool = exports.listAudiencesTool = void 0;
3
+ exports.listTagsTool = exports.tagContactTool = exports.deleteContactTool = exports.removeFromAudienceTool = exports.findContactTool = exports.countSegmentTool = exports.listSegmentsTool = exports.updateContactTool = exports.getContactTool = exports.importContactsTool = exports.addContactTool = exports.listAudiencesTool = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const client_1 = require("../client");
6
6
  exports.listAudiencesTool = {
@@ -9,22 +9,57 @@ exports.listAudiencesTool = {
9
9
  schema: {},
10
10
  handler: async () => (0, client_1.request)("GET", "/v1/audiences"),
11
11
  };
12
+ const CONTACT_STATUS = zod_1.z.enum(["subscribed", "unsubscribed", "bounced", "complained"]);
13
+ const contactFields = {
14
+ email: zod_1.z.string().email(),
15
+ first_name: zod_1.z.string().optional(),
16
+ last_name: zod_1.z.string().optional(),
17
+ tags: zod_1.z.array(zod_1.z.string()).optional().describe("Flat labels; lower-cased, spaces become hyphens"),
18
+ attributes: zod_1.z
19
+ .record(zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean()]))
20
+ .optional()
21
+ .describe("Custom properties by key. An unknown key creates a string property."),
22
+ status: CONTACT_STATUS.optional().describe("Standing with the previous sender. unsubscribed suppresses for marketing; bounced and " +
23
+ "complained suppress for everything. Defaults to subscribed."),
24
+ };
12
25
  exports.addContactTool = {
13
26
  name: "add_contact",
14
27
  description: "Add someone to an audience. A contact exists once per workspace and can be on any number " +
15
28
  "of audiences, so adding an address that already exists joins them to this list rather than " +
16
- "creating a second copy. Safe to retry.",
29
+ "creating a second copy. Pass status when the person has opted out elsewhere — it writes the " +
30
+ "suppression as well as the flag, and an add never resubscribes someone who opted out here. " +
31
+ "Safe to retry. For more than a handful of people use import_contacts.",
17
32
  schema: {
18
33
  audience_id: zod_1.z.string(),
19
- email: zod_1.z.string().email(),
20
- first_name: zod_1.z.string().optional(),
21
- last_name: zod_1.z.string().optional(),
34
+ ...contactFields,
22
35
  },
23
36
  handler: async (args) => {
24
37
  const { audience_id, ...body } = args;
25
38
  return (0, client_1.request)("POST", `/v1/audiences/${audience_id}/contacts`, body);
26
39
  },
27
40
  };
41
+ exports.importContactsTool = {
42
+ name: "import_contacts",
43
+ description: "Import up to 5,000 contacts into an audience in one call, with names, tags, custom " +
44
+ "properties and subscription status. This is the migration tool: send the previous " +
45
+ "provider's unsubscribed, bounced and complained lists with the matching status *before* " +
46
+ "the first campaign, or the new domain mails people who opted out and loses its reputation " +
47
+ "in a day. Existing contacts are updated rather than duplicated, and nobody who opted out " +
48
+ "here is resubscribed, so re-running an import is safe. Returns counts: inserted, updated, " +
49
+ "skipped, unsubscribed, bounced, complained, suppressed, properties_created.",
50
+ schema: {
51
+ audience_id: zod_1.z.string(),
52
+ contacts: zod_1.z.array(zod_1.z.object(contactFields)).min(1).max(5000),
53
+ source: zod_1.z
54
+ .string()
55
+ .optional()
56
+ .describe("Where the list came from, e.g. \"Mailchimp\" — recorded on each suppression"),
57
+ },
58
+ handler: async (args) => {
59
+ const q = args.source ? `?source=${encodeURIComponent(String(args.source))}` : "";
60
+ return (0, client_1.request)("POST", `/v1/audiences/${args.audience_id}/contacts${q}`, args.contacts);
61
+ },
62
+ };
28
63
  exports.getContactTool = {
29
64
  name: "get_contact",
30
65
  description: "Fetch one contact by id, with their audience memberships, custom properties and " +
@@ -1 +1 @@
1
- {"version":3,"file":"audiences.js","sourceRoot":"","sources":["../../src/tools/audiences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audiences.js","sourceRoot":"","sources":["../../src/tools/audiences.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ exports.TOOLS = [
55
55
  topics_1.setPreferencesTool,
56
56
  audiences_1.listAudiencesTool,
57
57
  audiences_1.addContactTool,
58
+ audiences_1.importContactsTool,
58
59
  audiences_1.getContactTool,
59
60
  audiences_1.updateContactTool,
60
61
  audiences_1.listSegmentsTool,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,qCAKkB;AAClB,uCAA6E;AAC7E,iDAIwB;AACxB,6CAQsB;AACtB,uCAA+E;AAC/E,2CAAsF;AACtF,2CAAoE;AACpE,+CAA+E;AAC/E,qCAAkF;AAClF,2CAYqB;AACrB,6CAQsB;AAeT,QAAA,KAAK,GAAc;IAC9B,sBAAa;IACb,uBAAc;IACd,qBAAY;IACZ,wBAAe;IACf,yBAAe;IACf,uBAAa;IACb,0BAAgB;IAChB,mCAAoB;IACpB,iCAAkB;IAClB,oCAAqB;IACrB,gCAAmB;IACnB,6BAAgB;IAChB,+BAAkB;IAClB,iCAAoB;IACpB,8BAAiB;IACjB,oCAAuB;IACvB,gCAAmB;IACnB,yBAAe;IACf,uBAAa;IACb,4BAAkB;IAClB,6BAAiB;IACjB,8BAAkB;IAClB,4BAAgB;IAChB,6BAAiB;IACjB,8BAAkB;IAClB,iCAAmB;IACnB,wBAAU;IACV,2BAAa;IACb,uBAAc;IACd,2BAAkB;IAClB,2BAAkB;IAClB,6BAAiB;IACjB,0BAAc;IACd,0BAAc;IACd,6BAAiB;IACjB,4BAAgB;IAChB,wBAAY;IACZ,4BAAgB;IAChB,wBAAW;IACX,8BAAiB;IACjB,8BAAiB;IACjB,kCAAqB;IACrB,oCAAuB;IACvB,4BAAe;IACf,yBAAY;IACZ,2BAAe;IACf,kCAAsB;IACtB,6BAAiB;IACjB,0BAAc;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,qCAKkB;AAClB,uCAA6E;AAC7E,iDAIwB;AACxB,6CAQsB;AACtB,uCAA+E;AAC/E,2CAAsF;AACtF,2CAAoE;AACpE,+CAA+E;AAC/E,qCAAkF;AAClF,2CAaqB;AACrB,6CAQsB;AAeT,QAAA,KAAK,GAAc;IAC9B,sBAAa;IACb,uBAAc;IACd,qBAAY;IACZ,wBAAe;IACf,yBAAe;IACf,uBAAa;IACb,0BAAgB;IAChB,mCAAoB;IACpB,iCAAkB;IAClB,oCAAqB;IACrB,gCAAmB;IACnB,6BAAgB;IAChB,+BAAkB;IAClB,iCAAoB;IACpB,8BAAiB;IACjB,oCAAuB;IACvB,gCAAmB;IACnB,yBAAe;IACf,uBAAa;IACb,4BAAkB;IAClB,6BAAiB;IACjB,8BAAkB;IAClB,4BAAgB;IAChB,6BAAiB;IACjB,8BAAkB;IAClB,iCAAmB;IACnB,wBAAU;IACV,2BAAa;IACb,uBAAc;IACd,2BAAkB;IAClB,2BAAkB;IAClB,6BAAiB;IACjB,0BAAc;IACd,8BAAkB;IAClB,0BAAc;IACd,6BAAiB;IACjB,4BAAgB;IAChB,wBAAY;IACZ,4BAAgB;IAChB,wBAAW;IACX,8BAAiB;IACjB,8BAAiB;IACjB,kCAAqB;IACrB,oCAAuB;IACvB,4BAAe;IACf,yBAAY;IACZ,2BAAe;IACf,kCAAsB;IACtB,6BAAiB;IACjB,0BAAc;CACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendraven/mcp",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "MCP server for SendRaven: send email, read replies as threads, run campaigns, and decide approvals, with per-key limits for agents.",
5
5
  "mcpName": "ai.sendraven/mcp",
6
6
  "license": "MIT",
package/server.json CHANGED
@@ -6,14 +6,14 @@
6
6
  "url": "https://github.com/CommonNinja/sendraven-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.3.0",
9
+ "version": "0.4.0",
10
10
  "websiteUrl": "https://sendraven.ai/mcp",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "registryBaseUrl": "https://registry.npmjs.org",
15
15
  "identifier": "@sendraven/mcp",
16
- "version": "0.3.0",
16
+ "version": "0.4.0",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  },