Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

uplika

com.uplika/uplika

Publish to social channels from your AI agent. Threads is live; nine more await review.

Uptime
100.0%
3 direct probes · 30d
Response
2601ms
last probe
Tools
28
callable
Resources
0
readable
Prompts
0
available

Tools · 28

list_accounts

Connected social accounts. **Call this before publishing anything.** Each item has id, platform (threads etc.), handle and status. The accountIds you pass to publish are these ids, and only "active" o…

select_channels

Pick which connected channels to post to. **Call this before publish and show the result to the person.** Leave scope empty to get the candidate list and let them choose. Use scope: "all" for every ac…

list_platforms

Every channel and its rules: character limit, whether media is required, image and video limits, and what state the channel is in. Read this instead of guessing a platform's limits. status is one of t…

list_posts

Recent publishes made through us and the per-target status of each, scheduled and draft posts included (their status says so and scheduledAt says when). Newest first, 20 by default. Pass limit for mor…

list_channel_posts

What is actually on the channel right now, including posts written in the channel's own app. Use this to find a post when you do not have its link. Each item carries a permalink you can pass straight …

publish

Post to social channels. Channels open today: threads, instagram, youtube, facebook, bluesky, telegram, naver_blog, tiktok. Get accountIds from select_channels — do not guess which channel the person …

open_post

Everything about one post in a single call: the text, the whole reply thread, and its metrics. This is the right tool when someone hands you a post link. Replies or metrics can come back null if the p…

get_post

One publish: per-target status and the reason any target failed. For a post link you probably want open_post instead.

retry_post

Retry the targets that failed on a publish. Targets that already went out are left alone. Naver Blog caps how many posts one ID publishes; when it does, this returns 429 naver_rate_limited with retryA…

update_post

Change a scheduled or draft post before it goes out: content, mediaIds, accountIds, Naver Blog caps how many posts one ID publishes; when it does, this returns 429 naver_rate_limited with retryAfterSe…

publish_now

Send a scheduled or draft post right now instead of waiting. Returns while it is still publishing, like publish; pass wait: true to hold for the result. A draft needs at least one target account first…

delete_post

Delete a post from the channel for good. This is not reversible, so confirm with the person first. Daily delete limits differ per channel: Threads 100 a day, Instagram only on accounts connected via F…

list_replies

The whole reply thread under a post, nested replies included. `truncated` tells you we stopped before the end. The count here can differ from the replies metric in get_insights, which is normal.

reply

Reply to a post or to a reply. Leave replyTo empty to reply to the post itself; pass a reply id from list_replies to nest a reply under that reply.Like publish, this returns before the reply is live. …

like

Like a post, or a reply under it when you pass replyTo. Idempotent: if it is already liked the call succeeds with already: true and nothing is toggled. There is no unlike. Naver Blog only today; other…

follow

Follow an account on the channel. Naver Blog only today: adds the blog as a neighbor. mutual: true sends a mutual-neighbor request that the other blog has to accept, so the result is pending until the…

hide_reply

Hide a reply on the channel, or show it again with hide: false. The reply id comes from list_replies, and postId is the publish it belongs to.

get_insights

Views, likes, replies, reposts, quotes and shares for one publish. Views and shares can be null when the platform does not report them yet — null is not zero.

naver_layout

Naver Blog only. Shows how publish will lay the body out before anything goes out. By default (layout: template) publish reshapes the markdown into the blog's house form: #/## titles become underlined…

bridge_status

Naver Blog only. Posts to Naver Blog are written by the uplika browser extension inside the user's own Chrome, so nothing goes out while that Chrome is closed. Call this before publishing to Naver Blo…

get_publish_options

What a channel needs to know before you publish to it. Only TikTok has this today; every other channel returns not_supported, which is not an error to work around. For TikTok it returns the creator ni…

get_quota

How much of the 24 hour allowance is already used for posts, replies and deletes. Check this before a burst of publishing. This is live usage from the platform, not the static limits in list_platforms…

refresh_account

Re-read one connected channel's metadata. On Naver Blog this re-reads the blog's categories through the user's browser extension and waits up to a minute for it; list_accounts then shows the new list …

media_presign

Step 1 of attaching an image or video. Returns a media id and a one-time uploadUrl. PUT the file bytes to uploadUrl with the same contentType, then call media_complete. Images: image/jpeg, image/png, …

media_from_url

Attach an image or video that is already on the public web. We download it, copy it into our storage and give you a media id you can pass to publish. One step, no upload needed. https only. Google Dri…

media_upload_link

Ask the person to upload files from their own device. Returns a short-lived link. **Give the link to the person, then wait.** Poll media_upload_status with the token until it returns ready, and only t…

media_upload_status

Has the person uploaded yet? Returns waiting, ready or expired, plus every media id uploaded through that link. Pass those ids to publish as mediaIds. Ready images also come back as image blocks so yo…

media_complete

Step 2 of attaching an image or video. Call it after the upload finishes. We check the file really landed before marking it ready. Only a ready media id can be passed to publish.

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "uplika": {
      "url": "https://api.uplika.com/mcp",
      "transport": "streamable-http"
    }
  }
}