UNPKG

@tomaspavlin/rohlik-mcp

Version:

MCP server for controlling Rohlik.cz grocery shopping website

61 lines 2.4 kB
export function createAnnouncementsTool(createRohlikAPI) { return { name: "get_announcements", definition: { title: "Get Announcements", description: "Get current announcements and notifications from Rohlik", inputSchema: {} }, handler: async () => { try { const api = createRohlikAPI(); const announcements = await api.getAnnouncements(); if (!announcements || (Array.isArray(announcements) && announcements.length === 0)) { return { content: [ { type: "text", text: "No announcements available." } ] }; } const formatAnnouncements = (data) => { if (Array.isArray(data)) { return `📢 ANNOUNCEMENTS:\n\n${data.map((announcement, index) => `${index + 1}. ${announcement.title || 'Announcement'} ${announcement.message || announcement.content || announcement.text || 'No content'} ${announcement.date ? `Date: ${announcement.date}` : ''}`).join('\n\n')}`; } if (data.title || data.message) { return `📢 ANNOUNCEMENT: ${data.title || 'Announcement'} ${data.message || data.content || data.text || 'No content'} ${data.date ? `Date: ${data.date}` : ''}`; } return `📢 ANNOUNCEMENTS:\n${JSON.stringify(data, null, 2)}`; }; const output = formatAnnouncements(announcements); return { content: [ { type: "text", text: output } ] }; } catch (error) { return { content: [ { type: "text", text: error instanceof Error ? error.message : String(error) } ], isError: true }; } } }; } //# sourceMappingURL=announcements.js.map