MuseDirectory
All apps / Marketing & Ads
Marketing & Ads

Uplika

Publish to Threads, Instagram, YouTube, TikTok and eight other social channels from your AI agent.

Connects to social media platforms including Threads, Instagram, YouTube, Facebook, Bluesky, Telegram, TikTok and Naver Blog. Lets you compose and schedule posts, manage replies and comments, track engagement metrics, and automate responses across all connected accounts.

Try asking Muse: "Post this photo to my Instagram and Threads accounts and schedule it for tomorrow at 9am."

Useful? Vote it up. One vote per person, tap again to undo.
See the most upvoted connectors
Working now?
Working, sign-in needed
Worked last 7 days
100% of checks
How to get it
Extra setup
Account
No account needed
Price
Not stated
Works in

Source: Found in the official MCP Registry (com.uplika/uplika) · First listed September 24, 2026

Last 24 hours

Each bar is one check, every 15 minutes. Green means it answered. Last checked 5 h ago.

New to Muse?Muse is Meta's AI assistant. Uplika is an app you add to it, and once it is on, you can ask Muse to do this for you: publish to threads, instagram, youtube, tiktok and eight other social channels from your ai agent. It takes about two minutes and you can turn it off any time.

Is it safe to connect?

What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.

Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.

musedirectory.ai is not part of Meta. More about how Muse handles your information

How to add it to Muse

Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Open Muse
https://api.uplika.com/mcp

Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.

Also use it in ChatGPT or Claude

Uplika is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.

Add it to ChatGPT
  1. 1

    Open ChatGPT settings

    In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).

  2. 2

    Turn on developer mode

    Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.

  3. 3

    Create the connector

    Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.

  4. 4

    Use it in a chat

    Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.

Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT

Add it to Claude
  1. 1

    Open Claude settings

    In Claude, open Settings, then Connectors.

  2. 2

    Add a custom connector

    Choose Add custom connector, give it a name, and paste the link.

  3. 3

    Connect and use it

    If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.

Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude

https://api.uplika.com/mcp

What people ask Muse to do

Everything Muse can do

Technical details: safety screening, tools, response time and recent checks

Response time at the last check: 775ms. Worked in 97.7% of checks over 30 days.

Screening · September 24, 2026

Screened, no issues found

MCP handshake
Pass
Answered in 509ms
Domain against threat feeds (Cloudflare security DNS)
Pass
api.uplika.com, uplika.com not flagged
Published packages against the OSV malicious-package database
n/a
No npm or PyPI package published
Hidden instructions or invisible characters in tool text
Look
publish: Unusually long tool description; send_dm: Tool text tells the model to take extra steps
Inputs asking for passwords, card numbers or seed phrases
Pass
None found
Domain and redirects
Pass
Domain registered 49 days ago
AI review of purpose and tool behavior
Pass
No concerns

Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.

Tools · 40

list_accountsConnected 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" ones publish. If the person did not name a channel, target every active account.
select_channelsPick 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 active channel, or an array mixing platform names ("threads"), handles ("@vibe.tre
list_platformsEvery 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 says who can connect: live means anyone; beta means the channel is in platform review and o
get_helpUplika's troubleshooting answers: why something did not work and what the person can do about it. Call it with the error code you got (code), or with a short question in any language (query), when a call fails, when an automation did not react or a DM did not arrive, or when the
list_postsRecent 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 more or fewer, up to 100. hasMore means the list was cut short; pass the returned n
list_channel_postsWhat 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 to open_post, reply or delete_post. An empty list does not always mean the accou
publishPost 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 meant. Naver Blog caps how many posts one ID publishes; when it does, this retur
open_postEverything 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 platform refused just that part. If the response carries `bridge`, `bridge.nextSt
get_postOne publish: per-target status and the reason any target failed. For a post link you probably want open_post instead. A target whose account was disconnected keeps its status and link, with connectionId null and accountHandle set to that account's handle; editing, deleting or ret
retry_postRetry 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 retryAfterSeconds. Do not call again before that, the draft is already in Naver. Naver
update_postChange a scheduled or draft post before it goes out, or edit a post that is already live on a channel that supports editing (list_platforms features: today Naver Blog, YouTube and some Facebook posts). Fields: content, mediaIds, accountIds, options, scheduledAt or draft. Fields y
publish_nowSend 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. Posts that already went out return post_not_editable.
delete_postDelete 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 Facebook, with no documented daily cap, YouTube 20 a day, Facebook 50 a day, Blue
list_repliesThe 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. If the response carries `bridge`, `bridge.nextStep` says what is needed: `run_wake` m
replyReply 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 unless you pass wait: true, which holds the response until it is out (up to 10 s
likeLike a post — or a comment: pass replyTo (a reply id from list_replies) to like that comment instead of the post. Idempotent: if it is already liked the call succeeds with already: true and nothing is toggled. There is no unlike. Works on Naver Blog and on Instagram accounts conn
followFollow 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 they do; without it the blog is added as a plain neighbor right away. Already a nei
hide_replyHide 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.
delete_replyDelete a comment for good. This is not hide_reply: it cannot be undone. What it reaches differs by channel and list_platforms says which ones support it at all. On Instagram and Facebook it removes anyone's comment on your post; on Threads and Bluesky a reply is itself a post, so
get_insightsViews, 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. If the response carries `bridge`, `bridge.nextStep` says what is needed: `run_wake` means the browser with the extension
describe_grammarHow to write the body for a channel that has its own markup. Naver Blog has one; every other platform returns not_supported, which is not an error to work around. Call this before writing a Naver Blog body for the first time, or whenever you want something the basics do not cover
naver_layoutNaver 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 quote headings, a thin rule sits between sections, photos you did not place wit
bridge_statusNaver Blog only. Posts to Naver Blog are written by the uplika browser extension inside the user's own browser (Chrome, Edge or Whale), so nothing goes out while that browser is closed. Call this before publishing to Naver Blog. If online is false, the response carries wake comma
list_naver_draftsNaver Blog only. Lists the drafts (temp-saved posts) sitting in the blog's draft box: logNo, title and the last-saved time, newest first. A post you published with options.naver_blog.draftOnly is one of them, and so is anything the person saved by hand in the Naver editor. Pass a
publish_naver_draftNaver Blog only. Publishes a draft from the blog's draft box exactly as it is in Naver: the extension loads that draft in the editor and presses publish, so edits the person made by hand in Naver are kept. Do not send content. Category, tags and openType are taken from the draft
diagnose_naver_blogNaver Blog only. Reads a blog's public RSS feed (its latest posts, at most 50) and says whether the titles are written for search: the share of titles carrying a search intent word (price, how to, review), how many start with a date or episode label, posts per month, the categori
expand_naver_keywordsNaver Blog only. Expands seed keywords one level through Naver autocomplete and returns every word found with the seed it came from (found[].from is seed or L1:<seed>). These are candidates to measure with research_naver_keywords, not proven keywords. The person's uplika browser
research_naver_keywordsNaver Blog only. Measures keywords (monthly searches from Search Ad, blog document count and posts per month from API HUB), judges each one (best, possible, hard, wall, hot, saturated, phantom and so on, with why), and groups them into sets for one post: a main keyword plus two t
list_naver_keyword_reportsLists the person's saved keyword research (from research_naver_keywords or the dashboard), newest first: when, what they typed, the first set's main and sub keywords, and every set with its prompt. Reports belong to the person, not a workspace.
get_naver_keyword_historyThe measurement history of one keyword: one point per day it was actually measured, newest first, with search volume, document count and posts per month. Shows whether a keyword is rising or cooling. An empty list means nobody has measured it here yet.
search_youtube_videosSearches YouTube for a keyword and returns the top videos with views, subscribers, duration and publish date as YouTube gives them, plus two values uplika calculates from them that are not YouTube metrics (dataNotes says so): the views-to-subscribers ratio (above 1 means the titl
check_naver_visibilityNaver search only. Looks each keyword up on Naver's integrated search through the person's uplika browser extension (it reads the public result page in their own browser, about 3 seconds apart; no window opens) and returns, per keyword, whether an AI briefing answers it and in wh
scan_naver_blog_visibilityNaver search only. Starts a report card for a Naver blog: reads its latest posts from the public RSS feed, picks each post's main keyword (from its title, or the keyword chosen when it was written in Uplika, or one the person set), and checks every keyword through the person's up
get_naver_visibilityReads what uplika has recorded about Naver search and AI briefings, without reading Naver again. With blog: the report card (cards: AI citation rate, search exposure rate, keywords with an AI briefing, cited posts; axes: five scores out of 10 on uplika's own scale with the raw va
get_publish_optionsTikTok only. Do not call it for any other channel: every other channel returns not_supported, which is not an error to work around. For TikTok it returns the creator nickname the post will go out as, the privacy levels this account may use right now, whether it can post at all, a
search_instagram_audioInstagram only. Lists audio you can put on an Instagram reel: music, or original sounds from other reels. Put the id you pick in options.instagram.audio.id when you call publish. Reels only. Works only for Instagram accounts connected via Facebook; an account connected with Insta
get_quotaHow 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. We also cap how fast one account can publish, so publish can return rate_limit
refresh_accountRe-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 under naverBlog.categories. Call this when a category the person mentions is not
media_presignUse this only when you can HTTP PUT the file bytes yourself (a shell or code runtime). Web and mobile chat clients cannot, so do not call it there: for a file on the person's device use media_upload_link, for a public https address use media_from_url. Returns a media id and a one
media_from_urlAttach 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 Drive and Dropbox **share** links do not work: they return an HTML preview page, no

Recent checks

2026-11-13 09:45:54live · HTTP 401775ms
2026-11-13 03:16:03live · HTTP 401733ms
2026-11-12 21:00:52live · HTTP 401324ms
2026-11-12 14:31:10live · HTTP 4011280ms
2026-11-12 08:15:54live · HTTP 401840ms
2026-11-12 02:00:53live · HTTP 401207ms
2026-11-11 19:45:59live · HTTP 401776ms
2026-11-11 13:30:57live · HTTP 401797ms
2026-11-11 07:15:52live · HTTP 401233ms
2026-11-11 01:15:45live · HTTP 401876ms
2026-11-10 19:00:58live · HTTP 4011027ms
2026-11-10 13:00:45live · HTTP 401477ms

Link

https://api.uplika.com/mcp

Questions about Uplika in Muse

How do I connect Uplika to Muse?

Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Uplika to help me. It is a free service with an MCP server at https://api.uplika.com/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Is Uplika working right now?

At the last check (November 13, 2026, 09:45 UTC) the endpoint was working, sign-in needed, answering in 775ms. Over the last 7 days it answered 100% of health checks. It is checked every 15 minutes.

Is Uplika safe to connect to Muse?

It was screened on September 24, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.

What can Uplika do in Muse?

It exposes 40 tools, including list_accounts, select_channels, list_platforms, get_help. For example, you could ask Muse: "Post this photo to my Instagram and Threads accounts and schedule it for tomorrow at 9am."

Follow Uplika

Tell me if Uplika goes down, comes back, or changes its tools
One email per change. You confirm first, and every email has a link to stop.
Made this app? Claim it or get a status badge

Is this yours?

This listing was added from public sources (Found in the official MCP Registry (com.uplika/uplika)). If you build Uplika, claim it to correct the details and get your badge.

Claim this listing

Uplika status badge

Paste this on your site or README. It always shows the latest check.

<a href="https://musedirectory.ai/connector/uplika"><img src="https://musedirectory.ai/badge/uplika.svg" alt="Uplika on musedirectory.ai" width="236" height="40"></a>

More for app makers

More
List your app, free

Independent directory. Not affiliated with Meta.