@zyx1121/apple-mail-mcp 0.1.4 → 0.2.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/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/accounts.js +25 -0
- package/dist/tools/accounts.js.map +1 -1
- package/dist/tools/compose.d.ts +2 -0
- package/dist/tools/compose.js +52 -0
- package/dist/tools/compose.js.map +1 -0
- package/dist/tools/messages.js +62 -0
- package/dist/tools/messages.js.map +1 -1
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -2,6 +2,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
2
2
|
import { registerAccountTools } from "./tools/accounts.js";
|
|
3
3
|
import { registerMessageTools } from "./tools/messages.js";
|
|
4
4
|
import { registerSearchTools } from "./tools/search.js";
|
|
5
|
+
import { registerComposeTools } from "./tools/compose.js";
|
|
5
6
|
export function createServer() {
|
|
6
7
|
const server = new McpServer({
|
|
7
8
|
name: "apple-mail",
|
|
@@ -10,6 +11,7 @@ export function createServer() {
|
|
|
10
11
|
registerAccountTools(server);
|
|
11
12
|
registerMessageTools(server);
|
|
12
13
|
registerSearchTools(server);
|
|
14
|
+
registerComposeTools(server);
|
|
13
15
|
return server;
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/tools/accounts.js
CHANGED
|
@@ -17,6 +17,31 @@ export function registerAccountTools(server) {
|
|
|
17
17
|
}
|
|
18
18
|
return success(accounts);
|
|
19
19
|
}));
|
|
20
|
+
server.tool("mail_list_mailboxes", "List mailboxes for an account with unread counts", {
|
|
21
|
+
account: z.string().describe("Account name"),
|
|
22
|
+
}, withErrorHandling(async ({ account }) => {
|
|
23
|
+
const script = `
|
|
24
|
+
tell application "Mail"
|
|
25
|
+
set output to ""
|
|
26
|
+
repeat with mb in (every mailbox of account "${account}")
|
|
27
|
+
set mbName to name of mb
|
|
28
|
+
set unread to unread count of mb
|
|
29
|
+
set output to output & mbName & "\\t" & unread & "\\n"
|
|
30
|
+
end repeat
|
|
31
|
+
return output
|
|
32
|
+
end tell`;
|
|
33
|
+
const raw = await runAppleScript(script);
|
|
34
|
+
if (!raw)
|
|
35
|
+
return success([]);
|
|
36
|
+
const mailboxes = [];
|
|
37
|
+
for (const line of raw.split("\n")) {
|
|
38
|
+
if (!line)
|
|
39
|
+
continue;
|
|
40
|
+
const [name, unread] = line.split("\t");
|
|
41
|
+
mailboxes.push({ name, unread: parseInt(unread, 10) });
|
|
42
|
+
}
|
|
43
|
+
return success(mailboxes);
|
|
44
|
+
}));
|
|
20
45
|
server.tool("mail_count_unread", "Count unread messages in a mailbox", {
|
|
21
46
|
account: z.string().optional().describe("Account name (e.g. 'iCloud', 'Gmail'). Omit for all accounts."),
|
|
22
47
|
mailbox: z.string().optional().describe("Mailbox name (e.g. 'INBOX'). Omit for inbox."),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/tools/accounts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/tools/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { runAppleScript, escapeForAppleScript } from "../applescript.js";
|
|
3
|
+
import { success, withErrorHandling } from "../helpers.js";
|
|
4
|
+
export function registerComposeTools(server) {
|
|
5
|
+
server.tool("mail_send", "Send a new email or reply to an existing message", {
|
|
6
|
+
to: z.string().optional().describe("Recipient email (required for new message)"),
|
|
7
|
+
subject: z.string().optional().describe("Subject (required for new message)"),
|
|
8
|
+
body: z.string().describe("Email body (plain text)"),
|
|
9
|
+
cc: z.string().optional().describe("CC email address"),
|
|
10
|
+
from_account: z.string().optional().describe("Account name to send from"),
|
|
11
|
+
reply_to_id: z.number().int().optional().describe("Message ID to reply to"),
|
|
12
|
+
reply_to_account: z.string().optional().describe("Account of message being replied to"),
|
|
13
|
+
reply_to_mailbox: z.string().optional().describe("Mailbox of message being replied to (default: INBOX)"),
|
|
14
|
+
}, withErrorHandling(async ({ to, subject, body, cc, from_account, reply_to_id, reply_to_account, reply_to_mailbox }) => {
|
|
15
|
+
const esc = escapeForAppleScript;
|
|
16
|
+
if (reply_to_id) {
|
|
17
|
+
// Reply mode
|
|
18
|
+
const acct = reply_to_account || "";
|
|
19
|
+
const mbox = reply_to_mailbox || "INBOX";
|
|
20
|
+
const target = acct
|
|
21
|
+
? `mailbox "${esc(mbox)}" of account "${esc(acct)}"`
|
|
22
|
+
: "inbox";
|
|
23
|
+
await runAppleScript(`
|
|
24
|
+
tell application "Mail"
|
|
25
|
+
set orig to first message of ${target} whose id is ${reply_to_id}
|
|
26
|
+
set r to reply orig reply to all false
|
|
27
|
+
set content of r to "${esc(body)}" & return & return & content of r
|
|
28
|
+
send r
|
|
29
|
+
end tell`);
|
|
30
|
+
return success({ replied_to: reply_to_id, sent: true });
|
|
31
|
+
}
|
|
32
|
+
// New message mode
|
|
33
|
+
if (!to || !subject)
|
|
34
|
+
throw new Error("to and subject are required for new messages");
|
|
35
|
+
const ccLine = cc
|
|
36
|
+
? `\n make new cc recipient at end of cc recipients with properties {address: "${esc(cc)}"}`
|
|
37
|
+
: "";
|
|
38
|
+
const senderLine = from_account
|
|
39
|
+
? `\n set sender to "${esc(from_account)}"`
|
|
40
|
+
: "";
|
|
41
|
+
await runAppleScript(`
|
|
42
|
+
tell application "Mail"
|
|
43
|
+
set newMsg to make new outgoing message with properties {subject: "${esc(subject)}", content: "${esc(body)}", visible: false}
|
|
44
|
+
tell newMsg${senderLine}
|
|
45
|
+
make new to recipient at end of to recipients with properties {address: "${esc(to)}"}${ccLine}
|
|
46
|
+
end tell
|
|
47
|
+
send newMsg
|
|
48
|
+
end tell`);
|
|
49
|
+
return success({ to, subject, sent: true });
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/tools/compose.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,IAAI,CACT,WAAW,EACX,kDAAkD,EAClD;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAChF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACzE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC3E,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACvF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;KACzG,EACD,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACnH,MAAM,GAAG,GAAG,oBAAoB,CAAC;QAEjC,IAAI,WAAW,EAAE,CAAC;YAChB,aAAa;YACb,MAAM,IAAI,GAAG,gBAAgB,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,gBAAgB,IAAI,OAAO,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI;gBACjB,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG;gBACpD,CAAC,CAAC,OAAO,CAAC;YAEZ,MAAM,cAAc,CAAC;;iCAEI,MAAM,gBAAgB,WAAW;;yBAEzC,GAAG,CAAC,IAAI,CAAC;;SAEzB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAErF,MAAM,MAAM,GAAG,EAAE;YACf,CAAC,CAAC,kFAAkF,GAAG,CAAC,EAAE,CAAC,IAAI;YAC/F,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,UAAU,GAAG,YAAY;YAC7B,CAAC,CAAC,wBAAwB,GAAG,CAAC,YAAY,CAAC,GAAG;YAC9C,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,cAAc,CAAC;;uEAE4C,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC;eAC7F,UAAU;+EACsD,GAAG,CAAC,EAAE,CAAC,KAAK,MAAM;;;SAGxF,CAAC,CAAC;QACL,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/tools/messages.js
CHANGED
|
@@ -160,5 +160,67 @@ tell application "Mail"
|
|
|
160
160
|
end tell`);
|
|
161
161
|
return success({ message_id, marked_read: true });
|
|
162
162
|
}));
|
|
163
|
+
server.tool("mail_mark_unread", "Mark a message as unread", {
|
|
164
|
+
message_id: z.number().int().describe("Message ID"),
|
|
165
|
+
account: z.string().optional().describe("Account name"),
|
|
166
|
+
mailbox: z.string().optional().describe("Mailbox name"),
|
|
167
|
+
}, withErrorHandling(async ({ message_id, account, mailbox }) => {
|
|
168
|
+
const target = account
|
|
169
|
+
? (mailbox
|
|
170
|
+
? `mailbox "${escapeForAppleScript(mailbox)}" of account "${escapeForAppleScript(account)}"`
|
|
171
|
+
: `mailbox "INBOX" of account "${escapeForAppleScript(account)}"`)
|
|
172
|
+
: "inbox";
|
|
173
|
+
await runAppleScript(`
|
|
174
|
+
tell application "Mail"
|
|
175
|
+
set m to first message of ${target} whose id is ${message_id}
|
|
176
|
+
set read status of m to false
|
|
177
|
+
end tell`);
|
|
178
|
+
return success({ message_id, marked_unread: true });
|
|
179
|
+
}));
|
|
180
|
+
server.tool("mail_flag", "Flag or unflag a message", {
|
|
181
|
+
message_id: z.number().int().describe("Message ID"),
|
|
182
|
+
account: z.string().optional().describe("Account name"),
|
|
183
|
+
mailbox: z.string().optional().describe("Mailbox name"),
|
|
184
|
+
flagged: z.boolean().default(true).describe("true to flag, false to unflag"),
|
|
185
|
+
}, withErrorHandling(async ({ message_id, account, mailbox, flagged }) => {
|
|
186
|
+
const target = account
|
|
187
|
+
? (mailbox
|
|
188
|
+
? `mailbox "${escapeForAppleScript(mailbox)}" of account "${escapeForAppleScript(account)}"`
|
|
189
|
+
: `mailbox "INBOX" of account "${escapeForAppleScript(account)}"`)
|
|
190
|
+
: "inbox";
|
|
191
|
+
await runAppleScript(`
|
|
192
|
+
tell application "Mail"
|
|
193
|
+
set m to first message of ${target} whose id is ${message_id}
|
|
194
|
+
set flagged status of m to ${flagged}
|
|
195
|
+
end tell`);
|
|
196
|
+
return success({ message_id, flagged });
|
|
197
|
+
}));
|
|
198
|
+
server.tool("mail_move", "Move a message to another mailbox", {
|
|
199
|
+
message_id: z.number().int().describe("Message ID"),
|
|
200
|
+
account: z.string().describe("Account name"),
|
|
201
|
+
from_mailbox: z.string().default("INBOX").describe("Source mailbox name"),
|
|
202
|
+
to_mailbox: z.string().describe("Destination mailbox name"),
|
|
203
|
+
}, withErrorHandling(async ({ message_id, account, from_mailbox, to_mailbox }) => {
|
|
204
|
+
const esc = escapeForAppleScript;
|
|
205
|
+
await runAppleScript(`
|
|
206
|
+
tell application "Mail"
|
|
207
|
+
set m to first message of mailbox "${esc(from_mailbox)}" of account "${esc(account)}" whose id is ${message_id}
|
|
208
|
+
move m to mailbox "${esc(to_mailbox)}" of account "${esc(account)}"
|
|
209
|
+
end tell`);
|
|
210
|
+
return success({ message_id, moved_to: to_mailbox });
|
|
211
|
+
}));
|
|
212
|
+
server.tool("mail_delete", "Delete a message (moves to Deleted Messages / Trash)", {
|
|
213
|
+
message_id: z.number().int().describe("Message ID"),
|
|
214
|
+
account: z.string().describe("Account name"),
|
|
215
|
+
mailbox: z.string().default("INBOX").describe("Mailbox containing the message"),
|
|
216
|
+
}, withErrorHandling(async ({ message_id, account, mailbox }) => {
|
|
217
|
+
const esc = escapeForAppleScript;
|
|
218
|
+
await runAppleScript(`
|
|
219
|
+
tell application "Mail"
|
|
220
|
+
set m to first message of mailbox "${esc(mailbox)}" of account "${esc(account)}" whose id is ${message_id}
|
|
221
|
+
delete m
|
|
222
|
+
end tell`);
|
|
223
|
+
return success({ message_id, deleted: true });
|
|
224
|
+
}));
|
|
163
225
|
}
|
|
164
226
|
//# sourceMappingURL=messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/tools/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/tools/messages.ts"],"names":[],"mappings":"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"}
|