list_meme_hooks
Browse available short attention-grabbing clips to prepend to video shorts, selecting exact names for use in creation.
Instructions
List available meme hook clips (2-5 second attention grabbers prepended to shorts). Use the exact memeHookName when creating shorts.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Items per page (1-100) |
Implementation Reference
- src/tools/list-meme-hooks.js:14-22 (handler)The handler function for 'list_meme_hooks' that calls the client and formats the response.
async (params) => { try { const result = await client.listMemeHooks(params); return { content: [{ type: 'text', text: formatPaginatedAssets(result, 'memeHooks', 'Meme Hooks') }] }; } catch (error) { return { content: [{ type: 'text', text: formatError(error) }], isError: true }; } } ); - src/tools/list-meme-hooks.js:9-23 (registration)Registration function for the 'list_meme_hooks' tool using the server's tool registration method.
export function registerListMemeHooks(server, client) { server.tool( 'list_meme_hooks', 'List available meme hook clips (2-5 second attention grabbers prepended to shorts). Use the exact memeHookName when creating shorts.', schema, async (params) => { try { const result = await client.listMemeHooks(params); return { content: [{ type: 'text', text: formatPaginatedAssets(result, 'memeHooks', 'Meme Hooks') }] }; } catch (error) { return { content: [{ type: 'text', text: formatError(error) }], isError: true }; } } ); } - src/tools/list-meme-hooks.js:4-7 (schema)Input validation schema for pagination parameters.
const schema = { page: z.number().min(1).default(1).describe('Page number').optional(), limit: z.number().min(1).max(100).default(20).describe('Items per page (1-100)').optional(), };