fastmail-mcp-server 0.2.0 → 0.2.2
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 +50 -8
- package/package.json +45 -45
- package/src/index.ts +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
MCP server for Fastmail. Read, search, organize, and send emails through Claude Desktop.
|
|
4
4
|
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Full read/write** - list, search, send, reply, move, mark as spam
|
|
8
|
+
- **Safe sending** - preview→confirm flow prevents accidental sends
|
|
9
|
+
- **Attachment text extraction** - PDFs, Word docs, Excel, PowerPoint extracted as readable text
|
|
10
|
+
- **Legacy .doc support** - uses macOS `textutil` for old Word formats
|
|
11
|
+
- **Image attachments** - returned as viewable content for Claude's built-in OCR
|
|
12
|
+
- **CC/BCC support** - full addressing on send and reply
|
|
13
|
+
|
|
14
|
+
### Comparison
|
|
15
|
+
|
|
16
|
+
| Feature | radiosilence | @jahfer | willmeyers |
|
|
17
|
+
| --------------------------------- | :----------: | :-----: | :---------: |
|
|
18
|
+
| Read emails | ✅ | ✅ | ✅ |
|
|
19
|
+
| Search emails | ✅ | ✅ | ✅ |
|
|
20
|
+
| Send emails | ✅ | ❌ | ✅ |
|
|
21
|
+
| Reply to threads | ✅ | ❌ | ❌ |
|
|
22
|
+
| CC/BCC support | ✅ | ❌ | ✅ |
|
|
23
|
+
| Safe send (preview→confirm) | ✅ | ❌ | ❌ |
|
|
24
|
+
| Move/organize emails | ✅ | ❌ | ❌ |
|
|
25
|
+
| Mark as spam | ✅ | ❌ | ❌ |
|
|
26
|
+
| List attachments | ✅ | ❌ | ❌ |
|
|
27
|
+
| **Extract text from PDF/DOCX** | ✅ | ❌ | ❌ |
|
|
28
|
+
| **Extract text from legacy .doc** | ✅ | ❌ | ❌ |
|
|
29
|
+
| **Images for Claude OCR** | ✅ | ❌ | ❌ |
|
|
30
|
+
| Bun/TypeScript | ✅ | ✅ | ❌ (Python) |
|
|
31
|
+
| Actively maintained | ✅ | ❓ | ❓ |
|
|
32
|
+
|
|
5
33
|
## Prerequisites
|
|
6
34
|
|
|
7
35
|
Requires [Bun](https://bun.sh) runtime:
|
|
@@ -82,14 +110,28 @@ No emails can be sent accidentally.
|
|
|
82
110
|
|
|
83
111
|
### Read Operations (no confirmation needed)
|
|
84
112
|
|
|
85
|
-
| Tool | Description
|
|
86
|
-
| ------------------ |
|
|
87
|
-
| `list_mailboxes` | List all folders with unread counts
|
|
88
|
-
| `list_emails` | List emails in a mailbox (returns summaries)
|
|
89
|
-
| `get_email` | Get full email content by ID
|
|
90
|
-
| `search_emails` | Search across all mailboxes
|
|
91
|
-
| `list_attachments` | List attachments on an email
|
|
92
|
-
| `get_attachment` | Download and read attachment content
|
|
113
|
+
| Tool | Description |
|
|
114
|
+
| ------------------ | ------------------------------------------------ |
|
|
115
|
+
| `list_mailboxes` | List all folders with unread counts |
|
|
116
|
+
| `list_emails` | List emails in a mailbox (returns summaries) |
|
|
117
|
+
| `get_email` | Get full email content by ID |
|
|
118
|
+
| `search_emails` | Search across all mailboxes |
|
|
119
|
+
| `list_attachments` | List attachments on an email |
|
|
120
|
+
| `get_attachment` | Download and read attachment content (see below) |
|
|
121
|
+
|
|
122
|
+
### Attachment Handling
|
|
123
|
+
|
|
124
|
+
`get_attachment` automatically extracts readable content from attachments:
|
|
125
|
+
|
|
126
|
+
| Format | Handling |
|
|
127
|
+
| ------------------------------------------- | ----------------------------------------------------------------------------- |
|
|
128
|
+
| Text files (txt, json, csv, xml) | Returned inline |
|
|
129
|
+
| Documents (PDF, DOCX, XLSX, PPTX, RTF, ODT) | Text extracted via [officeparser](https://github.com/harshankur/officeParser) |
|
|
130
|
+
| Legacy Word (.doc) | Text extracted via macOS `textutil` |
|
|
131
|
+
| Images (PNG, JPG, etc) | Returned as image content for Claude to view/OCR |
|
|
132
|
+
| Other binary | Base64 fallback |
|
|
133
|
+
|
|
134
|
+
Claude receives actual text content, not binary blobs - just like when you drag-and-drop files into Claude Desktop.
|
|
93
135
|
|
|
94
136
|
### Write Operations
|
|
95
137
|
|
package/package.json
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
2
|
+
"name": "fastmail-mcp-server",
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "MCP server for Fastmail - read, search, and send emails via Claude",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "src/index.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"src/**/*"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "bun run src/index.ts",
|
|
12
|
+
"test": "bun run src/test.ts",
|
|
13
|
+
"format": "biome check --write",
|
|
14
|
+
"lint": "biome check"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"mcp",
|
|
18
|
+
"fastmail",
|
|
19
|
+
"jmap",
|
|
20
|
+
"email",
|
|
21
|
+
"claude",
|
|
22
|
+
"ai",
|
|
23
|
+
"model-context-protocol"
|
|
24
|
+
],
|
|
25
|
+
"author": "James Cleveland <jc@blit.cc>",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/radiosilence/fastmail-mcp-server.git"
|
|
30
|
+
},
|
|
31
|
+
"bugs": {
|
|
32
|
+
"url": "https://github.com/radiosilence/fastmail-mcp-server/issues"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://github.com/radiosilence/fastmail-mcp-server#readme",
|
|
35
|
+
"engines": {
|
|
36
|
+
"bun": ">=1.0.0"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
40
|
+
"officeparser": "^6.0.4",
|
|
41
|
+
"zod": "^4.3.4"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@biomejs/biome": "^2.3.10",
|
|
45
|
+
"@types/bun": "latest"
|
|
46
|
+
}
|
|
47
47
|
}
|