sprkly
(unclaimed - source: registry-official · publisher: app.sprkly) · languages: en · regions: global · more from app.sprkly →
Schedule, publish and track social posts across TikTok, Instagram, Threads and YouTube Shorts. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_e2571dbf9c/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_e2571dbf9c/ask -d '{"tool":"sprkly_add_media_from_url","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_e2571dbf9c # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://sprkly.app/api/mcp- Pricing
- not listed
- Links
- homepage · repository
Live capabilities — 19 tool(s) it actually exposes · sprkly-mcp v1.0.0 (measured from a real MCP handshake, not self-reported)
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_schedulesprkly_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 deletsprkly_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; thesprkly_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 accsprkly_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, weesprkly_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 truncatedsprkly_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: fsprkly_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 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_schedulesprkly_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 csprkly_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 asprkly_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_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, ansprkly_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 platfosprkly_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 "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 dissprkly_validate_post_policy — Check a caption against each target platform's posting rules before scheduling: caption length, media requirements, hashtag ceilings, whether links are clickablCall the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_e2571dbf9c # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-10-16
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-10-16
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_e2571dbf9c)<a href="https://jishie.com/agent.html?id=aix_e2571dbf9c"><img src="https://jishie.com/v1/agents/aix_e2571dbf9c/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — doc-collaboration
| Agent | Track record | Price |
|---|---|---|
| FabTally 3D-Print Slicer, Quote & DFM T2 | relevance 70 | — |
| 0DTE Confluence T2 | relevance 57 | — |
| local-mcp T2 | relevance 56 | — |
| Adbloop Meta Ads T2 | relevance 49 | — |
| Default Privacy T2 | relevance 44 | — |
Raw machine record (what agents receive)
{
"id": "aix_e2571dbf9c",
"name": "sprkly",
"operator": "(unclaimed - source: registry-official · publisher: app.sprkly)",
"description": "Schedule, publish and track social posts across TikTok, Instagram, Threads and YouTube Shorts.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-10-16",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"doc-collaboration",
"streaming-tools"
],
"protocols": {
"mcp": "https://sprkly.app/api/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 4828,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 41,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-10-16T00:00:59.270Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://sprkly.app/"
},
{
"label": "repository",
"url": "https://github.com/YOUR_GH_USERNAME/sprkly-mcp"
}
],
"profile": {
"mcp_server": "sprkly-mcp",
"mcp_version": "1.0.0",
"tool_count": 19,
"tools": [
{
"name": "sprkly_add_media_from_url",
"description": "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 only when the user wants one media_id to attach to more than one post. Google Drive and Dropbox share links are converted automatically; the file must be shared publicly. Limit 50 MB."
},
{
"name": "sprkly_delete_scheduled_post",
"description": "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."
},
{
"name": "sprkly_draft_post",
"description": "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."
},
{
"name": "sprkly_export_automation_template",
"description": "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. (coming soon, pending Meta review)"
},
{
"name": "sprkly_get_account_summary",
"description": "Plan tier, trial state, connected account count, scheduled post counts by status, and the next three upcoming posts. Never returns tokens or secrets."
},
{
"name": "sprkly_get_analytics",
"description": "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 is rather than presenting a one-post pattern as a finding. Every period-on-period percentage carries the post counts and raw totals it came from: quote those, because a big percentage off a tiny base is not a big change. `topPosts` is grouped by platform and ranked only inside each group; `relativ"
},
{
"name": "sprkly_get_billing_summary",
"description": "Subscription status, current plan, period end, purchased handles and the last few billing events. No payment method details; the Stripe customer id is truncated."
},
{
"name": "sprkly_get_post_approval_status",
"description": "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."
},
{
"name": "sprkly_get_post_status",
"description": "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, and do not read ids out unless they ask for one."
},
{
"name": "sprkly_get_tiktok_posting_options",
"description": "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 user asks what their options are, or you want to offer them a choice."
},
{
"name": "sprkly_import_automation_template",
"description": "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 keyword on a post, or every comment on a post) needs post_id as well. Without one it saves as a draft that sends nothing until a post is chosen. A keyword on any post and a Profile DM need no post_id. A template that DMs every commenter on the whole account is turned off and is refused. (coming soon, p"
},
{
"name": "sprkly_list_connected_social_accounts",
"description": "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."
},
{
"name": "sprkly_list_profiles",
"description": "The profile ids needed to target a post, with each one's platform and handle. Call this before sprkly_schedule_post."
},
{
"name": "sprkly_list_scheduled_posts",
"description": "The post queue, newest first, with a caption preview, targets, status and failure reason. Supports a status filter and cursor pagination."
},
{
"name": "sprkly_request_post_approval",
"description": "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 request. Approved posts go back to scheduled (a post past its time goes out in about 2 minutes); rejected posts become drafts with the owner's notes. To hold a NEW post, pass requires_approval to sprkly_schedule_post instead. Power plan only: other plans get upgrade_required."
},
{
"name": "sprkly_schedule_post",
"description": "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 app. Instagram and TikTok require media at submission time; YouTube and TikTok require a title, and TikTok also requires platform_meta.tiktok.privacyLevel — just send the level the user asked for and this tool names the allowed values if it is not one of them. It reads the real bytes of the media an"
},
{
"name": "sprkly_update_scheduled_post",
"description": "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 stays a draft until you request approval again. A post waiting for approval can only target one account."
},
{
"name": "sprkly_upload_media",
"description": "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 -sS -X PUT --data-binary @01.jpg \"<uploadUrl>\". Each PUT answers JSON with mediaId. Links last 15 minutes. Up to 50 MB per file and 35 files per call. The bytes never pass through you, so a whole carousel costs a few hundred tokens. INLINE MODE is for tiny files only (a few KB): data_base64 plus file"
},
{
"name": "sprkly_validate_post_policy",
"description": "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."
}
],
"profiled_at": "2026-10-16T00:00:59.270Z"
},
"unreachable": false
}