@sendora/mcp 1.12.0 → 1.13.1
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/generated/docs.json +1 -1
- package/dist/generated/screens/domain-records.html +1 -1
- package/dist/generated/screens/message-timeline.html +1 -1
- package/dist/tools/message-fields.js +2 -2
- package/dist/tools/tracking-domains.js +2 -2
- package/dist/tools/tracking-opt-outs.js +3 -4
- package/dist/tools/webhooks.js +1 -0
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -128,10 +128,10 @@ export const substitutions = z
|
|
|
128
128
|
path: [key],
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
-
else if (key === 'unsubscribe_url') {
|
|
131
|
+
else if (key === 'unsubscribe_url' || key === 'tracking_opt_out_url') {
|
|
132
132
|
ctx.addIssue({
|
|
133
133
|
code: 'custom',
|
|
134
|
-
message:
|
|
134
|
+
message: `${key} is filled in by Sendora`,
|
|
135
135
|
path: [key],
|
|
136
136
|
});
|
|
137
137
|
}
|
|
@@ -69,7 +69,7 @@ export const listTrackingDomainsTool = {
|
|
|
69
69
|
operations: ['GET /v1/tracking-domains'],
|
|
70
70
|
register: (server, { connection }) => server.registerTool('list_tracking_domains', {
|
|
71
71
|
title: 'List the tracking domains',
|
|
72
|
-
description: "Lists the account's tracking domains, the hosts that tracked links and the open pixel use, each with the CNAME record it needs, its state and what the last check found. check_tracking_domain looks them up now.
|
|
72
|
+
description: "Lists the account's tracking domains, the hosts that tracked links and the open pixel use, each with the CNAME record it needs, its state and what the last check found. check_tracking_domain looks them up now.",
|
|
73
73
|
inputSchema: z.object({}),
|
|
74
74
|
outputSchema: z.object({
|
|
75
75
|
trackingDomains: z
|
|
@@ -127,7 +127,7 @@ export const addTrackingDomainTool = {
|
|
|
127
127
|
operations: ['POST /v1/tracking-domains'],
|
|
128
128
|
register: (server, { connection }) => server.registerTool('add_tracking_domain', {
|
|
129
129
|
title: 'Add a tracking domain',
|
|
130
|
-
description: "Claims a host under one of the account's verified sending domains for tracked links and the open pixel, and answers the CNAME record for the user to add to the domain's DNS. check_tracking_domain then looks it up. A host whose records are not right within 7 days goes.
|
|
130
|
+
description: "Claims a host under one of the account's verified sending domains for tracked links and the open pixel, and answers the CNAME record for the user to add to the domain's DNS. check_tracking_domain then looks it up. A host whose records are not right within 7 days goes. This is for tracking only: add_domain adds the domain mail is sent from.",
|
|
131
131
|
inputSchema: z.object({
|
|
132
132
|
host: z
|
|
133
133
|
.string()
|
|
@@ -6,7 +6,7 @@ export const trackingOptOutOutput = z.object({
|
|
|
6
6
|
address: z
|
|
7
7
|
.string()
|
|
8
8
|
.nullable()
|
|
9
|
-
.describe('The recipient, lower-cased. Null
|
|
9
|
+
.describe('The recipient, lower-cased. Null when only a keyed hash is left: after an erasure, or when the recipient asked from mail that had left the log.'),
|
|
10
10
|
source: z
|
|
11
11
|
.enum(['manual', 'recipient'])
|
|
12
12
|
.describe('manual: added through the API or the dashboard. recipient: the recipient asked for it.'),
|
|
@@ -19,7 +19,6 @@ export const trackingOptOutOutput = z.object({
|
|
|
19
19
|
export const removedTrackingOptOutOutput = z.object({
|
|
20
20
|
address: z.string().describe('The address taken off the list.'),
|
|
21
21
|
});
|
|
22
|
-
const NOT_OPEN_YET = 'Tracking is not open to accounts yet, so the list changes nothing until it is.';
|
|
23
22
|
export const listTrackingOptOutsTool = {
|
|
24
23
|
name: 'list_tracking_opt_outs',
|
|
25
24
|
title: 'List the not-tracked addresses',
|
|
@@ -28,7 +27,7 @@ export const listTrackingOptOutsTool = {
|
|
|
28
27
|
operations: ['GET /v1/tracking-opt-outs'],
|
|
29
28
|
register: (server, { connection, targets }) => registerServerTool(server, targets, 'list_tracking_opt_outs', {
|
|
30
29
|
title: 'List the not-tracked addresses',
|
|
31
|
-
description: `Lists the addresses this server never tracks, on any of its streams, newest first. An entry whose address is null was erased, and only a keyed hash of it remains
|
|
30
|
+
description: `Lists the addresses this server never tracks, on any of its streams, newest first. An entry whose address is null was erased, and only a keyed hash of it remains.`,
|
|
32
31
|
inputSchema: z.object({
|
|
33
32
|
limit: z
|
|
34
33
|
.number()
|
|
@@ -68,7 +67,7 @@ export const addTrackingOptOutTool = {
|
|
|
68
67
|
operations: ['POST /v1/tracking-opt-outs'],
|
|
69
68
|
register: (server, { connection, targets }) => registerServerTool(server, targets, 'add_tracking_opt_out', {
|
|
70
69
|
title: 'Add a not-tracked address',
|
|
71
|
-
description: `Puts an address on this server's not-tracked list. New mail to it goes untracked, and its later opens and clicks are not recorded, from mail already sent too. An address already on the list changes nothing, and the answer is its entry as it stands
|
|
70
|
+
description: `Puts an address on this server's not-tracked list. New mail to it goes untracked, and its later opens and clicks are not recorded, from mail already sent too. An address already on the list changes nothing, and the answer is its entry as it stands.`,
|
|
72
71
|
inputSchema: z.object({
|
|
73
72
|
address: z.email().describe('The address never to track.'),
|
|
74
73
|
}),
|
package/dist/tools/webhooks.js
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** This package's version, held equal to its package.json by a test. */
|
|
2
|
-
export const MCP_VERSION = '1.
|
|
2
|
+
export const MCP_VERSION = '1.13.1';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sendora/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.1",
|
|
4
4
|
"description": "The official MCP server for Sendora: its documentation and API for coding agents.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@modelcontextprotocol/server": "^2.1.0",
|
|
27
27
|
"zod": "^4.6.2",
|
|
28
|
-
"@sendora/sdk": "^5.
|
|
28
|
+
"@sendora/sdk": "^5.5.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@anthropic-ai/mcpb": "2.1.2",
|