Orchyn vs Upload Post

A side-by-side look at the Orchyn and Upload Post MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Orchyn logoOrchynSocial Media · Local subprocess (stdio)Social intelligence for 8 networks: read posts, creators and trends, then create from them.57GoodAuth: not declaredUpload Post logoUpload PostSocial Media · Local subprocess (stdio)Publish, schedule & analyze posts on TikTok, Instagram, YouTube, LinkedIn, X & 10+ social networks65GreatAuth: api key required

Verdict: choose Orchyn for social media work as a local process; choose Upload Post for social media as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Orchyn logoChoose Orchyn when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: NOOTICR_BASE_URL.
  • You want tools like get_social_media, get_post_transcript, get_post_frames.
Explore Orchyn

Upload Post logoChoose Upload Post when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: UPLOAD_POST_API_KEY, UPLOAD_POST_MAX_INLINE_MB.
  • You want tools like upload_video, upload_photos, upload_text.
Explore Upload Post

Feature & specification comparison

Rows where the two servers differ are marked.

SpecOrchyn logoOrchynUpload Post logoUpload Post
CategorySocial MediaSocial Media
Quality signal57/100 · Good65/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredBYOK (pay the provider)
Required env varsNOOTICR_BASE_URLUPLOAD_POST_API_KEYUPLOAD_POST_MAX_INLINE_MB
Verified ownerCommunity listingCommunity listing
GitHub stars011
Directory activity 0 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools8057

Tools & capabilities

Orchyn tools 80

  • get_social_mediaThe post's facts and media — contentType, title, caption, author, stats, direct media URLs, plus an inline thumbnail. Use when you want the post itself and nothing interpreted.
  • get_post_transcriptThe words actually spoken. Where the platform publishes a caption track (TikTok, Douyin, YouTube) it is read as-is — exact rather than inferred, without processing the video; everywhere else, and where a caption track is missing, the post's own audio is transcribed on the same call (posts up to 30…
  • get_post_framesFrames sampled evenly across a post's video, returned as **images you can actually look at** — not a description of them. ffmpeg opens the stream directly rather than downloading it, so HLS works and an expired link is re-resolved on the spot. Verified live at 3/3 on TikTok, YouTube, Instagram, Dou…
  • get_post_commentsTop comments plus the themes the platform clusters them into, with which ones the creator pinned or liked. Use when you want to read what people wrote.
  • analyze_post_fastThe post's transcript, caption and stats — everything but the pictures. Two fetches: `get_social_media` (1) and `get_post_transcript` (1). Use when the words and numbers answer the question.
  • analyze_postFrames sampled across the video, as **images your model can actually look at**, plus the transcript. Two fetches: `get_post_frames` (2) and `get_post_transcript` (1). Use when the visuals are the point — framing, editing, on-screen text.
  • understand_social_postThe same two fetches, asked for a description of what physically happens on screen rather than why it works. Use when you need the events, not the strategy.
  • summarize_post_commentsThe comment section, every comment with a stable id, and the taxonomy to label them with — sentiment, and whether each is praise, a complaint, a bug report, a question, a request, a comparison or spam. The same `get_post_comments` call, at the same price as reading them directly. Pass `verbatim: tr…
  • show_comment_reviewDraws the classifications your model produced — every comment with its sentiment and category, filterable and selectable. Makes no requests; it only renders what you pass it.
  • show_post_analysisDraws the analysis your model wrote from `analyze_post`/`analyze_post_fast`/`understand_social_post` — hook strength, script structure, quotable lines, suggested hashtags and more, whichever fields you produced. Makes no requests; it only renders what you pass it.
  • compare_social_postsThe first of two to five posts, fetched with its stats, and the comparison left to you. Fetch the rest with `get_social_media` at 1 credit each. Use when performance differs and you need to know why.
  • show_compared_postsDraws the comparison your model wrote from `compare_social_posts` — each post scored, the winner marked, what differed and the next test worth running. Makes no requests; it only renders what you pass it.
  • +68 more on the listing page

Upload Post tools 57

  • upload_videoPublish a video to one or more platforms. Use `videoPathOrUrl` only for public/signed HTTPS URLs, or for absolute local paths when the MCP server runs on the same machine as the file. `videoBase64` is only for clients that can provide raw bytes directly and is capped by UPLOAD_POST_MAX_INLINE_MB (default 100). Returns a `request_id` you can poll with `get_status`. Supports per-platform overrides (tiktokPrivacyLevel, youtubePrivacyStatus, youtubePlaylistId, youtubeThumbnailUrl, youtubeTags, facebookPageId, instagramMediaType, etc.). Reddit posting is currently unavailable (error_code=reddit_unavailable) until the Reddit app is restored. Do not use reddit as a publish target. A hosted MCP server cannot read files on the user's machine or chat attachments (`/mnt/data`, sandbox paths). To publish a local file: (1) if this client can run HTTP requests itself (for example a coding agent with a shell), stage it with `create_media_upload` (returns `upload_id` + `upload_url`), PUT the raw file bytes to `upload_url` with the same Content-Type, call `complete_media_upload` and pass the returned `media_url` as the media URL; (2) otherwise ask the user for a public HTTPS URL of the file, or tell them to publish it from the dashboard at https://app.upload-post.com. Staged media is deleted after 24 hours.
  • upload_photosPublish one or more photos (single image or carousel). Each item in `photosPathsOrUrls` may be a public URL or a local path. Reddit posting is currently unavailable (error_code=reddit_unavailable) until the Reddit app is restored. Do not use reddit as a publish target.
  • upload_textPublish a text-only post. `linkUrl` (or platform-specific *LinkUrl) attaches a link preview where supported. Reddit posting is currently unavailable (error_code=reddit_unavailable) until the Reddit app is restored. Do not use reddit as a publish target.
  • upload_documentPublish a document (PDF / PPT / PPTX / DOC / DOCX) to LinkedIn. Title is required.
  • get_statusCheck the status of an async upload by `request_id`. Poll this until `status` is 'success' or 'failed'.
  • get_job_statusCheck the status of a scheduled or queued upload by `job_id`. Use this for posts created with `addToQueue` or `scheduledDate`.
  • get_historyPaginated history of uploads across all profiles.
  • get_mediaRetrieve recent media (videos, photos, text posts) pulled directly from a profile's connected social accounts. Supports instagram, tiktok, youtube, linkedin, facebook, x, threads, pinterest, bluesky, reddit. Useful for browsing what already exists on a platform before posting more. Paginated: the response carries `pagination` = { limit, next_cursor, has_more }; pass `next_cursor` back as `cursor` for the next page (the last page returns next_cursor null and has_more false).
  • list_scheduledList all currently scheduled (not-yet-published) posts.
  • cancel_scheduledCancel a scheduled post by its `job_id`.
  • edit_scheduledEdit a pending scheduled post in place, keeping its job ID and media: reschedule it (scheduledDate/timezone) and/or fix its text. `title` and `caption` rewrite the text for EVERY platform of the post; to change only some platforms, send `platformContent` instead, e.g. {"instagram":{"caption":"..."},"tiktok":{"caption":"..."}} — platforms not listed keep their text. First comments cannot be edited on a pending post.
  • get_analyticsAggregated analytics for a profile across selected platforms (followers, views, engagement). Instagram also returns two audience breakdowns with the same shape (age / gender / country / city): `follower_demographics` for the account's followers and `engaged_audience_demographics` for the accounts that engaged with its content.
  • +45 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Orchyn

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "orchyn": {
      "command": "npx",
      "args": [
        "-y",
        "@nooticr/mcp"
      ],
      "env": {
        "NOOTICR_BASE_URL": "YOUR_NOOTICR_BASE_URL_HERE"
      }
    }
  }
}

Upload Post

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "upload-post": {
      "command": "npx",
      "args": [
        "-y",
        "@upload-post/mcp"
      ],
      "env": {
        "UPLOAD_POST_API_KEY": "YOUR_UPLOAD_POST_API_KEY_HERE",
        "UPLOAD_POST_MAX_INLINE_MB": "YOUR_UPLOAD_POST_MAX_INLINE_MB_HERE"
      }
    }
  }
}

Frequently asked questions

Orchyn is categorized under Social Media and uses a local stdio subprocess. Upload Post belongs to Social Media and uses a local stdio subprocess. Pick Orchyn for social media work and Upload Post for social media.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Orchyn has no declared pricing — check the project's own site. Upload Post is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add orchyn and upload-post as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Orchyn has a quality signal of 57/100 (Good) with 0 views, 0 installs and 0 GitHub stars. Upload Post has 65/100 (Great) with 2 views, 0 installs and 11 GitHub stars.