Sprkly is a remote MCP server that gives an AI agent 18 tools, among them sprkly_add_media_from_url, sprkly_delete_scheduled_post, sprkly_draft_post. It answers at https://sprkly.app/api/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 4 September 2026; the last check, on 17 October 2026, succeeded.
Schedule, publish and track social posts across TikTok, Instagram, Threads and YouTube Shorts.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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 whe Inputs: url |
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. Inputs: post_id |
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. Inputs: content_hint, platforms, tone, name, profile_ids |
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 Inputs: automation_id |
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 recomme Inputs: days, profile_ids |
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_post_approval_status | Whether a post is awaiting human review, approved or rejected, including reviewer notes and timestamps. Inputs: post_id |
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 Inputs: post_id |
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, r Inputs: profile_id |
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 trig Inputs: template, profile_id, post_id |
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 |
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. Inputs: status, limit, cursor |
sprkly_request_post_approval | Submit a draft post for human review. Moves the post to pending_approval and returns an approval id to poll with sprkly_get_post_approval_status. Use this when the user wants a person to sign off before anything publishes. Inputs: post_id, note |
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, dup Inputs: caption, platforms, profile_ids, all_accounts, scheduled_time, media_urls |
sprkly_update_scheduled_post | Change the caption, publish time, target accounts or attached media on a post that has not published yet. Only posts with status "scheduled" can be edited. Inputs: post_id, caption, scheduled_time, profile_ids, media_id, media_ids |
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 analysi Inputs: caption, platforms, mediaUrlsCount, hashtags, title, platformMeta |
Every block below points at https://sprkly.app/api/mcp. Pick your client and copy.
claude mcp add --transport http sprkly https://sprkly.app/api/mcp
{
"mcpServers": {
"sprkly": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://sprkly.app/api/mcp"]
}
}
}{
"mcpServers": {
"sprkly": {
"url": "https://sprkly.app/api/mcp"
}
}
}{
"servers": {
"sprkly": {
"type": "http",
"url": "https://sprkly.app/api/mcp"
}
}
}{
"context_servers": {
"sprkly": {
"url": "https://sprkly.app/api/mcp"
}
}
}{
"mcpServers": {
"sprkly": {
"serverUrl": "https://sprkly.app/api/mcp"
}
}
}{
"mcpServers": {
"sprkly": {
"url": "https://sprkly.app/api/mcp"
}
}
}name: Sprkly
version: 0.0.1
schema: v1
mcpServers:
- name: Sprkly
type: streamable-http
url: https://sprkly.app/api/mcp{
"mcpServers": {
"sprkly": {
"httpUrl": "https://sprkly.app/api/mcp"
}
}
}{
"mcpServers": {
"sprkly": {
"type": "http",
"url": "https://sprkly.app/api/mcp"
}
}
}{
"mcpServers": {
"sprkly": {
"url": "https://sprkly.app/api/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fsprkly.app%2Fapi%2Fmcp&type=streamable_http&id=sprkly&name=Sprkly
It answered our last check on 17 October 2026 in 1348 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by sprkly.app and served from sprkly.app, the vendor's own domain: https://sprkly.app/api/mcp.
18, as returned by the server's own tools/list on 9 September 2026: sprkly_add_media_from_url, sprkly_delete_scheduled_post, sprkly_draft_post, sprkly_export_automation_template, sprkly_get_account_summary, sprkly_get_analytics, sprkly_get_billing_summary, sprkly_get_post_approval_status, and 10 more.
It answered our last check on 17 October 2026 in 1348 ms. Over 10 checks since 4 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://sprkly.app/api/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: app.sprkly. Endpoint host: sprkly.app. ARD identifier: urn:air:app.sprkly:mcp:sprkly.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.