get_conversations
Retrieve conversation lists and participant information from Instagram or Facebook inboxes to manage messaging interactions.
Instructions
Get list of conversations/inbox for Instagram or Facebook. Returns conversation IDs and participant info.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | Platform to get conversations from | |
| folder | No | Inbox folder (default: inbox) |
Implementation Reference
- src/index.ts:423-427 (handler)MCP server handler for the 'get_conversations' tool: parses arguments using the schema and delegates to the Facebook API function.case 'get_conversations': { const params = GetConversationsSchema.parse(args); result = await api.getConversations(params.platform, params.folder); break; }
- src/facebook-api.ts:182-196 (helper)Core implementation that makes the Graph API call to fetch conversations for the specified platform and folder.export async function getConversations( platform: 'instagram' | 'facebook', folder: 'inbox' | 'other' = 'inbox' ): Promise<{ data: Conversation[] }> { const platformParam = platform === 'instagram' ? 'INSTAGRAM' : 'MESSENGER'; return makeApiCall({ endpoint: `/${config.fbPageId}/conversations`, params: { platform: platformParam, folder, fields: 'id,can_reply,message_count,participants' } }); }
- src/index.ts:25-28 (schema)Zod schema for validating input parameters to the get_conversations tool.const GetConversationsSchema = z.object({ platform: z.enum(['instagram', 'facebook']), folder: z.enum(['inbox', 'other']).optional() });
- src/index.ts:136-146 (registration)Tool registration in the MCP server's listTools handler, defining name, description, and input schema.name: 'get_conversations', description: 'Get list of conversations/inbox for Instagram or Facebook. Returns conversation IDs and participant info.', inputSchema: { type: 'object', properties: { platform: { type: 'string', enum: ['instagram', 'facebook'], description: 'Platform to get conversations from' }, folder: { type: 'string', enum: ['inbox', 'other'], description: 'Inbox folder (default: inbox)' } }, required: ['platform'] } },
- src/facebook-api.ts:166-171 (schema)TypeScript interface defining the structure of a conversation object returned by the tool.export interface Conversation { id: string; can_reply?: boolean; message_count?: number; participants?: { data: Array<{ id: string; name?: string; username?: string }> }; }