{"name":"kickitai","version":"1.0.0","description":"KickitAI — social media scheduling and download platform","protocol":"MCP StreamableHTTP","protocolVersion":"2024-11-05","endpoint":"/mcp","tools":[{"name":"download_media","description":"Download a social media video or image (Instagram, TikTok, Twitter, YouTube, etc.) and upload it to the CDN. Returns a public CDN URL."},{"name":"get_user_profile","description":"Look up a KickitAI user by phone number. Returns account existence, userId, connected platforms, and subscription status."},{"name":"list_brands","description":"List all brands belonging to the authenticated user. Requires a user API key (kk_live_...)."},{"name":"list_scheduled_posts","description":"List the user's scheduled posts. Requires a user API key (kk_live_...)."},{"name":"get_subscription","description":"Get the authenticated user's subscription status, plan tier, usage percentage, and billing cycle dates. Requires a user API key (kk_live_...)."},{"name":"create_support_ticket","description":"Create a support ticket on behalf of the authenticated user. Requires a user API key (kk_live_...)."},{"name":"create_post","description":"Schedule a new social media post. Always schedules for the future (minimum 5 minutes). Requires a user API key (kk_live_...)."},{"name":"get_post","description":"Get a scheduled post by its ID. Requires a user API key (kk_live_...)."},{"name":"update_post","description":"Update a scheduled post (caption, scheduledFor, platforms). Only scheduled or draft posts can be updated. Requires a user API key (kk_live_...)."},{"name":"delete_post","description":"Delete a scheduled post. Only scheduled or draft posts can be deleted. Requires a user API key (kk_live_...)."},{"name":"list_posts","description":"List the authenticated user's posts with optional filters. Requires a user API key (kk_live_...)."},{"name":"list_analytics","description":"List analytics for the user's published posts. Returns per-post metrics. Requires a user API key (kk_live_...)."},{"name":"sync_analytics","description":"Trigger an analytics sync for the user's published posts. Returns immediately with a confirmation message. Requires a user API key (kk_live_...)."},{"name":"list_post_results","description":"List per-platform publish results for the user's posts. Shows publish status, error, and platform post URL per platform. Requires a user API key (kk_live_...)."},{"name":"upload_media","description":"Upload media to the CDN by providing a public URL. Returns a mediaId and CDN URL. Requires a user API key (kk_live_...)."},{"name":"list_media","description":"List media files uploaded by the authenticated user. Requires a user API key (kk_live_...)."},{"name":"delete_media","description":"Delete a media file by mediaId. Idempotent — returns success even if media not found. Requires a user API key (kk_live_...)."},{"name":"generate_dashboard_link","description":"Generate a one-time auto-login link to the KickitAI dashboard for the current user. Use this instead of performing destructive actions (delete, cancel). The link lets the user take the action themselves securely."},{"name":"create_brand","description":"Create a new brand workspace for the authenticated user. Returns the created brand."},{"name":"update_brand","description":"Update an existing brand. Requires the brandId from list_brands."},{"name":"set_default_brand","description":"Set a brand as the default brand for the user."},{"name":"share_brand","description":"Share a brand with another user by email address."},{"name":"get_brand_limits","description":"Get the brand limits for the current subscription tier (e.g. Starter=1 brand, Pro=3, Enterprise=unlimited)."},{"name":"get_platform_status","description":"Get the connected social media platform status for the user's brands."},{"name":"list_api_keys","description":"List all active API keys for the authenticated user. Returns name, prefix, creation date, and isInternal flag. Does NOT return the raw key hash."},{"name":"create_api_key","description":"Create a new kk_live_ API key for the authenticated user. The raw key is returned once only — it cannot be retrieved again."},{"name":"revoke_api_key","description":"Revoke an API key by its keyId. Cannot revoke bot-provisioned (isInternal: true) keys."},{"name":"list_video_voices","description":"List the available AI voices for video creation. Returns voice ID, name, gender, and accent. Use the voiceId when calling create_video."},{"name":"create_video","description":"Create a short social media video (9:16 portrait, ~30s) from a topic. KickitAI generates the script, voiceover, and animated visuals automatically. Free tier: 2 videos/month. Returns a jobId — use get_video_status to poll for the download URL."},{"name":"get_video_status","description":"Check the render status of a video job created with create_video. Returns status (queued/generating/rendering/complete/failed) and a CDN download URL when complete."},{"name":"get_account_overview","description":"Get a complete overview of the user's account in one call: subscription tier and status, brand count, scheduled post count, API key count, and service window status. Useful as a quick health check."}]}