MCP tool reference
33 tools. No canvas.
This is the whole surface your agent gets. Connect DMParrot to Claude, ChatGPT, Cursor, or any MCP client, and these tools appear as callable functions.
Server endpoint
https://dmparrot.com/mcp Streamable HTTP transport, OAuth 2.1. Sign in once and your agent is authorised.
Flows
-
list_flowsList flows read-onlyShow every flow on the account with its id, name, and draft or live status.
-
get_flowGet flow read-onlyRead one flow in full — its triggers, nodes, and the edges that connect them.
-
create_flowCreate flowStart a new empty draft flow to build on.
-
rename_flowRename flowChange the name of an existing flow.
-
delete_flowDelete flow destructiveRemove a flow and everything inside it. This cannot be undone.
-
publish_flowPublish flow sends messagesTake a draft live. Matching Instagram events start receiving real DMs immediately.
-
unpublish_flowUnpublish flowTake a live flow offline and return it to draft. Sending stops at once.
Triggers & nodes
-
add_triggerAdd triggerAttach an entry point: a comment keyword, a DM keyword, a story reply, a new follower, or a referral link click.
-
update_triggerUpdate triggerReplace a trigger config — for example, change the keyword or target one specific post.
-
delete_triggerDelete trigger destructiveRemove a trigger and the edges leading out of it.
-
add_nodeAdd nodeAdd a step: send a message, add or remove a tag, set a field, wait, branch on a condition, call a webhook, or hand off to a human.
-
update_nodeUpdate nodeReplace the config of an existing node.
-
delete_nodeDelete node destructiveRemove a node and its edges.
-
connect_nodesConnect nodesWire one step to the next, optionally down the true or false branch of a condition.
-
simulate_flowSimulate flow read-onlyDry-run a flow against a fake event and see exactly what it would do. Nothing is sent.
Quick builders
-
create_comment_to_dm_flowBuild a comment-to-DM flowOne call builds the classic funnel: someone comments your keyword, they get a private-reply DM, and you can tag them.
-
create_dm_keyword_flowBuild a DM keyword flowAuto-reply when someone sends your keyword in a DM, with an optional tag.
-
create_story_reply_flowBuild a story reply flowTurn story replies into a DM conversation.
-
create_follower_welcome_flowBuild a follower welcome flowGreet first-time contacts with a welcome message.
Contacts & tags
-
list_contactsList contacts read-onlyList your contacts, optionally filtered to one tag.
-
get_contactGet contact read-onlyRead one contact with all of its tags and custom fields.
-
list_tagsList tags read-onlyList every audience tag with a count of how many contacts carry it.
-
add_contact_tagTag contactAdd a tag to a contact.
-
remove_contact_tagUntag contactRemove a tag from a contact.
-
set_contact_fieldSet contact fieldWrite a custom field on a contact.
Broadcasts
-
create_broadcastCreate broadcastDraft a broadcast campaign aimed at a segment of your contacts.
-
list_broadcastsList broadcasts read-onlyList broadcast campaigns and their send status.
-
get_broadcastGet broadcast read-onlyRead one broadcast campaign by id.
-
send_broadcastSend broadcast sends messagesSend a broadcast to its segment. Real DMs go out, and Meta’s 24-hour messaging window is respected.
Account & analytics
-
get_instagram_connectionCheck Instagram connection read-onlyCheck whether Instagram is linked. If it is not, this returns the URL to connect it.
-
get_billing_statusCheck billing status read-onlyCheck the trial or paid status and how the contact count compares to the plan limit.
-
list_delivery_logList delivery log read-onlyRead recent sends and their outcomes. This is the first place to look when a flow misbehaves.
-
get_flow_analyticsGet flow analytics read-onlyRead send, delivery, and effect counts for one flow.
Why tools instead of a drag-and-drop canvas?
A canvas assumes a human builds the funnel. DMParrot assumes an agent does. You describe the growth loop in chat, your agent calls these tools, and the flow is live. There is no LLM in the send path — a deterministic rule engine delivers every DM, so the same event always produces the same message.