MCP servercom.uplika/uplika
Your AI agent publishes to Threads, Instagram, YouTube and the other social channels you connect.
Overview
Score?
UNRATED 0.672
of what a free look can see, on 30 looks
Looks
36
last 3 hr ago
Tools
61
changed 3 hr ago
More info
URL
api.uplika.com/mcp
streamable-http
Says it is
uplika 1.0.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.672 · highest on record 0.8561
Toolsfrom sha256:3c839bad4a…777dbd · +1 −0 3 hr ago
| Tool | Schema |
|---|---|
| approve_reply Threads only: approve (or ignore) a reply held by reply approval on one of the account's posts. Approving makes it public. Read the queue with pending: true. |
input · no output |
| 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 pub |
input · no output |
| create_automation Create an automation from any template in list_automation_templates by passing its params. Creates a draft. For a flow no template covers, build the document yourself and call put_ |
input · no output |
| create_comment_to_dm The most common automation: when someone comments on a post, DM them. **Creates a draft; nothing goes out until enable_automation.** How Meta works: a DM cannot be started by the a |
input · no output |
| delete_automation Delete an automation and its run history. Cannot be undone. A live automation is refused with automation_live: disable it first, or pass force: true after the person confirms, beca |
input · no output |
| 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 acco |
input · no output |
| delete_reply Delete 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 Fa |
input · no output |
| describe_grammar How 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 |
input · no output |
| diagnose_naver_blog Naver 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 |
input · no output |
| disable_automation Stop an automation. Runs already waiting for a button stay waiting but nothing new starts. |
input · no output |
| duplicate_automation Copy an automation as a new draft with the same triggers and settings, optionally with a new name. Runs and versions are not copied; a copy bound to a specific post keeps that post |
input · no output |
| enable_automation Turn an automation live. **This is the moment messages start going to real people.** Confirm with the person first. Only one automation per account can wait for the next post: enab |
input · no output |
| expand_naver_keywords Naver 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 c |
input · no output |
| 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 |
input · no output |
| get_automation One automation as a document: triggers, nodes, start. Also returns version, which put_automation and update_automation need, and templateParams when the flow still has its template |
input · no output |
| get_contact One contact: name, username, whether they follow the account and whether it follows them (Instagram only, and only for people who have messaged), follower count, tags, opt-out, and |
input · no output |
| get_help Uplika'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 langua |
input · no output |
| 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. If the response carri |
input · no output |
| get_naver_keyword_history The 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 |
input · no output |
| get_post One publish: per-target status and the reason any target failed. For a post link you probably want open_post instead. If the response carries `bridge`, `bridge.nextStep` says what |
input · no output |
| 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 re |
input · no output |
| 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 limi |
input · no output |
| 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. |
input · no output |
| like Like 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: |
input · no output |
| 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, |
input · no output |
| list_automation_runs Runs of one automation with their status and a step log. Status says where a run is or why it stopped: running, waiting, done, superseded, blocked_window (24-hour window closed), b |
input · no output |
| list_automation_templates Ready-made automation templates with the params each one takes. Read this before create_automation. Every template lists the channels it works on. The most used one is comment_to_d |
input · no output |
| list_automation_versions Saved versions of one automation (every put_automation or update_automation adds one). Read one with get_automation and version. |
input · no output |
| list_automations Automations on the connected accounts: name, channel, whether it is live or a draft, triggers, run count, and templateParams when the flow still has its template shape. Filter by a |
input · no output |
| 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 yo |
input · no output |
| list_conversations The inbox: DM conversations on Instagram and Facebook and mention threads on Threads. Each item says whether the 24-hour window is open and how long is left. state: open (default) |
input · no output |
| list_mentions Threads posts that mention the connected account, delivered by webhook. Same shape as list_conversations with kind mention. Reply with send_dm, which posts publicly. Mentions need |
input · no output |
| list_naver_drafts Naver 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_bl |
input · no output |
| list_naver_keyword_reports Lists 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 |
input · no output |
| 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 |
input · no output |
| 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 |
input · no output |
| 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, wh |
input · no output |
| 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. |
input · no output |
| 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. ht |
input · no output |
| media_presign Use 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 devic |
input · no output |
| 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 retur |
input · no output |
| 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 a |
input · no output |
| 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: #/## titl |
input · no output |
| 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 com |
input · no output |
| 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 |
input · no output |
| publish_naver_draft Naver 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 b |
input · no output |
| 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 |
input · no output |
| put_automation Edit an automation by replacing its whole document: for flows no template covers, or that were already edited on the canvas. If get_automation shows templateParams, change it with |
input · no output |
| read_conversation One conversation with its recent messages and the contact: name, whether they follow the account (Instagram only), tags, opt-out. AI drafts waiting for approval show as status draf |
input · no output |
| 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 |
input · no output |
| 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 befor |
input · no output |
| research_naver_keywords Naver 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, satura |
input · no output |
| 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 |
input · no output |
| search_youtube_videos Searches YouTube for a keyword and returns the top videos with views, subscribers, the views-to-subscribers ratio (above 1 means the title and topic pulled more people than the cha |
input · no output |
| 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 |
input · no output |
| send_dm Send a message in a conversation as the account. **Only inside the 24-hour window** after the person's last message; outside it the call is refused with window_closed and nothing c |
input · no output |
| send_to_past_comments added Run a live comment automation on comments that are **already on the post**: the ones it missed because they came before it was enabled, during an outage, or while another tool hand |
input · no output |
| update_automation Edit an automation that still has its template shape, without rebuilding the whole document: pass only the template params you want to change (the same params as create_automation |
input · no output |
| update_media Mark or unmark an uploaded image or video as AI-made (aiGenerated). Applies to posts published or edited after this call; posts already out do not change (use update_post to rewrit |
input · no output |
| update_post Change 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 |
input · no output |
| validate_automation Check a flow document against the rules for one account without saving it: node shapes, references, the 24-hour window, and features still in Meta review. Answers problems with pat |
input · no output |
Verify it yourself
npx teppi-check https://api.uplika.com/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ29P77CCC1EKPSQ3R6WGB