MCP App Store
by KeenEthics

Overview

Connect your Rolino workspace to find projects, review saved social posts and calendar entries, read Blog drafts, and explore stored SEO evidence. Create and edit social drafts from ChatGPT. This version supports saved record reads and social draft changes only. Publishing, schedule changes, uploads, deletion, and provider management are not available. Access depends on your workspace and granted permissions.

Tools

apply_blog_plan_cadence

ChatGPT
Requires blog:write. Call preview_blog_plan_cadence first, show the proposed editorial date moves to the user, then pass the unchanged weekdays, plan version, schedule digest, and confirmation token with a stable idempotency key. This only moves eligible editorial dates and never schedules, publishes, or unpublishes an article.

check_post_delivery

ChatGPT
Requires posts:write. Read the existing platform upload and update Rolino from that evidence. This never uploads, publishes, or changes visibility. UNKNOWN requires manual review. Missing IDs are not proof that an upload is absent.

complete_media_asset_upload

ChatGPT
Requires posts:write. Call after transferring the approved file to the prepared URL. The server verifies stored bytes and media metadata. Use only the returned asset ID in a draft. Failed verification is not a ready asset. This does not create, schedule, or publish a post.

create_blog_article_from_plan_item

ChatGPT
Requires blog:write. Create an editable draft from one accepted plan item and queue generation. Publication remains a separate approved-revision preview and execute operation.

create_blog_plan

ChatGPT
Requires blog:manage. Queue an evidence-backed 30-day plan only after import is ready. Ask the user for cadence first and poll the returned job. This never accepts items or publishes.

create_draft_post

ChatGPT
Create a draft in one exact project. This changes Rolino data but never schedules or publishes. TikTok accepts one video or an ordered photo carousel (up to Rolino’s 10-item limit); PNG/JPEG/WebP photos get JPEG delivery copies without cropping. Set photoCoverIndex (zero-based) and optional autoAddMusic for direct photos; keep allowDuet/allowStitch false and videoCoverTimestampMs null. Photo inbox drafts include the caption. Before a TikTok draft, refresh account-specific delivery options and mark the exact choices reviewed separately from mutation consent. A YouTube draft requires exactly one stored video plus explicit title, category, visibility, audience, disclosure, notification, and tag settings; its description uses the YOUTUBE caption override or shared caption. Unaudited Google API projects may be limited to Private uploads. Supply a stable idempotency key so retrying the same input cannot create a duplicate.

create_project

ChatGPT
Create and save one paired Rolino project and brand. This requires projects:write and changes Rolino data, but it does not research a website, connect providers, schedule, or publish. Supply a stable idempotency key so retrying the same input cannot create a duplicate; returned website URLs are normalized and may differ from the submitted string.

execute_blog_connection_setup

ChatGPT
Requires blog:manage, the exact preview confirmation, and idempotency. A successful first response can return a delivery token or webhook secret once; write them only to server-side environment configuration. A replay never reveals them again. This cannot publish.

execute_blog_publish

ChatGPT
Publish only the same exact user-approved revision from preview. Requires blog:publish, a confirmation token, and an idempotency key.

execute_blog_revision_approval

ChatGPT
Requires blog:approve. Consume the matching confirmation and idempotently approve the exact revision and image bundle, which makes that bundle eligible for a separate publication operation. This cannot publish.

execute_blog_schedule

ChatGPT
Requires blog:publish. Consume the matching confirmation and idempotently schedule or reschedule one already-approved exact bundle for future external publication. This does not grant approval.

execute_blog_schedule_cancellation

ChatGPT
Requires blog:publish. Consume the matching confirmation and idempotently cancel the exact future schedule. This is destructive, but it never unpublishes a live article and does not grant approval.

execute_blog_webhook_destination

ChatGPT
Requires blog:manage plus the matching preview token and an idempotency key. Rolino generates a signing secret for a new destination and returns it once. Write it only to the receiver's server environment. Never place it in a prompt, log, or client setting. Test the signed receiver before publication. An idempotent replay has no secret.

execute_blog_webhook_secret_rotation

ChatGPT
Requires blog:manage plus the matching preview token and an idempotency key. The old secret stops working at once. Write the new one-time secret only to the receiver's server environment, then test before publication. An idempotent replay has no secret.

execute_draft_deletion

ChatGPT
Requires posts:delete and user approval of the exact preview. Permanently delete the untouched draft using its version, confirmation, and stable retry key. Reusable media originals remain. Cannot delete a scheduled or published post.

execute_integration_disconnection

ChatGPT
Requires integrations:disconnect and user approval of the exact preview. Use its unchanged expectedVersion and confirmation token with a stable idempotency key. Clears local authorization; published posts and saved schedules remain. In-flight delivery can finish. Remote revocation can remain unresolved.

execute_media_cleanup

ChatGPT
Permanently delete only the exact unchanged candidates from preview through Rolino's durable deletion queue. A general request such as 'free some space' is not approval. Call this only after the user explicitly confirms the shown cutoff, candidate count, excluded count, unknown-size count, and estimated space. Use one stable idempotency key for retries.

execute_post_publish

ChatGPT
Request external publishing only after preview_post_publish. If internalApproval is PENDING_INTERNAL_APPROVAL, no publication starts: explicitly submit its request ID, return the authenticated review URL, and wait for a human reviewer. The agent confirmation token cannot approve internal review. Pass the unchanged destinations, post version, and returned one-time confirmation token. Immediate YouTube publishing preserves the previewed PUBLIC, UNLISTED, or PRIVATE visibility and never creates or confirms a schedule. Video execution remains PREPARING for YouTube and LinkedIn until provider-confirmed upload and processing complete; no queued or local state is reported as published. Rolino rechecks readiness and safe retry state, durably queues the exact destinations, rejects ambiguous prior outcomes, and uses the stable idempotency key to prevent duplicate execution. This is immediately consequential.

execute_post_schedule

ChatGPT
Schedule a post only after preview_post_schedule. If internalApproval is PENDING_INTERNAL_APPROVAL, no publication starts: explicitly submit its request ID, return the authenticated review URL, and wait for a human reviewer. The agent confirmation token cannot approve internal review. Pass the unchanged time, timezone, post version, and returned one-time confirmation token. For YouTube, confirmed execution begins or resumes a private upload immediately and may return PENDING with phase REMOTE_SCHEDULE_CONFIRMATION after upload while YouTube acknowledges the future Public publish time. PENDING never means the video is public. Rolino rechecks readiness and provider health, rejects stale or mismatched confirmation, and uses the stable idempotency key for safe retries. Scheduling causes future external publishing and is consequential.

execute_post_schedule_cancellation

ChatGPT
Requires posts:schedule and user approval of the exact preview. Return a future local schedule to Draft with the unchanged post version and confirmation. Reuse the idempotency key on retry. Reject started or uncertain delivery; never delete a remote post.

generate_blog_article

ChatGPT
Queue one article generation. First success uses 1 credit; 3 regenerations are included. Call with previewOnly before further generation, show the exact charge and article to the user, and obtain explicit confirmation before sending its confirmationToken. Generic write permission is not credit approval.

generate_blog_image

ChatGPT
Requires blog:write. Queue a bounded featured-image candidate for one exact article revision. This cannot approve an image or article and cannot publish.

get_blog_article

ChatGPT
Read one exact Blog Studio draft and its immutable revision history.

get_blog_connection_status

ChatGPT
Requires blog:read. Read configured and honestly verified delivery/revalidation readiness. It never returns stored tokens or secrets.

get_blog_job

ChatGPT
Read truthful durable job state without exposing prompts, provider details, or secrets.

get_blog_setup_status

ChatGPT
Requires blog:read. Call first to inspect action-oriented website, import, plan, delivery, and revalidation readiness. This never returns credentials, secrets, prompts, or draft content.

get_media_cleanup_status

ChatGPT
Read bounded progress for one cleanup. Queued and retrying bytes still count as stored until object deletion succeeds. This tool never returns storage keys or provider errors.

get_post

ChatGPT
Get one Rolino post, including its ordered media and publication-destination status, by exact project and post IDs. This tool never changes Rolino data.

get_post_performance

ChatGPT
Requires analytics:read. Read stored project-scoped results and data trust. Accounts remain separate. No refresh, provider request, recommendation, or publishing. Unverified providers return unavailable data.

get_post_readiness

ChatGPT
Evaluate one saved post against its destinations, media, captions, settings, permissions, token timing, and cached provider health. YouTube checks cover one stored video, explicit metadata and declarations, description limits, Private-only audit restrictions, and queue-aware lead time. LinkedIn checks allow text, JPEG/PNG images, or exactly one MP4 within its size and duration limits. This is a read-only evaluation and does not refresh providers or publish content.

get_project

ChatGPT
Get one Rolino project by its exact ID after discovering it with list_projects. This tool never changes Rolino data.

get_seo_opportunity

ChatGPT
Read one canonical versioned SEO task by exact project and opportunity ID. It includes the Ready or Research decision, selected format, exact deliverables, safe evidence, provenance, separate topic-relevance and action-readiness confidence, targeting, source dates, limitations, success metric, and no-publish rules. This closed-world tool is read-only and cannot generate content, publish, or call an external provider.

get_seo_report

ChatGPT
Read one unchanged weekly SEO report snapshot by exact project and report ID. It groups complete Ready tasks, Research tasks, and bounded rejected findings. This closed-world tool is read-only and cannot generate content, change, or deliver a report.

get_storage_usage

ChatGPT
Read exact stored bytes, active upload reservations, available upload capacity, pending deletion bytes, and the source breakdown for the selected workspace. Unlimited workspaces still report actual stored bytes. This tool never changes Rolino data.

import_chatgpt_image

ChatGPT
Requires posts:write and projects:read. Import one user-approved ChatGPT file into the exact brand's Media Library. Prefer this tool directly for generated or attached images when a host-provided file reference is available; no import card is required. Use show_media_import only when the user requests manual selection or a usable file reference is unavailable. Pass the host-provided file object, never invent a download URL or use a sandbox path. Accepts PNG, JPEG and WebP images up to 20 MB. Returns a verified asset ID for a later draft. Does not create, schedule, approve or publish posts. Reuse the returned asset ID; do not import the same file again after success. If a call times out, inspect the Media Library before retrying.

list_blog_articles

ChatGPT
Read Blog Studio article workflow state for one exact project. Draft content requires blog:read.

list_blog_delivery_attempts

ChatGPT
List safe per-destination delivery states and remote URLs. Draft content and provider responses are not returned.

list_blog_plan_items

ChatGPT
Requires blog:read. Present this safe frozen evidence to the user before accepting or dismissing any item. Provider payloads and prompts are excluded.

list_blog_plans

ChatGPT
Read the bounded 30-day Blog Studio plans for one exact project. This does not read the social calendar.

list_blog_publishing_destinations

ChatGPT
List safe destination readiness without credentials or private provider data.

list_blog_publishing_providers

ChatGPT
List only providers available to this rollout with safe capabilities and official documentation. Requires blog:manage.

list_calendar_events

ChatGPT
List scheduled and published posts and their enabled destinations in one exact project, including immediate publications and YouTube posts whose private early preparation has started. Uses the saved schedule or, when absent, the publication time. By default the bounded window spans 30 days in the past through 90 days ahead; provide both from and to for another range and paginate with nextCursor.

list_integration_health

ChatGPT
List secret-safe cached health for every enabled publishing connection (Instagram, TikTok, YouTube, Bluesky, or LinkedIn) in one exact project. This tool does not contact external providers or reveal social credentials.

list_internal_reviews

ChatGPT
Read exact publication requests and reviewer comments. Return the authenticated Rolino review link. This does not approve or publish work.

list_media_assets

ChatGPT
List reusable images and videos in one exact project or across the selected workspace. Filters use upload time, not last-use time. Results state whether each file is in use and can be deleted. Use this before uploading to avoid duplicates and pass returned asset IDs when creating or updating drafts. This tool never changes Rolino data.

list_posts

ChatGPT
List posts in an exact Rolino project. Discover project IDs with list_projects, filter by status when useful, and paginate with nextCursor. This tool never changes Rolino data.

list_projects

ChatGPT
List projects visible to the authenticated Rolino organization. Use the returned IDs with get_project; paginate with nextCursor when present. This tool never changes Rolino data.

list_seo_opportunities

ChatGPT
Read a bounded list of active Ready and Research SEO tasks for one exact project. Each result contains one complete versioned task, decision, format, deliverables, evidence, provenance, separate topic-relevance and action-readiness confidence, limits, and no-publish rules. Rejected findings are never active tasks. This closed-world tool cannot run analysis, change settings, delete data, enable reports, send email, publish, generate media, or call an external provider.

list_seo_reports

ChatGPT
Read a bounded list of stored weekly SEO report summaries for one exact project. This closed-world tool is read-only and cannot generate or deliver reports.

list_social_metric_definitions

ChatGPT
Requires analytics:read. Read stored project-scoped results and data trust. Accounts remain separate. No refresh, provider request, recommendation, or publishing. Unverified providers return unavailable data.

list_social_performance

ChatGPT
Requires analytics:read. Read stored project-scoped results and data trust. Accounts remain separate. No refresh, provider request, recommendation, or publishing. Unverified providers return unavailable data.

prepare_media_asset_upload

ChatGPT
Requires posts:write. Reserve one user-approved file in the exact project. Return a short-lived upload URL and required headers. Transfer the file bytes to that URL, then call complete_media_asset_upload with the returned storage identity. Keep the upload URL private. This does not create or publish a post and does not read local files on the server.

preview_blog_connection_setup

ChatGPT
Requires blog:manage. Preview the exact site, endpoint, credential action, secret action, and effects before provisioning. No delivery token or webhook secret is returned by preview.

preview_blog_plan_cadence

ChatGPT
Requires blog:write. Preview how eligible editorial calendar dates will reflow inside the current 30-day plan. Scheduled and published dates stay locked, all topics and drafts stay present, and nothing is scheduled, published, or unpublished. Call this before apply_blog_plan_cadence.

preview_blog_publish

ChatGPT
Preview an exact user-approved revision and issue a short-lived bound confirmation. This does not publish.

preview_blog_revision_approval

ChatGPT
Requires blog:approve. Validate one exact revision, its approved image bundle, live links, warnings, and bundle hash, then create a short-lived confirmation. This cannot publish.

preview_blog_schedule

ChatGPT
Requires blog:publish. Bind one already-approved exact bundle, future instant, IANA timezone, and destination set to a short-lived confirmation. This does not grant approval or publish now.

preview_blog_schedule_cancellation

ChatGPT
Requires blog:publish. Bind the exact current future schedule to a short-lived cancellation confirmation. This does not unpublish a live article and does not grant approval.

preview_blog_webhook_destination

ChatGPT
Requires blog:manage. Validate an exact create or update and return a five-minute confirmation. This does not create a destination, reveal a secret, test, or publish.

preview_blog_webhook_secret_rotation

ChatGPT
Requires blog:manage. Return a five-minute confirmation for immediate old-secret invalidation. This does not rotate or reveal a secret.

preview_draft_deletion

ChatGPT
Requires posts:delete. Preview permanent deletion of one untouched draft. Show its caption, media count, and consequence to the user. Reusable Media Library originals remain.

preview_integration_disconnection

ChatGPT
Requires the separate integrations:disconnect capability. Preview the exact Bluesky account and pending deliveries before user approval. Does not disconnect or expose credentials.

preview_media_cleanup

ChatGPT
Find at most 500 exact unused Media Library files and create a short-lived confirmation. The age filter means upload age. This deletes nothing. Show the cutoff, candidate count, excluded in-use count, unknown-size count, and estimated reclaimable space to the user before asking for confirmation.

preview_post_publish

ChatGPT
Validate exact destinations for immediate publishing against the current post version, safe retry state, readiness, and live provider health. YouTube readiness requires one stored video and explicit metadata. Immediate YouTube publishing uses the configured PUBLIC, UNLISTED, or PRIVATE visibility and never creates a schedule; the preview exposes this as deliveryMode IMMEDIATE. Unaudited Google API projects may be restricted to Private. This contacts configured providers and creates a five-minute, single-use confirmation, but does not publish. Inspect the complete result before calling execute_post_publish with identical destinations.

preview_post_schedule

ChatGPT
Validate one exact future schedule against the current post version and live provider health. A YouTube schedule must target Public. Its preview states that preparation uploads the video privately now; CONFIRMING_SCHEDULE means the upload is complete and YouTube is acknowledging the future Public publish time, not that the video is public. This contacts configured providers and creates a five-minute, single-use confirmation, but does not schedule or publish the post. Inspect the complete result before calling execute_post_schedule with identical values.

preview_post_schedule_cancellation

ChatGPT
Requires posts:schedule. Preview cancellation of all destinations on a future local schedule. Delivery must not have started. Show the post, time, destinations, and consequence to the user. Use check_post_delivery for uncertain delivery.

read_website_analytics

ChatGPT
Requires website-analytics:read. Read stored Umami and Datafast connection status, sync status, reports, and active content opportunities. No provider requests. Missing rows are unknown, not zero. Review opportunities before editing or publishing.

refresh_delivery_options

ChatGPT
Contact one publishing provider and return safe account-specific choices. Bluesky returns text and image limits, connection health, and a human OAuth handoff path on this Rolino host. The owner must approve connection in the browser. TikTok returns account choices for videos and photo carousels; LinkedIn returns member and media policy. Facebook returns Page feed VIDEO and REEL availability; use FEED for one MP4/MOV or REEL for one vertical MP4. Both video formats are public. This refreshes cached health but never creates, schedules, or publishes a post.

retry_blog_plan

ChatGPT
Requires blog:manage. Retry one exact failed plan generation with idempotency and poll the returned job.

review_blog_image

ChatGPT
Requires blog:write. Approve or reject one exact image version with reviewable alt text and idempotency. This does not approve the article and cannot publish.

set_blog_plan_item_state

ChatGPT
Requires blog:write. Apply an optimistic, idempotent ACCEPTED or DISMISSED transition only after showing the evidence. Dismissal is marked destructive. This cannot publish.

show_media_import

ChatGPT
Optional fallback: open a file-selection card for one exact brand only when the user requests manual selection or a usable ChatGPT file reference is unavailable. Prefer import_chatgpt_image directly for generated or attached images with a host-provided file reference. The human selects an image from ChatGPT or uploads one and selects Save to Rolino. Opening the card only reads the brand; saving separately calls import_chatgpt_image. Does not create, approve, schedule or publish a post.

test_blog_revalidation

ChatGPT
Requires blog:manage. Make one explicit, SSRF-protected open-world signed request to the configured same-host endpoint and persist only a safe status code.

test_blog_webhook_destination

ChatGPT
Requires blog:manage. Send one signed capability test to the saved public HTTPS receiver. Delivery stays disabled unless this test succeeds. The response contains only safe status and error fields.

update_blog_draft

ChatGPT
Save a complete Blog draft with optimistic conflict protection. This creates a new immutable revision and cannot publish.

update_draft_post

ChatGPT
Update only the supplied draft fields without scheduling or publishing it; omitted caption, destinations, media, and provider settings are preserved. Read the post first and pass its current version; stale versions fail instead of overwriting another change. Editing TikTok content clears its prior review unless replacement settings are explicitly reviewed again. TikTok supports one video or up to 10 ordered photos. Photo originals must be JPEG, PNG, or WebP, up to 25 MiB each. Rolino makes JPEG delivery copies and keeps originals. The photoCoverIndex is zero-based and defaults to 0; keep allowDuet and allowStitch false and videoCoverTimestampMs null. autoAddMusic is optional, off by default, and only applies to direct photo posts. Photo inbox drafts include the caption; video inbox drafts do not. Refresh exact-account delivery options and review settings after content changes. A stable idempotency key makes exact retries safe.

whoami

ChatGPT
Use this before project tools to identify the authenticated Rolino user, organization, and granted capabilities. This tool never changes Rolino data.

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

App Stats

83

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily