@lizzythelizard/whatsapp-mcp 0.4.0 → 0.5.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/README.md +157 -33
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +78 -0
- package/dist/cli.js.map +1 -0
- package/dist/dataDir.d.ts +4 -0
- package/dist/dataDir.d.ts.map +1 -0
- package/dist/dataDir.js +20 -0
- package/dist/dataDir.js.map +1 -0
- package/dist/extTypes.d.ts +41 -0
- package/dist/extTypes.d.ts.map +1 -0
- package/dist/extTypes.js +222 -0
- package/dist/extTypes.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +10 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +15 -0
- package/dist/logger.js.map +1 -0
- package/dist/{main.d.ts → mcp.d.ts} +1 -1
- package/dist/mcp.d.ts.map +1 -0
- package/dist/{main.js → mcp.js} +8 -24
- package/dist/mcp.js.map +1 -0
- package/dist/store.d.ts +17 -21
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +44 -32
- package/dist/store.js.map +1 -1
- package/dist/sync.d.ts +9 -4
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +51 -17
- package/dist/sync.js.map +1 -1
- package/dist/tools/authTools.d.ts.map +1 -1
- package/dist/tools/authTools.js +31 -23
- package/dist/tools/authTools.js.map +1 -1
- package/dist/tools/chatTools.d.ts.map +1 -1
- package/dist/tools/chatTools.js +15 -6
- package/dist/tools/chatTools.js.map +1 -1
- package/dist/tools/common.d.ts +3 -3
- package/dist/tools/common.d.ts.map +1 -1
- package/dist/tools/common.js +16 -8
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/contactTools.d.ts.map +1 -1
- package/dist/tools/contactTools.js +8 -2
- package/dist/tools/contactTools.js.map +1 -1
- package/dist/tools/messageTools.d.ts.map +1 -1
- package/dist/tools/messageTools.js +18 -5
- package/dist/tools/messageTools.js.map +1 -1
- package/package.json +10 -16
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js.map +0 -1
package/dist/tools/authTools.js
CHANGED
|
@@ -1,44 +1,52 @@
|
|
|
1
1
|
import { toCallError } from './common.js';
|
|
2
|
-
import
|
|
2
|
+
import z from 'zod';
|
|
3
3
|
export function registerAuthTools(server, store, sync) {
|
|
4
|
-
server.registerTool('get_auth_qr', { description: 'Get a QR code
|
|
4
|
+
server.registerTool('get_auth_qr', { description: 'Get a QR code to authenticate with WhatsApp. Call this tool when authentication is required.', outputSchema: QrCodeResultSchema }, async () => {
|
|
5
5
|
try {
|
|
6
|
-
|
|
6
|
+
let status = sync.getStatus();
|
|
7
|
+
if (status.type === 'closed')
|
|
8
|
+
await sync.start();
|
|
9
|
+
status = sync.getStatus();
|
|
10
|
+
if (status.type === 'closed')
|
|
11
|
+
throw new Error('WhatsApp sync is closed. Please restart the server.');
|
|
7
12
|
if (status.type !== 'needAuth')
|
|
8
13
|
throw new Error('Authentication is not required at this time.');
|
|
9
|
-
const pngBuffer = await QRCode.toBuffer(status.qr, { type: 'png', width: 400, margin: 2 });
|
|
10
14
|
return {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
],
|
|
15
|
+
structuredContent: {
|
|
16
|
+
url: `https://public-api.qr-code-generator.com/v1/create/extended?image_format=PNG&image_width=300&qr_code_text=${encodeURIComponent(status.qr)}&foreground_color=%23000000&background_color=%23FFFFFF&frame_name=no-frame`,
|
|
17
|
+
code: status.qr,
|
|
18
|
+
},
|
|
19
|
+
content: [],
|
|
16
20
|
isError: false,
|
|
17
21
|
};
|
|
18
22
|
}
|
|
19
23
|
catch (e) {
|
|
20
|
-
return toCallError(e);
|
|
24
|
+
return toCallError(e instanceof Error ? e.message : String(e));
|
|
21
25
|
}
|
|
22
26
|
});
|
|
23
27
|
server.registerTool('get_status', { description: 'Get the current server status.' }, () => {
|
|
24
28
|
try {
|
|
25
29
|
const status = sync.getStatus();
|
|
26
|
-
|
|
30
|
+
switch (status.type) {
|
|
31
|
+
case 'needAuth':
|
|
32
|
+
return { content: [{ type: 'text', text: 'Authentication is required. Please call get_auth_qr to retrieve a QR code for authentication.' }], isError: false };
|
|
33
|
+
case 'connecting':
|
|
34
|
+
return { content: [{ type: 'text', text: 'Server is still connecting to WhatsApp, please wait...' }], isError: false };
|
|
35
|
+
case 'closed':
|
|
36
|
+
return { content: [{ type: 'text', text: `Server connection closed. Error: ${status.error?.message ?? 'Unknown error'}` }], isError: false };
|
|
37
|
+
case 'ready':
|
|
38
|
+
return { content: [{ type: 'text', text: 'Server is ready and authenticated.' }], isError: false };
|
|
39
|
+
default:
|
|
40
|
+
return { content: [{ type: 'text', text: 'Unknown server status.' }], isError: false };
|
|
41
|
+
}
|
|
27
42
|
}
|
|
28
43
|
catch (e) {
|
|
29
|
-
return toCallError(e);
|
|
44
|
+
return toCallError(e instanceof Error ? e.message : String(e));
|
|
30
45
|
}
|
|
31
46
|
});
|
|
32
47
|
}
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
1. Open WhatsApp on your phone
|
|
38
|
-
2. Tap the three dots menu (⋮) or Settings
|
|
39
|
-
3. Select "Linked Devices"
|
|
40
|
-
4. Tap "Link a Device"
|
|
41
|
-
5. Scan the QR code below with your phone
|
|
42
|
-
|
|
43
|
-
The raw QR code string is also provided below for clients that render QR codes themselves.`;
|
|
48
|
+
const QrCodeResultSchema = z.object({
|
|
49
|
+
url: z.string().describe('URL to a PNG image of the QR code. Download and show this image to the user to scan with their WhatsApp mobile app.'),
|
|
50
|
+
code: z.string().describe('Text representation of the QR code. If you cannot show the user the QR code image or url, you can generate a QR code from this text using any QR code generator.'),
|
|
51
|
+
});
|
|
44
52
|
//# sourceMappingURL=authTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authTools.js","sourceRoot":"","sources":["../../src/tools/authTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,
|
|
1
|
+
{"version":3,"file":"authTools.js","sourceRoot":"","sources":["../../src/tools/authTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatTools.d.ts","sourceRoot":"","sources":["../../src/tools/chatTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAI5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"chatTools.d.ts","sourceRoot":"","sources":["../../src/tools/chatTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAI5C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,QAY/F"}
|
package/dist/tools/chatTools.js
CHANGED
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
|
-
import { JidSchema,
|
|
2
|
+
import { JidSchema, withErrorHandling } from './common.js';
|
|
3
3
|
export function registerChatTools(server, store, sync) {
|
|
4
|
-
server.registerTool('get_all_chats', { description: '
|
|
5
|
-
server.registerTool('set_chat_archived', { description: 'Set a WhatsApp chat as archived or unarchived', inputSchema: ArchiveChatSchema },
|
|
6
|
-
server.registerTool('set_chat_read', { description: 'Set a WhatsApp chat as read or unread', inputSchema: ReadChatSchema },
|
|
4
|
+
server.registerTool('get_all_chats', { description: 'Retrieve all WhatsApp chats with their metadata', outputSchema: AllChatsSchema }, () => withErrorHandling(sync, () => store.getChats()));
|
|
5
|
+
server.registerTool('set_chat_archived', { description: 'Set a WhatsApp chat as archived or unarchived', inputSchema: ArchiveChatSchema }, args => withErrorHandling(sync, () => sync.setArchived(args.jid, args.archived).then(() => `Chat ${args.jid}: archived status set to ${String(args.archived)}`)));
|
|
6
|
+
server.registerTool('set_chat_read', { description: 'Set a WhatsApp chat as read or unread', inputSchema: ReadChatSchema }, args => withErrorHandling(sync, () => sync.setRead(args.jid, args.read).then(() => `Chat ${args.jid}: read status set to ${String(args.read)}`)));
|
|
7
7
|
}
|
|
8
8
|
const ArchiveChatSchema = z.object({
|
|
9
|
-
jid: JidSchema,
|
|
9
|
+
jid: JidSchema.describe('The unique identifier (JID) of the chat'),
|
|
10
10
|
archived: z.boolean()
|
|
11
11
|
.describe('Whether the chat should be archived (true) or unarchived (false).'),
|
|
12
12
|
});
|
|
13
13
|
const ReadChatSchema = z.object({
|
|
14
|
-
jid: JidSchema,
|
|
14
|
+
jid: JidSchema.describe('The unique identifier (JID) of the chat'),
|
|
15
15
|
read: z.boolean()
|
|
16
16
|
.describe('Whether the chat should be marked as read (true) or unread (false).'),
|
|
17
17
|
});
|
|
18
|
+
const AllChatsSchema = z.array(z.object({
|
|
19
|
+
jid: JidSchema.describe('The unique identifier (JID) of the chat'),
|
|
20
|
+
unreadCount: z.number().describe('Number of unread messages in this chat'),
|
|
21
|
+
readOnly: z.boolean().describe('Whether the chat is read-only'),
|
|
22
|
+
name: z.string().describe('Display name of the chat'),
|
|
23
|
+
archived: z.boolean().describe('Whether the chat is archived'),
|
|
24
|
+
lastMessageTimestamp: z.number().describe('Unix timestamp of the last message'),
|
|
25
|
+
isGroup: z.boolean().describe('Whether this is a group chat'),
|
|
26
|
+
})).describe('List of all WhatsApp chats');
|
|
18
27
|
//# sourceMappingURL=chatTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatTools.js","sourceRoot":"","sources":["../../src/tools/chatTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"chatTools.js","sourceRoot":"","sources":["../../src/tools/chatTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IAC9F,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,YAAY,EAAE,cAAc,EAAE,EACnI,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CACtD,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,+CAA+C,EAAE,WAAW,EAAE,iBAAiB,EAAE,EACvI,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,GAAG,4BAA4B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACjK,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,WAAW,EAAE,cAAc,EAAE,EACxH,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,GAAG,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACjJ,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;SAClB,QAAQ,CAAC,mEAAmE,CAAC;CACjF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;SACd,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC1E,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC/D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC9D,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC9D,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAA"}
|
package/dist/tools/common.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
-
import {
|
|
2
|
+
import { WhatsAppHandler } from '../sync.js';
|
|
3
3
|
import z from 'zod';
|
|
4
4
|
export declare const JidSchema: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
|
|
5
|
-
export declare function withErrorHandling<R
|
|
6
|
-
export declare const toCallError: (
|
|
5
|
+
export declare function withErrorHandling<R = string | Record<string, unknown>>(sync: WhatsAppHandler, action: () => R | Promise<R>): Promise<CallToolResult>;
|
|
6
|
+
export declare const toCallError: (errorMessage: string) => CallToolResult;
|
|
7
7
|
export declare const toTextResult: (text: string) => CallToolResult;
|
|
8
8
|
export declare const toStructuredOutput: (structuredContent: Record<string, unknown>) => CallToolResult;
|
|
9
9
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,eAAO,MAAM,SAAS,iDAGpB,CAAA;AAEF,wBAAsB,iBAAiB,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAkB1J;AAED,eAAO,MAAM,WAAW,GAAI,cAAc,MAAM,KAAG,cAAkG,CAAA;AACrJ,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,cAAyE,CAAA;AACrH,eAAO,MAAM,kBAAkB,GAAI,mBAAmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,cAAsE,CAAA"}
|
package/dist/tools/common.js
CHANGED
|
@@ -2,23 +2,31 @@ import z from 'zod';
|
|
|
2
2
|
export const JidSchema = z.union([
|
|
3
3
|
z.string().min(1, 'JID is required').endsWith('@s.whatsapp.net', 'JID not a valid WhatsApp JID)'),
|
|
4
4
|
z.string().min(1, 'JID is required').endsWith('@g.us', 'JID not a valid WhatsApp JID)'),
|
|
5
|
-
])
|
|
6
|
-
export async function withErrorHandling(
|
|
5
|
+
]);
|
|
6
|
+
export async function withErrorHandling(sync, action) {
|
|
7
7
|
try {
|
|
8
|
-
|
|
8
|
+
let status = sync.getStatus();
|
|
9
|
+
if (status.type === 'closed')
|
|
10
|
+
await sync.start();
|
|
11
|
+
status = sync.getStatus();
|
|
12
|
+
if (status.type === 'closed')
|
|
13
|
+
throw new Error('Connection closed, please restart server');
|
|
9
14
|
if (status.type === 'needAuth')
|
|
10
15
|
throw new Error('Authentication required, please call the "get_auth_qr" tool to get a QR code for authentication');
|
|
11
16
|
if (status.type === 'connecting')
|
|
12
17
|
throw new Error('Server still connecting, please wait');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
const result = await action();
|
|
19
|
+
if (typeof result === 'string') {
|
|
20
|
+
return toTextResult(result);
|
|
21
|
+
}
|
|
22
|
+
return toStructuredOutput(result);
|
|
16
23
|
}
|
|
17
24
|
catch (error) {
|
|
18
|
-
|
|
25
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
26
|
+
return toCallError(message);
|
|
19
27
|
}
|
|
20
28
|
}
|
|
21
|
-
export const toCallError = (
|
|
29
|
+
export const toCallError = (errorMessage) => ({ content: [{ type: 'text', text: `Error: ${errorMessage}` }], isError: true });
|
|
22
30
|
export const toTextResult = (text) => ({ content: [{ type: 'text', text }], isError: false });
|
|
23
31
|
export const toStructuredOutput = (structuredContent) => ({ content: [], structuredContent, isError: false });
|
|
24
32
|
//# sourceMappingURL=common.js.map
|
package/dist/tools/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;IACjG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;CACxF,CAAC,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;IACjG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC;CACxF,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAuC,IAAqB,EAAE,MAA4B;IAC/H,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAChD,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACzB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACzF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAA;QAClJ,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzF,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAA;QAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAiC,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,YAAY,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AACrJ,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AACrH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,iBAA0C,EAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactTools.d.ts","sourceRoot":"","sources":["../../src/tools/contactTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"contactTools.d.ts","sourceRoot":"","sources":["../../src/tools/contactTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAIjD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,QAItG"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { JidSchema, withErrorHandling } from './common.js';
|
|
2
3
|
export function registerContactResources(server, store, sync) {
|
|
3
|
-
server.registerTool('get_all_contacts', { description: '
|
|
4
|
+
server.registerTool('get_all_contacts', { description: 'Retrieve all WhatsApp contacts', outputSchema: AllContactsSchema }, async () => withErrorHandling(sync, () => store.getContacts()));
|
|
4
5
|
}
|
|
6
|
+
const AllContactsSchema = z.array(z.object({
|
|
7
|
+
jid: JidSchema.describe('The unique identifier (JID) of the contact'),
|
|
8
|
+
name: z.string().describe('Display name of the contact'),
|
|
9
|
+
phone: z.string().describe('Phone number in international format'),
|
|
10
|
+
})).describe('List of all WhatsApp contacts');
|
|
5
11
|
//# sourceMappingURL=contactTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactTools.js","sourceRoot":"","sources":["../../src/tools/contactTools.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"contactTools.js","sourceRoot":"","sources":["../../src/tools/contactTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IACrG,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,YAAY,EAAE,iBAAiB,EAAE,EACxH,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC/D,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACzC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnE,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageTools.d.ts","sourceRoot":"","sources":["../../src/tools/messageTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAI5C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"messageTools.d.ts","sourceRoot":"","sources":["../../src/tools/messageTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAI5C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,QAYlG"}
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
|
-
import { JidSchema,
|
|
2
|
+
import { JidSchema, withErrorHandling } from './common.js';
|
|
3
3
|
export function registerMessageTools(server, store, sync) {
|
|
4
|
-
server.registerTool('send_message', { description: 'Send a WhatsApp-Message to a given JID', inputSchema: SendMessageSchema }, async (args) => withErrorHandling(
|
|
5
|
-
server.registerTool('get_all_messages', { description: '
|
|
6
|
-
server.registerTool('get_all_messages_for_chat', { description: '
|
|
4
|
+
server.registerTool('send_message', { description: 'Send a WhatsApp-Message to a given JID', inputSchema: SendMessageSchema }, async (args) => withErrorHandling(sync, () => sync.sendMessage(args.jid, args.message).then(() => `Message sent to ${args.jid}: "${args.message}"`)));
|
|
5
|
+
server.registerTool('get_all_messages', { description: 'Retrieve all WhatsApp messages across all chats. This can return a large amount of data.', outputSchema: AllMessagesSchema }, async () => withErrorHandling(sync, () => store.getMessages()));
|
|
6
|
+
server.registerTool('get_all_messages_for_chat', { description: 'Retrieve all WhatsApp messages for a specific chat.', inputSchema: GetChatMessagesSchema, outputSchema: AllMessagesSchema }, async (args) => withErrorHandling(sync, () => store.getMessagesForChat(args.jid)));
|
|
7
7
|
}
|
|
8
8
|
const SendMessageSchema = z.object({
|
|
9
|
-
jid: JidSchema,
|
|
9
|
+
jid: JidSchema.describe('The JID of the recipient. For example 41791234567@s.whatsapp.net for an individual or 1234567890-1234567890@g.us for a group'),
|
|
10
10
|
message: z.string()
|
|
11
11
|
.min(1, 'Message body is required')
|
|
12
12
|
.describe('The body of the message to be sent. Can contain unicode characters like emojis.'),
|
|
13
13
|
});
|
|
14
|
+
const GetChatMessagesSchema = z.object({
|
|
15
|
+
jid: JidSchema.describe('The JID of the chat. For example 41791234567@s.whatsapp.net for an individual or 1234567890-1234567890@g.us for a group'),
|
|
16
|
+
});
|
|
17
|
+
const AllMessagesSchema = z.array(z.object({
|
|
18
|
+
id: z.string().describe('Unique identifier of the message'),
|
|
19
|
+
from: z.object({
|
|
20
|
+
jid: JidSchema.describe('The JID of the sender'),
|
|
21
|
+
name: z.string().describe('Display name of the sender'),
|
|
22
|
+
phone: z.string().optional().describe('Phone number of the sender in international format'),
|
|
23
|
+
}).describe('Sender information (undefined if the message was sent by you)').optional(),
|
|
24
|
+
message: z.string().describe('Text content of the message'),
|
|
25
|
+
messageTimestamp: z.number().describe('Unix timestamp of when the message was sent'),
|
|
26
|
+
})).describe('List of all WhatsApp messages across all chats');
|
|
14
27
|
//# sourceMappingURL=messageTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageTools.js","sourceRoot":"","sources":["../../src/tools/messageTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"messageTools.js","sourceRoot":"","sources":["../../src/tools/messageTools.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,KAAoB,EAAE,IAAqB;IACjG,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAC3H,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CACnJ,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,0FAA0F,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAClL,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC/D,CAAA;IAED,MAAM,CAAC,YAAY,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAC1L,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAChF,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,8HAA8H,CAAC;IACvJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;SAClC,QAAQ,CAAC,iFAAiF,CAAC;CAC/F,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,yHAAyH,CAAC;CACnJ,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;KAC5F,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC,CAAC,QAAQ,EAAE;IACvF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC3D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACrF,CAAC,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lizzythelizard/whatsapp-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "MCP server for WhatsApp integration",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Matthias Graf"
|
|
@@ -26,21 +26,19 @@
|
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
28
|
"bin": {
|
|
29
|
-
"whatsapp-mcp": "dist/
|
|
29
|
+
"whatsapp-mcp": "dist/mcp.js"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "tsc",
|
|
33
|
-
"start": "node dist/
|
|
34
|
-
"dev": "tsx watch src/
|
|
35
|
-
"
|
|
33
|
+
"start": "node dist/mcp.js",
|
|
34
|
+
"dev": "tsx watch src/mcp.ts",
|
|
35
|
+
"cli": "tsx src/cli.ts",
|
|
36
|
+
"inspect": "npx @modelcontextprotocol/inspector node dist/mcp.js",
|
|
36
37
|
"test": "vitest run",
|
|
37
38
|
"test:watch": "vitest",
|
|
38
|
-
"lint": "eslint
|
|
39
|
-
"lint:fix": "eslint
|
|
40
|
-
"
|
|
41
|
-
"mcpb:manifest": "node scripts/create-mcpb-manifest.mjs",
|
|
42
|
-
"mcpb:pack": "npx mcpb pack",
|
|
43
|
-
"mcpb": "npm run mcpb:manifest && npm run mcpb:pack"
|
|
39
|
+
"lint": "eslint .",
|
|
40
|
+
"lint:fix": "eslint . --fix",
|
|
41
|
+
"mcpb": "tsc && node scripts/create-mcpb.mjs"
|
|
44
42
|
},
|
|
45
43
|
"keywords": [
|
|
46
44
|
"mcp",
|
|
@@ -50,17 +48,13 @@
|
|
|
50
48
|
"license": "MIT",
|
|
51
49
|
"dependencies": {
|
|
52
50
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
53
|
-
"@stylistic/eslint-plugin": "^5.10.0",
|
|
54
51
|
"@whiskeysockets/baileys": "^7.0.0-rc13",
|
|
55
|
-
"qrcode": "^1.5.4",
|
|
56
52
|
"zod": "^4.4.3"
|
|
57
53
|
},
|
|
58
54
|
"devDependencies": {
|
|
59
|
-
"@anthropic-ai/mcpb": "^2.1.2",
|
|
60
55
|
"@eslint/js": "^10.0.1",
|
|
61
|
-
"@
|
|
56
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
62
57
|
"@types/node": "^26.0.1",
|
|
63
|
-
"@types/qrcode": "^1.5.6",
|
|
64
58
|
"@typescript-eslint/eslint-plugin": "^8.62.0",
|
|
65
59
|
"eslint": "^10.5.0",
|
|
66
60
|
"eslint-plugin-import-x": "^4.17.0",
|
package/dist/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAWzE,wBAAsB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAcpF"}
|
package/dist/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|