stalwart-mail-mcp 2.2.0 → 2.3.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/Dockerfile ADDED
@@ -0,0 +1,17 @@
1
+ # Remote mode: MCP over HTTP next to your Stalwart server (see docs/remote.md).
2
+ FROM node:22-alpine AS build
3
+ WORKDIR /app
4
+ COPY package.json package-lock.json tsconfig.json ./
5
+ RUN npm ci --ignore-scripts && npm rebuild esbuild
6
+ COPY src ./src
7
+ RUN npm run build
8
+
9
+ FROM node:22-alpine
10
+ ENV NODE_ENV=production
11
+ WORKDIR /app
12
+ COPY --from=build /app/dist/index.cjs ./dist/index.cjs
13
+ COPY LICENSE THIRD-PARTY-NOTICES.md ./
14
+ USER node
15
+ EXPOSE 8787
16
+ HEALTHCHECK --interval=30s --timeout=5s --retries=3 CMD wget -qO- http://127.0.0.1:8787/health >/dev/null || exit 1
17
+ CMD ["node", "dist/index.cjs", "--http"]
package/README.cs.md CHANGED
@@ -15,6 +15,11 @@ Claude Desktop ──stdio──▶ dist/index.cjs (Node, tento MCP server)
15
15
  https://mail.example.com/jmap (reverzní proxy → Stalwart)
16
16
  ```
17
17
 
18
+ Existuje i **vzdálený režim**: tentýž server puštěný vedle Stalwartu a přidaný do Clauda jako
19
+ vlastní konektor, takže schránka funguje v claude.ai, v mobilních aplikacích i v každém
20
+ desktopovém chatu — lidé se přihlašují přes OAuth samotného Stalwartu a server žádné
21
+ přihlašovací údaje nedrží. Viz [docs/vzdaleny-server.md](docs/vzdaleny-server.md).
22
+
18
23
  Jak ho zapojit do malé vlastní infrastruktury — reverzní proxy, co pustit ven, sdílené
19
24
  schránky, vlastní balíček pro rodinu nebo tým — popisuje
20
25
  [docs/mala-infrastruktura.md](docs/mala-infrastruktura.md).
@@ -57,16 +62,16 @@ Heslo se ukládá do klíčenky systému.
57
62
 
58
63
  ### Jakýkoli MCP klient (stdio)
59
64
 
60
- ```bash
61
- npm install && npm run build
62
- ```
65
+ Server je na npm jako [`stalwart-mail-mcp`](https://www.npmjs.com/package/stalwart-mail-mcp)
66
+ a v [registru MCP](https://registry.modelcontextprotocol.io) jako
67
+ `io.github.cybersmurf/stalwart-mail-mcp`, takže není potřeba nic stahovat:
63
68
 
64
69
  ```json
65
70
  {
66
71
  "mcpServers": {
67
72
  "stalwart-mail": {
68
- "command": "node",
69
- "args": ["/cesta/k/stalwart-mail-mcp/dist/index.cjs"],
73
+ "command": "npx",
74
+ "args": ["-y", "stalwart-mail-mcp"],
70
75
  "env": {
71
76
  "STALWART_URL": "https://mail.example.com",
72
77
  "STALWART_USER": "jana@example.com",
@@ -77,7 +82,13 @@ npm install && npm run build
77
82
  }
78
83
  ```
79
84
 
80
- Claude Code: `claude mcp add stalwart-mail --env STALWART_URL=https://mail.example.com --env STALWART_USER=jana@example.com --env STALWART_PASSWORD=… -- node /cesta/k/stalwart-mail-mcp/dist/index.cjs`
85
+ Claude Code: `claude mcp add stalwart-mail --env STALWART_URL=https://mail.example.com --env STALWART_USER=jana@example.com --env STALWART_PASSWORD=… -- npx -y stalwart-mail-mcp`
86
+
87
+ ### Claude na webu, v desktopovém chatu a v telefonu
88
+
89
+ Pusť server vedle Stalwartu (`stalwart-mail-mcp --http`, nebo obraz pro Docker) a přidej jeho
90
+ adresu jako vlastní konektor — krok za krokem v
91
+ [docs/vzdaleny-server.md](docs/vzdaleny-server.md).
81
92
 
82
93
  ## Nastavení
83
94
 
package/README.md CHANGED
@@ -15,6 +15,11 @@ Claude Desktop ──stdio──▶ dist/index.cjs (Node, this MCP server)
15
15
  https://mail.example.com/jmap (reverse proxy → Stalwart)
16
16
  ```
17
17
 
18
+ There is also a **remote mode**: the same server run next to Stalwart, added to Claude as a
19
+ custom connector, so the mailbox works in claude.ai, the mobile apps and every desktop chat —
20
+ people sign in through Stalwart's own OAuth and the server holds no credentials. See
21
+ [docs/remote.md](docs/remote.md).
22
+
18
23
  How it fits into a small self-hosted setup — reverse proxy, what to expose, shared mailboxes,
19
24
  branded builds for a family or a team — is described in
20
25
  [docs/small-infrastructure.md](docs/small-infrastructure.md).
@@ -57,16 +62,16 @@ Mistral API key for OCR. The password is kept in the operating system's keychain
57
62
 
58
63
  ### Any MCP client (stdio)
59
64
 
60
- ```bash
61
- npm install && npm run build
62
- ```
65
+ The server is on npm as [`stalwart-mail-mcp`](https://www.npmjs.com/package/stalwart-mail-mcp)
66
+ and in the [MCP Registry](https://registry.modelcontextprotocol.io) as
67
+ `io.github.cybersmurf/stalwart-mail-mcp`, so no checkout is needed:
63
68
 
64
69
  ```json
65
70
  {
66
71
  "mcpServers": {
67
72
  "stalwart-mail": {
68
- "command": "node",
69
- "args": ["/path/to/stalwart-mail-mcp/dist/index.cjs"],
73
+ "command": "npx",
74
+ "args": ["-y", "stalwart-mail-mcp"],
70
75
  "env": {
71
76
  "STALWART_URL": "https://mail.example.com",
72
77
  "STALWART_USER": "jane@example.com",
@@ -77,7 +82,12 @@ npm install && npm run build
77
82
  }
78
83
  ```
79
84
 
80
- Claude Code: `claude mcp add stalwart-mail --env STALWART_URL=https://mail.example.com --env STALWART_USER=jane@example.com --env STALWART_PASSWORD=… -- node /path/to/stalwart-mail-mcp/dist/index.cjs`
85
+ Claude Code: `claude mcp add stalwart-mail --env STALWART_URL=https://mail.example.com --env STALWART_USER=jane@example.com --env STALWART_PASSWORD=… -- npx -y stalwart-mail-mcp`
86
+
87
+ ### Claude on the web, desktop chat and phone
88
+
89
+ Run the server next to Stalwart (`stalwart-mail-mcp --http`, or the Docker image) and add its
90
+ URL as a custom connector — step by step in [docs/remote.md](docs/remote.md).
81
91
 
82
92
  ## Configuration
83
93