MCPMCP Tools/Post Ideas/save_month_plan
save_month_plan
Writeideas:write
Write a whole month of planned posts for one location in a single call, after get_month_plan_brief. Each post lands as a dated IDEA for the agency to review on the Social calendar, never as a scheduled post, so nothing publishes until a human adds it. Captions over the limit and post types the chosen profiles cannot carry are trimmed and coerced rather than rejected. Refuses if the window already holds a plan, unless replace is true.
Parameters
locationIdstringrequired
The location these posts are for. Same id passed to get_month_plan_brief.
fromstringoptional
First day of the window, local YYYY-MM-DD. Use the brief's window.from verbatim, years included. A date in the past is ignored and the window starts today instead.
daysnumberoptional
Length of the window in days. Must match the brief.
connectionIdsstring[]optional
Connections every post should publish to. Pre-seeds them so the agency can add the whole plan to the calendar in one click.
replacebooleanoptional
Replace an existing plan for this window. Default false, which refuses rather than writing a second set on top of the first.
postsobject[]required
The planned posts, in any order. Dates are spread and de-collided on save.
datestringoptional
Local YYYY-MM-DD inside the window.
titlestringoptional
Short title for the card, max 80 characters.
messagestringoptional
The full caption, hashtags included, within captionMaxChars.
whystringoptional
One sentence telling the owner why this post, on this day.
image_promptstringoptional
A visual prompt for generating the picture later, max 200 chars.
typestringoptional
One of the allowedPostTypes vocabulary from the brief.
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "save_month_plan",
"arguments": {
"locationId": "string",
"posts": [
{}
]
}
}
}Example response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Response shape shown for illustration — the actual content depends on the tool and your data.