How to let an AI agent draft posts through MCP while a human approves them
TL;DR: Use TimeToPost’s hosted MCP server to let an AI agent create approval-gated drafts under your account permissions, then have a human review, approve, or reject them before anything is scheduled. The key tools are `create_drafts`, `list_drafts`, `approve_draft`, and `reject_draft`, and approval is what moves a pending draft into scheduling.
Set up the MCP connection for an AI agent
TimeToPost’s hosted MCP server lives at https://api.timetopost.co/mcp. It uses OAuth, so the first connection pops open your browser, you sign in with your email plus a 6-digit code, click Approve access, and you’re done. No tokens to juggle, which feels like a small miracle in this industry.
Once connected, your agent works under your account permissions. You can add it to an MCP-compatible client. If you want the setup details and the tool surface in one place, start with the MCP overview, because it explains how the connection works and what the server can do.
Use the approval-gated draft tools, not direct publishing
If you want a human in the loop, use the draft path, not the direct publish path. TimeToPost’s MCP server includes create_drafts, list_drafts, approve_draft, and reject_draft. Those drafts are designed to wait for human approval.
That is the whole point of the gate. The agent can prepare the post, but it should stop before anything gets scheduled or published. If you use create_drafts, the result is a pending draft. Then a person reviews it. No cowboy publishing, no “oops, that went out at 3 a.m.”
The same docs also note that approve_draft schedules a pending draft after human review, while reject_draft keeps it from publishing.
Build a human review checkpoint into the workflow
The workflow is simple, which is usually a good sign and occasionally a miracle.
- The agent drafts the content in MCP.
- A human checks the copy and the selected targets.
- The human approves or rejects the draft.
- TimeToPost schedules the post only after approval.
That approval step matters. According to the docs, approve_draft schedules a pending draft after review, and reject_draft prevents publication. So the human is not just proofreading for fun, they are deciding whether the post moves forward at all.
Worked example: one post moves from agent draft to human approval
Hypothetical example
An AI agent is asked to draft a launch announcement for a new feature. In MCP, it uses create_drafts to prepare the post for the connected accounts. The draft appears in the approvals rail, where a human reviewer checks the wording, confirms the targets, and decides the message is ready.
The reviewer then approves the draft. At that point, approve_draft schedules it, and the post moves from pending review into the normal scheduling flow. If the reviewer had spotted a bad claim or the wrong account selection, they could have rejected it instead, and it would not publish.
That is the concrete pattern to copy: agent prepares, human blesses, TimeToPost schedules.
What the human should verify before approving
Keep the review focused on the approval decision itself. The documented workflow supports these checks:
- Is the message accurate?
- Are the selected accounts the right ones?
- Should this remain a draft instead of being scheduled?
- Is the post ready to move out of review?
If any of those are off, reject the draft. If everything looks right, approve it and let the scheduler take over.
Confirm the post status after approval
After the human acts, you can confirm the result with the post and draft listing tools. The scheduling system records post states such as draft, scheduled, published, failed, and partial, and the docs also say the REST API returns these in lowercase.
That means you can check whether the draft stayed a draft, became scheduled after approval, or later moved on to published. The important bit is timing: scheduling happens only after approval when the draft is approved.
When this setup is the right migration step
If you are switching schedulers, this MCP plus approval flow is a tidy middle step. You keep draft control with a human review gate, while moving post execution into TimeToPost.
If you need the broader export-before-cancel context, point yourself to the migration checklist page. If not, you can skip the extra ceremony and just wire the agent to draft, review, approve, and schedule like a civilized machine.