MCP server
TimeToPost is the timing-aware publishing layer built for humans and AI agents. Its official Model Context Protocol (MCP) server exposes 73 tools for drafting, scheduling, publishing, approvals, analytics, AutoSEO and scheduler health. There is nothing to install and no API keys: add it to Claude Code, Claude Desktop, Cursor, or any MCP-compatible client and your agent works under your account permissions.
Setup: hosted server (no API keys)
The hosted server at https://api.timetopost.co/mcp uses OAuth. On first use your browser opens, you sign in with your email and a 6-digit code, click Approve access, done. Nothing to install, no tokens to copy.
Claude Code
One CLI command:
claude mcp add --transport http timetopost https://api.timetopost.co/mcpClaude Desktop / Claude.ai
Settings → Connectors → Add custom connector → paste https://api.timetopost.co/mcp.
Cursor & other MCP clients
Add { "url": "https://api.timetopost.co/mcp" } under mcpServers.timetopost in your client’s mcp.json and enable the server when prompted.
First use opens your browser to sign in and approve access. Revoke access anytime from Settings → API. To verify the connection, ask your agent to run the whoami tool. It should return your user and active organization.
Longer walkthroughs per client: Claude Code, ChatGPT, Cursor, Gemini CLI, and Codex.
Tool reference
| Tool | What it does |
|---|---|
| whoami | Return the authenticated user and active organization. |
| get_capabilities | Return the authoritative product, lifecycle, platform, approval, and connection capability map. |
| list_integrations | List connected social and publishing accounts with their connection health. |
| list_posts | List posts for the active organization, optionally filtered by status. |
| get_post | Fetch one post, including status, schedule, media, platform data, and publish results. |
| schedule_post | Create a draft or schedule a post. Omit scheduledAt to keep it as a draft. |
| publish_post | Publish an existing post immediately. |
| cancel_post | Cancel or delete a scheduled post before it fires. |
| get_engagement_summary | Read aggregate engagement across published posts. |
| get_optimal_times | Read best posting times computed from the account’s own engagement history. |
| build_campaign_urls | Build campaign tracking URLs for shared links. |
| calculate_engagement | Calculate engagement rate from post metrics. |
| scheduler_status | Check background scheduler health, last tick, and recent failures. |
| create_digest_drafts | Create idempotent engine drafts for an artifact. Kept for existing integrations. |
| create_drafts | Create generic multi-platform drafts that always wait for human approval. |
| list_drafts | List engine-submitted drafts by status and brand tag. |
| approve_draft | Approve and schedule a pending draft after human review. |
| reject_draft | Reject a pending draft with an optional reason. |
| list_approvals | Read the unified approvals rail across posts, trends, build-in-public, and DMs. |
| publish_thread | Publish or schedule an X thread from ordered segments. |
| get_post_metrics | Read per-post metrics such as impressions, likes, comments, clicks, and engagement rate. |
| list_brands | List brand or niche tags used for per-play attribution. |
| get_engagement_by_tag | Read engagement rollups for a brand or niche tag. |
| build_in_public_connect_link | Generate a short-lived GitHub authorization link for Build-in-Public. |
| build_in_public_status | Read Build-in-Public GitHub connection and latest draft status. |
| autoseo_connect_site | Connect a site to AutoSEO with hosted, webhook, WordPress, or git-based publishing. |
| autoseo_integration_kit | Return the code and install instructions an AI agent uses to add an AutoSEO endpoint. |
| autoseo_verify_site | Re-run the capability probe for a connected AutoSEO site. |
| autoseo_list_sites | List connected AutoSEO sites and their health. |
| autoseo_configure | Configure topics, cadence, backlinks, image style, approvals, and social repurposing. |
| autoseo_auto_configure | Auto-propose topics, save safe defaults, and optionally queue the first article draft. |
| autoseo_propose_topics | Propose question-shaped topics for a connected site. |
| autoseo_mine_questions | Mine and rank the real questions people ask (search boxes, forums, Search Console) for a connected site. |
| autoseo_generate_post | Generate one approval-gated AutoSEO article draft. |
| autoseo_import_article | Import one finished, pre-reviewed article and schedule it at a chosen time; no AI generation, review, or cadence cap, deduped by slug. |
| autoseo_import_batch | Import up to 50 finished articles for one site in one call, with a per-article result. |
| read_article_draft | Read the original and current AutoSEO draft, sources, factual review, and lifecycle state. |
| edit_article_draft | Edit an AutoSEO draft before publication; editing invalidates its previous factual review. |
| review_article_draft | Run the mandatory source-backed factual review and hold unsupported or contradicted claims for user review. |
| list_articles | List AutoSEO articles and drafts for the active organization with lifecycle and review status. |
| get_article | Read one AutoSEO article, including content, sources, factual review, and publication state. |
| update_article | Update a published AutoSEO article through hosted, webhook, or WordPress REST publishing; git PR updates are not supported. |
| list_use_cases | Discover static use-case guides and the actual MCP tools each guide references. |
| list_free_tools | List free-tool offers, stable web URLs, tier summaries, and available public API paths. |
| seo_audit | Run the authenticated MCP proxy for the free or gated SEO and GEO readiness audit. |
| keyword_snapshot | Return directional free keyword opportunities or request available live-data results. |
| geo_visibility_check | Run a source-labeled point-in-time AI brand visibility check. |
| best_time_teaser | Return the free source-labeled public best-time curve for a supported platform. |
| prompt_suggest | Return the ranked prompt-library default for a generation task. |
| prompt_library_list | List the organization prompt library, including system templates and learned winners. |
| get_tiktok_creator_info | Read TikTok creator posting limits and privacy options before drafting a TikTok post. |
| add_to_collection | Add a Pinterest-style post target to a collection or board. |
| connect_account_link | Generate a short-lived link to connect a social account. |
| list_lemmy_communities | List Lemmy communities available to post to. |
| list_slack_channels | List Slack channels available to post to. |
| list_boards | List Pinterest boards available to post to. |
| upload_media | Upload a media file from a URL or base64 for use in a post. |
| prepare_media_upload | Prepare a direct media upload and return the upload target. |
| finalize_media_upload | Finalize a prepared media upload so it can be attached to a post. |
| shorts_generate | Generate a short vertical video from a script. |
| generate_short_video | Generate a short video draft from a topic or source. |
| persona_create | Create a creator persona used to generate consistent short video. |
| persona_list | List creator personas for the active organization. |
| persona_status | Read the build status of a creator persona. |
| shorts_status | Read the generation status of a short video. |
| keyword_research | Run live keyword research for a topic. |
| keyword_add_to_plan | Add a researched keyword to the AutoSEO topic plan. |
| create_posts_from_source | Create approval-gated post drafts from a connected content source. |
| get_source_status | Read the sync status of a connected content source. |
| list_sources | List connected content sources such as Git or RSS. |
| create_dm_funnel | Create a keyword-triggered DM funnel. |
| list_dm_funnels | List DM funnels and their settings. |
| list_funnel_hits | List recent DM funnel trigger hits. |
Example prompts
- “Schedule these 5 captions on X at my optimal times this week.”
- “What was my engagement last month? Which platform performed best?”
- “Cancel everything scheduled for Friday and move it to Monday morning.”
Security model
The MCP server is a thin adapter over the same REST API the web app uses. Every tool call carries your authorized access, so authentication, organization scoping, plan limits and validation are enforced by the backend exactly as if you clicked the button yourself. An agent can never do more than your own account can. Revoke an agent’s access any time from Settings → API.
For the product story and FAQ, see the MCP overview page.