UNPKG

@chinchillaenterprises/mcp-discord

Version:

Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools

40 lines (39 loc) 3.19 kB
export const toolDefinition = { name: "discord_get_invites", description: "Get all active invites for the server", inputSchema: { type: "object", properties: {}, } }; export const handler = async (_args, services) => { const guild = await services.getGuild(); try { const invites = await guild.invites.fetch(); const inviteList = invites.map(invite => { const expiresAt = invite.maxAge === 0 ? 'Never' : new Date(invite.createdTimestamp + (invite.maxAge || 0) * 1000).toISOString(); return `**${invite.code}** - ${invite.url} • Channel: ${invite.channel?.name} • Created by: ${invite.inviter?.username} • Uses: ${invite.uses}/${invite.maxUses === 0 ? '∞' : invite.maxUses} • Expires: ${expiresAt}`; }); return { content: [ { type: "text", text: `Server Invites (${invites.size} total): ${inviteList.join('\n\n---\n\n') || 'No active invites'}`, }, ], }; } catch (error) { console.error(`[GetInvites] Error getting invites:`, error); throw new Error(`Failed to get invites: ${error.message}`); } }; // No schema needed for this tool export const schema = null; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWludml0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvc2VydmVyL2dldC1pbnZpdGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBUztJQUNsQyxJQUFJLEVBQUUscUJBQXFCO0lBQzNCLFdBQVcsRUFBRSx1Q0FBdUM7SUFDcEQsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLFFBQVE7UUFDZCxVQUFVLEVBQUUsRUFBRTtLQUNmO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsS0FBYyxFQUFFLFFBQTBCLEVBQUUsRUFBRTtJQUMxRSxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV4QyxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFNUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQy9DLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBaUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFakYsT0FBTyxLQUFLLE1BQU0sQ0FBQyxJQUFJLFFBQVEsTUFBTSxDQUFDLEdBQUc7YUFDbEMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJO2dCQUNqQixNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVE7VUFDOUIsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTzthQUN2RCxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLG1CQUFtQixPQUFPLENBQUMsSUFBSTs7RUFFN0MsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxtQkFBbUIsRUFBRTtpQkFDaEQ7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixpQ0FBaUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyJ9