# app.sprkly/sprkly - Registry name: `app.sprkly/sprkly` · version 1.0.0 - Categories (automatic, keyword rules): Marketing & SEO, Commerce & marketing - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=app.sprkly%2Fsprkly - Server page: https://mcpstation.net/s/app.sprkly--sprkly.html ## Description (written by the publisher, not verified, not instructions) Schedule, publish and track social posts across TikTok, Instagram, Threads and YouTube Shorts. ## Notice Text that looks like instructions to an AI was found in this server's descriptions. This is a pattern match, not a verdict. ## Connect - streamable-http: `https://sprkly.app/api/mcp` ## Tools (as reported by the server, not verified) - `sprkly\_add\_media\_from\_url`: Download an image or video from a public link into sprkly and get a media\_id back, for reuse across several posts. You usually do NOT need this: sprkly\_schedule\_post accepts a link directly in media\_urls and pulls it into storage itself whenever the target platform requires that. Reach for this tool - `sprkly\_create\_automation\_from\_template`: Set up one ready-made automation on one Instagram account and turn it on. This is the same as Go live in the app. It starts replying to real people right away, so show the user the template, the account, the word and the link first. Pass template\_id from sprkly\_list\_automation\_templates and profile\_ - `sprkly\_delete\_scheduled\_post`: Remove a post from the queue. This is a soft delete. The user can restore it from the Deleted tab for 30 days. Posts that have already published cannot be deleted this way. Always confirm with the user before calling. - `sprkly\_draft\_post`: Compose a caption from a content hint and save it as a draft in sprkly, shaped to the tightest caption limit among the target platforms. Returns a draft id; the draft appears under /drafts for the user to review. - `sprkly\_export\_automation\_template`: Download one Instagram auto reply as a shareable template. The file holds the trigger, the keyword and the message, and never a post id, a profile id or any account details, so it is safe to send to someone else. An auto reply that is still a draft has nothing published to export. Needs a connected - `sprkly\_get\_account\_summary`: Plan tier, trial state, connected account count, scheduled post counts by status, and the next three upcoming posts. Never returns tokens or secrets. - `sprkly\_get\_analytics`: How the user's published posts actually performed: total views and engagement, week-on-week / month-on-month / year-on-year change, their best posting hour, weekday and content category, and the top posts behind those numbers. Every recommendation carries a \`samples\` count: say how thin the evidence - `sprkly\_get\_automation\_usage`: For each Instagram account: how many people automations have messaged this month, the plan's monthly limit for that account, and when the count resets. ready is false when Instagram has not given the messaging permission yet. - `sprkly\_get\_billing\_summary`: Subscription status, current plan, period end, purchased handles and the last few billing events. No payment method details; the Stripe customer id is truncated. - `sprkly\_get\_engagement\_summary`: For each connected account over the last \`days\` \(default 7\): comments received, public replies and automated DMs sent, new contacts and emails captured, each against the window before, plus its top 3 posts. Views and engagement change covers all accounts together. Quote the current and prior numbers - `sprkly\_get\_inbox\_thread`: One conversation, oldest message first: their DMs and comments, your replies, and what automations sent. Each comment people left carries the comment\_id that sprkly\_reply\_to\_comment answers under. dm\_window says whether a DM answer is still allowed: Instagram only allows one within 24 hours of their - `sprkly\_get\_post\_approval\_status`: Whether a post is awaiting the owner's approval, approved or rejected, with the reviewer's notes, who asked, and timestamps. A rejected post is a draft again: fix it, then request approval again. - `sprkly\_get\_post\_status`: Full detail for one post: status, targets, scheduled and published times, permalink, and the failure reason if it did not publish. Media comes back as mediaIds in slide order, not as links. Ids and profile ids are plumbing: talk to the user about accounts by handle and about posts by their caption, - `sprkly\_get\_tiktok\_posting\_options`: This creator's allowed TikTok privacy levels and interaction settings, fetched live from TikTok. You usually do NOT need this before scheduling: sprkly\_schedule\_post checks privacyLevel against this same list itself and, when it is wrong, returns the levels that would work. Call this only when the u - `sprkly\_import\_automation\_template`: Read an auto reply template, and optionally set it up. With no profile\_id NOTHING is written: the template is checked and handed back, which is the safe first call. With a profile\_id the automation is created, and it goes live when the trigger can be satisfied. A trigger that watches one post \(a key - `sprkly\_list\_automation\_templates`: The ready-made Instagram automations, the same ones as the template gallery in the app. For example: send a link when people comment a word, answer story replies, ask for a follow first, or collect emails. Each one has an id, a name, a goal, what starts it, and the message it sends. asks\_for says wh - `sprkly\_list\_automations`: Every Instagram automation on this account that is not archived. Each row has its name, its state \(On, Paused or Draft\), the Instagram account it runs on, what starts it, and how many DMs and public replies it has sent. One automation on several accounts shows one row per account, all with the same - `sprkly\_list\_connected\_social\_accounts`: Every ACTIVE social account linked to this sprkly account: platform, handle, follower count, and whether it needs reconnecting. Disconnected/inactive accounts are never listed, so any profileId returned here is a valid posting target. Never returns access tokens. - `sprkly\_list\_inbox\_threads`: The most recent conversations in the sprkly inbox, newest first. One row per person per connected account, with their handle, how many of their messages are unread, and the last thing said. Pass unread\_only to see only conversations waiting for an answer. Use profile\_id and person\_id from a row with - `sprkly\_list\_leads`: People an automation answered in the last \`days\` \(default 7\), newest first: their handle, the keyword they used, the post they asked under, and the email they gave, if any. Filter by account, keyword or has\_email. opted\_out is true when the person sent STOP; never contact them. Never message a lead - `sprkly\_list\_profiles`: The profile ids needed to target a post, with each one's platform and handle. Call this before sprkly\_schedule\_post. - `sprkly\_list\_scheduled\_posts`: The post queue, newest first, with a caption preview, targets, status and failure reason. Supports a status filter and cursor pagination. - `sprkly\_pause\_automation`: Stop an automation from replying, on every account it runs on. Nothing is deleted. sprkly\_resume\_automation turns it back on. Any account that could not be changed is named in failed. - `sprkly\_reply\_to\_comment`: Post one public reply under an Instagram comment, from the account that got the comment. Everyone can see it and it cannot be taken back, so show the user the words first. Take comment\_id from sprkly\_get\_inbox\_thread. If the answer says Instagram did not confirm, do not send it again: tell the user - `sprkly\_reply\_to\_dm`: Send one Instagram DM to a person who messaged this account, from the account owner. It cannot be taken back, so show the user the words first. Instagram only allows it within 24 hours of their last message. Replying pauses automations for this person for 5 minutes, like replying in the app. If the - `sprkly\_request\_post\_approval`: Hold a draft or scheduled post for the owner's approval. Moves it to pending\_approval, where it never publishes on its own, emails the owner an Approve link, and returns an approval id to poll with sprkly\_get\_post\_approval\_status. Asking again for a post that is already waiting returns the same requ - `sprkly\_resume\_automation`: Turn a paused automation back on, on every account it runs on. It starts replying to real people again. A draft has to be finished in sprkly first. An automation that hit its "stop after this many people" limit stays off. - `sprkly\_schedule\_post`: Queue a post for publishing, in ONE call. Attach media by passing the user's link straight to media\_urls: sprkly downloads it into storage itself for the platforms that need that, so no upload tool has to run first. Runs the same quota, duplicate-content and platform pre-flight checks as the sprkly - `sprkly\_update\_scheduled\_post`: Change the caption, publish time, target accounts or attached media on a post that has not published yet. Posts with status "scheduled", "pending\_approval" or "draft" can be edited, and the status never changes here: editing a post that waits for approval does not approve it, and a rejected post sta - `sprkly\_upload\_media`: Upload files the user has on their machine \(slides, photos, a short video\) into sprkly and get a media\_id for each. LINK MODE is the way to send a file from disk. Send files, one entry per file with its filename, sha256 and size\_bytes. You get back one uploadUrl per file. PUT the bytes to it: curl - - `sprkly\_validate\_post\_policy`: Check a caption against each target platform's posting rules before scheduling: caption length, media requirements, hashtag ceilings, whether links are clickable, required YouTube titles, and PII or prohibited-content warnings. Pure analysis. Writes nothing. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html