MCP App Store
by KeenEthics
Contentdrips icon

Contentdrips

By ContentDrips

Get New App Alerts

Overview

Contentdrips is an AI graphic design tool for creating and publishing social media content. Create graphics, carousels, and text posts for LinkedIn, Instagram, and TikTok—all in your own design and writing style. Contentdrips learns from your existing content to create visuals that match your brand and write posts that sound like you. Create your content, customize the designs, and publish or schedule everything across your social channels from one place.

Tools

check_job_status

ChatGPT
Poll a render job and get export_url(s) (PNG/PDF download links) when complete. Use after render_template, generate_ai_carousel, generate_ai_graphic, generate_carousel, generate_graphic, or edit_template.

create_graphic

ChatGPT
Create a new blank design (graphic, carousel, quote) in the user's ContentDrips account. Use when the user did NOT give an existing template/design ID or name. REQUIRED first: call get_profiles. If 2+ workspaces, ASK which one. ALWAYS pass profile_id — never omit it. Then get_brand_styles (if 2+ styles ASK which; if 1 use it unless declined; ask Pro if available) then run_ai_design_agent. If they uploaded a reference image, pass it to run_ai_design_agent as reference_image. After Design Agent: share the editor link. Do NOT call render_template unless they ask to preview/download. Do NOT substitute an existing template from get_my_templates/search_templates. Infer type/format/slides when clear (e.g. infographic → type=graphic; 3 slides → type=carousel). Custom sizes: format='custom' plus width + height (100–3000 px). Do NOT fall back to a preset.

create_post

ChatGPT
Create a new draft post with a caption and optional images. REQUIRED: call get_profiles first and ALWAYS pass profile_id — scheduling/publishing will fail without it. Do not say you lack profile_id; fetch it with get_profiles. For ContentDrips PNG exports, prefer create_post then set_post_images with export_urls (only after the user asked to post).

delete_graphic

ChatGPT
Permanently delete a design/graphic/template from the user's ContentDrips account. Removes the canvas JSON and thumbnail from S3 and cleans up all related records. Ask the user to confirm before calling this — deletion cannot be undone.

delete_post

ChatGPT
Delete a post

edit_template

ChatGPT
Surgically edit an EXISTING template/design/graphic/carousel and SAVE it. Use for 'make headings a bit bigger', 'change this image URL', 'change text color to #…', or small text tweaks. KEEPS every object — does NOT redesign. Do NOT use run_ai_design_agent for these edits. REQUIRED: get_profiles then get_template_structure. Build content_update from exact labels. value is optional for style-only patches (fontSize, fontColor, fill, opacity). Relative size: 'a bit bigger' ≈ current fontSize * 1.15. Optional slide (0-based, or 'intro'/'ending') targets one carousel slide; omit to change all matching labels. Starts a job that saves the canvas. Share edit_url when done. Do NOT auto-render unless they ask to preview.

generate_ai_graphic

ChatGPT
AI graphic maker: fill an EXISTING graphic/quote/infographic template (user gave ID or name) with new topic/blog/YouTube/TikTok while KEEPING the layout. If they only gave a name, call get_template first. Do NOT use when they gave no template/design — that is create_graphic + run_ai_design_agent. REQUIRES template_id and profile_id from get_profiles. This starts a render job. Order: get_template → get_template_structure → this tool → check_job_status. Never auto-pick a template.

generate_graphic

ChatGPT
Fill an EXISTING graphic/quote template with a manual/LLM-written content_update array. template_id is required. Use when the user (or you) wants full control over field values based on get_template_structure — not the AI graphic maker (generate_ai_graphic) and not Design Agent. REQUIRED order: get_template → get_template_structure → build content_update using exact field labels → this tool → check_job_status. Each item: { type: 'textbox'|'image', label: '<field label from structure>', value: '...', fontSize?, fontColor?, textboxMaxHeight? }.

get_brand_styles

ChatGPT
REQUIRED before run_ai_design_agent. Lists the profile's saved visual styles and whether Pro model is available. If 2+ styles: ASK which style to use (or none) — never auto-pick. If exactly 1 style: use it unless the user declined. If 0 styles: proceed with no style. If can_use_pro_model is true: ASK Basic vs Pro (default Basic). Then pass the chosen style_id and model into run_ai_design_agent.

get_my_templates

ChatGPT
Get the user's own saved templates/designs/graphics/carousels from their ContentDrips account. Use ONLY when the user says 'show me my designs', 'my templates', 'list my creatives', or explicitly wants to pick one of their templates. Do NOT call this to auto-pick a template when the user asks to create a new carousel/graphic — for creation without a template ID, use create_graphic + run_ai_design_agent instead. Returns a markdown table with an Open in editor link for each design. Optionally filter by type or by profile/workspace using profile_id.

get_post

ChatGPT
Get details of a specific post by UUID

get_profiles

ChatGPT
Get the user's ContentDrips workspaces (profiles). REQUIRED before create_graphic, create_post, generate_ai_*, edit_template, render_template, schedule_post, or publish_post. If 2+ profiles: ASK which workspace to use — never guess. If 1: use that profile_id. Always pass the chosen profile_id into later tools. Posts and scheduling fail without it.

get_social_accounts

ChatGPT
Get connected LinkedIn and Instagram accounts for a profile. Check this before scheduling/publishing posts.

get_template

ChatGPT
Look up a single template/design/graphic/carousel by ID or name. REQUIRED before AI maker when the user named a design but you only have a name (or need to confirm ID). Returns details and an Open in editor link. Searches the user's designs first, then public templates.

get_template_categories

ChatGPT
List available ContentDrips template categories (carousel, quote, LinkedIn, motivational, etc.). Use when the user asks 'what template categories do you have', 'show me carousel templates', 'quote templates', or any category of designs. Then call search_templates with the matching category.

get_template_structure

ChatGPT
REQUIRED before generate_ai_carousel, generate_ai_graphic, generate_carousel, generate_graphic, or edit_template. Inspects editable field labels/types and current fontSize/fontColor so you can build carousel_content, content_update, or surgical edit patches. For style edits: get_template → get_template_structure → edit_template. For manual JSON fill: get_template → get_template_structure → generate_carousel (carousel_content) or generate_graphic (content_update).

list_posts

ChatGPT
List your posts by status (draft, scheduled, published, or all)

publish_post

ChatGPT
Publish a post immediately. ONLY enable platforms the user EXPLICITLY named — no LinkedIn bias. Instagram-only request → instagram_publish=true, linkedin_publish=false. Never publish to an extra platform. Before calling: confirm with platforms named, e.g. 'Publish to Instagram only right now? Reply yes to confirm.' Only call after the user confirms yes/ok/go ahead. Both linkedin_publish and instagram_publish are required booleans.

remove_images_from_post

ChatGPT
Remove ALL images from a post. Each file is deleted from S3, then images_url and graphic_id are cleared. Use this when the user wants to replace or discard the visuals on a post.

render_template

ChatGPT
Export PNG/PDF of an already-saved design (render job → export_url). Does NOT rewrite content. ONLY call this when the user asks to preview, download, export, attach images to a post, or publish/schedule. Do NOT call automatically after run_ai_design_agent, create_graphic, or edit_template — those are done when you share the editor link. REQUIRED: pass profile_id from get_profiles (same workspace as the design). Set type to 'carousel' or 'graphic'. Then check_job_status for export_url(s).

run_ai_design_agent

ChatGPT
AI Design Agent — builds a NEW layout with AI. Use when the user did NOT name an existing template/design (ID or name), or they uploaded a reference image to recreate in their style. Call create_graphic first (with profile_id). If they DID name an existing template, use generate_ai_carousel/generate_ai_graphic instead unless they explicitly asked to override/recreate the layout. REQUIRED: get_profiles then get_brand_styles. If 2+ styles, ASK which (or none) — never auto-pick. If Pro available, ASK Basic vs Pro. If the user uploaded an image in ChatGPT, pass it as reference_image (https URL preferred, or data URI). Overwrites the canvas on that template_id (hard to undo). May fetch reference_image from an https URL the user supplies. When finished: share edit_url and STOP. Do NOT render unless they ask to preview, download, or publish.

schedule_post

ChatGPT
Schedule a post for future publishing. ONLY enable platforms the user explicitly named. If they said Instagram only → instagram_publish=true, linkedin_publish=false. Never add LinkedIn (or Instagram) just because it is connected. Ask if unclear. Both linkedin_publish and instagram_publish are required explicit booleans.

search_templates

ChatGPT
Browse or search public ContentDrips templates (designs, graphics, creatives, carousels, quote cards). Use ONLY when the user asks to show, find, browse, or pick a template — not as a silent step before creating content. Do NOT call this to auto-select a template for generate_ai_carousel / generate_ai_graphic. For category browsing, pass category (e.g. 'carousel', 'quote', or a topic category name). Call get_template_categories first if you are unsure which categories exist. Returns a markdown table with an Open in editor link for each template.

set_post_images

ChatGPT
CASE 1 — Attach ContentDrips-generated images to a post. Use this after render_template, generate_ai_carousel, generate_ai_graphic, generate_carousel, or generate_graphic + check_job_status. Pass the export_url values exactly as returned (full S3 URLs, full CDN URLs, or relative paths — all are handled). The server strips any prefix and stores only the relative path. No re-uploading.

unschedule_post

ChatGPT
Unschedule a post and move it back to drafts

update_post

ChatGPT
Update a post's caption or platform flags. Only set linkedin_publish/instagram_publish true for platforms the user explicitly requested. Do not enable LinkedIn by default when the user asked for Instagram (or vice versa).

upload_images_to_post

ChatGPT
CASE 2 — Upload external images to ContentDrips S3 and attach them to a post. Use this for ANY image not from ContentDrips: user-uploaded images in the chat, Facebook, Instagram, Twitter, or any external URL. The server downloads each URL and re-hosts it permanently. Supports multiple images at once. Prefer image_urls over images_base64 — base64 fails for images larger than ~4 MB.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps