shipmail-mcp 0.1.0 → 0.1.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/README.md +49 -0
- package/dist/index.js +1 -1
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -49,6 +49,41 @@ The command also supports `--tools`:
|
|
|
49
49
|
}
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
+
## Production smoke test
|
|
53
|
+
|
|
54
|
+
From the repository root, run the smoke test against the published npm package:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
SHIPMAIL_API_KEY=sm_live_... bun run smoke:mcp:production
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The default mode installs `shipmail-mcp@latest` in a temporary directory, starts the published binary
|
|
61
|
+
over MCP stdio, lists tools, checks production status, and exercises read-only domain, mailbox,
|
|
62
|
+
message, webhook, and suppression calls. It does not send email or mutate account state by default.
|
|
63
|
+
|
|
64
|
+
Opt into controlled mutations explicitly:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
SHIPMAIL_API_KEY=sm_live_... bun run smoke:mcp:production -- --webhook-mutations
|
|
68
|
+
SHIPMAIL_API_KEY=sm_live_... bun run smoke:mcp:production -- --send-to you@example.com
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The webhook mode creates a disposable webhook, updates it, rotates its secret, lists deliveries,
|
|
72
|
+
deletes it, and confirms deletion. The send mode sends one email and polls the message until it
|
|
73
|
+
leaves `queued` or the poll window expires.
|
|
74
|
+
|
|
75
|
+
## Releases
|
|
76
|
+
|
|
77
|
+
Version bumps are managed by release-please. Use conventional commits scoped to `mcp` for changes
|
|
78
|
+
that should produce a package release. The CI publish job rewrites the workspace SDK dependency to
|
|
79
|
+
the published `shipmail` SDK version before publishing to npm.
|
|
80
|
+
|
|
81
|
+
The MCP package is published from the `Release Please` GitHub Actions workflow. Configure npm
|
|
82
|
+
trusted publishing for `shipmail-mcp` with owner `jcoulaud`, repository `ShipMail`, workflow
|
|
83
|
+
filename `release-please.yml`, and environment `npm-publish`. Manual catch-up publishes use the same
|
|
84
|
+
workflow with the `publish_mcp` input enabled. Because the source repository is private, the workflow
|
|
85
|
+
publishes with `--provenance=false`; npm provenance can be enabled after the repository is public.
|
|
86
|
+
|
|
52
87
|
## Security model
|
|
53
88
|
|
|
54
89
|
- All tools are namespaced with the prefix `shipmail_` so they cannot collide with same-named tools registered by peer MCP servers in the same host.
|
|
@@ -97,3 +132,17 @@ This server forwards email subject lines, bodies, headers, attachment metadata,
|
|
|
97
132
|
- `triage_mailbox`
|
|
98
133
|
- `draft_reply`
|
|
99
134
|
- `configure_webhook`
|
|
135
|
+
|
|
136
|
+
## Release notes
|
|
137
|
+
|
|
138
|
+
### 0.1.0
|
|
139
|
+
|
|
140
|
+
- First public npm release of the official ShipMail MCP server.
|
|
141
|
+
- Local stdio transport for MCP-compatible hosts, including Claude Desktop, Cursor, and Windsurf.
|
|
142
|
+
- Tool coverage for status, domains, mailboxes, messages, threads, webhooks, and suppressions.
|
|
143
|
+
- Read-only resources and guided prompts for domain setup, mailbox triage, reply drafting, and
|
|
144
|
+
webhook configuration.
|
|
145
|
+
- Safety controls for namespaced tool IDs, strict Zod schemas, structured outputs, redacted
|
|
146
|
+
unexpected errors, prompt-injection-oriented sanitization, public HTTPS webhook validation,
|
|
147
|
+
idempotency keys, destructive tool annotations, and per-session circuit breakers.
|
|
148
|
+
- Hosted Streamable HTTP and domain purchase are intentionally excluded from this release.
|
package/dist/index.js
CHANGED
|
@@ -1681,7 +1681,7 @@ function registerTools(server, client, selectedTools) {
|
|
|
1681
1681
|
}
|
|
1682
1682
|
|
|
1683
1683
|
// src/version.ts
|
|
1684
|
-
var VERSION = "0.1.
|
|
1684
|
+
var VERSION = "0.1.1";
|
|
1685
1685
|
|
|
1686
1686
|
// src/server.ts
|
|
1687
1687
|
var INSTRUCTIONS = `ShipMail MCP exposes business email tools for domains, mailboxes, messages, threads, webhooks, and suppressions.
|
package/package.json
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shipmail-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Official MCP server for ShipMail",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"bin":
|
|
6
|
+
"bin": {
|
|
7
|
+
"shipmail-mcp": "dist/index.js"
|
|
8
|
+
},
|
|
7
9
|
"files": [
|
|
8
10
|
"dist",
|
|
9
11
|
"README.md",
|
|
@@ -13,7 +15,8 @@
|
|
|
13
15
|
"build": "tsup",
|
|
14
16
|
"dev": "tsx src/index.ts",
|
|
15
17
|
"typecheck": "tsc --noEmit",
|
|
16
|
-
"test": "bun test"
|
|
18
|
+
"test": "bun test",
|
|
19
|
+
"prepack": "bun run build"
|
|
17
20
|
},
|
|
18
21
|
"keywords": [
|
|
19
22
|
"shipmail",
|
|
@@ -37,12 +40,11 @@
|
|
|
37
40
|
"node": ">=20"
|
|
38
41
|
},
|
|
39
42
|
"publishConfig": {
|
|
40
|
-
"access": "public"
|
|
41
|
-
"provenance": false
|
|
43
|
+
"access": "public"
|
|
42
44
|
},
|
|
43
45
|
"dependencies": {
|
|
44
46
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
45
|
-
"shipmail": "0.1.
|
|
47
|
+
"shipmail": "0.1.20",
|
|
46
48
|
"zod": "4.3.6"
|
|
47
49
|
},
|
|
48
50
|
"devDependencies": {
|