Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Shorti

REMOTE · SHORTI.AI · SCANNED OCT 4

What short-form formats to shoot this week, how their hits were made, and a check of your take.

Available components

77 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5293 tokens (~240/item across 22 items; 15 tools + 7 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
  • Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 81% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the Shorti MCP server?

Shorti is a hosted endpoint at https://shorti.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · shorti.ai

# add to Claude Code
claude mcp add --transport http ai-shorti-shorti 'https://shorti.ai/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "ai-shorti-shorti": {
      "url": "https://shorti.ai/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ai-shorti-shorti": {
      "type": "http",
      "url": "https://shorti.ai/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.ai-shorti-shorti]
url = "https://shorti.ai/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-shorti-shorti": {
      "type": "remote",
      "url": "https://shorti.ai/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-shorti-shorti --url 'https://shorti.ai/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  ai-shorti-shorti:
    url: "https://shorti.ai/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ai-shorti-shorti": {
      "Transport": "http",
      "Url": "https://shorti.ai/mcp"
    }
  }
}
# add to Vellum
assistant mcp add ai-shorti-shorti -t streamable-http -u 'https://shorti.ai/mcp'
// mcp.json
{
  "mcpServers": {
    "ai-shorti-shorti": {
      "type": "http",
      "url": "https://shorti.ai/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool coverage: 89% → 81% ▼ functional
    • Schema quality: 281 → 240 ▲ functional
    • New resource “approve” functional
    • New resource “check” functional
    • New resource “take” functional
    • Server version: e71525b90ef0119f105cdb8c18aaf749d2084a46 → d3c50401d450fdce0f0769027d17bf3f8ead5285 functional
    • New tool “shorti_arena” functional
    • “shorti_find” reworded the description of “category” cosmetic
    • “shorti_trend_radar” reworded the description of “category” cosmetic
    • “shorti_what_to_shoot” reworded the description of “category” cosmetic
  • 3 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “shorti_edit_recipe” rewrote its description, which is the text the model reads security
    • Tool “shorti_format” rewrote its description, which is the text the model reads security
    • Tool “shorti_video” rewrote its description, which is the text the model reads security
    • Schema quality: 4350 → 5067 ▼ functional
    • New resource “coach” functional
    • New resource “flow” functional
    • Server version: 01e18498ef2e09d1c2ae8b2e2938ff25c8cf5829 → e71525b90ef0119f105cdb8c18aaf749d2084a46 functional
    • New tool “shorti_flow” functional
  • 2 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “shorti_campaign_board” rewrote its description, which is the text the model reads security
    • Tool “shorti_campaign_draft” rewrote its description, which is the text the model reads security
    • Tool “shorti_campaigns_for_me” rewrote its description, which is the text the model reads security
    • Tool “shorti_check_link” rewrote its description, which is the text the model reads security
    • Tool “shorti_format” rewrote its description, which is the text the model reads security
    • Tool “shorti_my_field” rewrote its description, which is the text the model reads security
    • Tool “shorti_remake_recipe” rewrote its description, which is the text the model reads security
    • Tool “shorti_video” rewrote its description, which is the text the model reads security
    • Schema quality: 3838 → 4350 ▼ functional
    • Server version: d73dd180b23275cc85ee3fcb0a43633b363b2d32 → 01e18498ef2e09d1c2ae8b2e2938ff25c8cf5829 functional
    • New tool “shorti_scene_kit” functional
    • “shorti_campaign_draft” added an optional parameter “visit” cosmetic
    • “shorti_format” added an optional parameter “detail” cosmetic
    • “shorti_remake_recipe” added an optional parameter “detail” cosmetic
    • “shorti_my_field” reworded the description of “field” cosmetic
    • “shorti_video” reworded the description of “detail” cosmetic
  • 1 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 57f8c123ad054b6fb281f7af320e2a82cac14e5f → d73dd180b23275cc85ee3fcb0a43633b363b2d32 functional
  • 30 Sept 26 +1
    • Server version: 26fbcc45f69a7b563e58707c17fb3a72f85734fc → 57f8c123ad054b6fb281f7af320e2a82cac14e5f functional
  • 29 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “shorti_what_to_shoot” rewrote its description, which is the text the model reads security
    • Schema quality: 2740 → 3758 ▼ functional
    • Stability: unverified → 0.03 ▲ functional
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • New prompt “before_it_reaches_korea” functional
    • New prompt “my_field_this_week” functional
    • New prompt “remake_a_hit_with_ai” functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
    • Server version: d1491abd4ec9c292f46362dd323381dcac8f4b4f → 26fbcc45f69a7b563e58707c17fb3a72f85734fc functional
    • New tool “shorti_my_field” functional
    • New tool “shorti_remake_recipe” functional
    • New tool “shorti_trend_radar” functional
    • Tool “shorti_campaign_board” changed its title: Shorti Campaign Board cosmetic
    • Tool “shorti_campaign_draft” changed its title: Shorti Campaign Draft cosmetic
    • Tool “shorti_campaigns_for_me” changed its title: Shorti Campaigns For Me cosmetic
  • 28 Sept 26 75

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Oct 2026 · Probed https://shorti.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=shorti.ai CN=YR1,O=Let's Encrypt,C=US 17 Sept 2026 16 Dec 2026 RSA 2048 SHA256-RSA 6a7affb23bd8c80e0aefa10390d675cbc15
SANs: shorti.ai
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of shorti.ai. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
shorti.ai. present 7692 13 Verified
shorti.ai. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000
content-security-policy frame-ancestors 'self'
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://shorti.ai/mcp Verified 200
http (plaintext) http://shorti.ai/mcp HTTPS enforced 308 https://shorti.ai/mcp
MCP tools · 15 exposed · ~4,395 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
shorti_arena ~131

The arena's open spots, first recorded takes, later breakouts and entrant standings. Read spots with their words, dates and how to shoot; the board of first recorded takes and finds; or one currently opted-in entrant's standing. Filter kind by move, vary, mix, about or found. Counts keep their denominators before the first-50 keyless cap. Names are read live. Missing or unread publication answers not_run, never an empty board.

NameTypeReqDescription
entrant–––
kind–––
langstring––
lineage–––
viewstringyes–

Structured output declared, but exposes no named fields.

No examples provided.

shorti_campaign_board ~33

Legacy campaign board reads are unavailable under C39. Open the owner-authenticated campaign page.

NameTypeReqDescription
token–––

Structured output declared, but exposes no named fields.

No examples provided.

shorti_campaign_draft ~162

Requires the authenticated /mcp/me connection. Start a campaign from a product or store-visit brief. draft.v1 ranks observed league product presence, product nouns, place/screen evidence, category, cached Gemini Embedding 2 text cosine and keywords. Hits precede members and slotted precedes thin. It abstains when evidence does not fit and never pads. Optional visit carries place_type, area and radius_km; area/radius are campaign constraints, not measured reference distances. index_size is the whole index, eligible_candidates are fits. compose opens the signed-in composer with up to three formats. No model call or campaign write in this request.

NameTypeReqDescription
limitinteger––
productstringyes–
visit–––

Structured output declared, but exposes no named fields.

No examples provided.

shorti_campaigns_for_me ~41

Read published campaign.offer.v1 summaries. This reads no personal matches or private brief. Legacy handoff tokens are refused.

NameTypeReqDescription
token–––

Structured output declared, but exposes no named fields.

No examples provided.

shorti_check_link ~519

A check link for a person's own video, and the summary they send back. No argument, or `format` (a format_id): a link at once — `check_link` (`check_link_en` for the English page), `token`, `expires_at` (24 h) and `says` — that the person opens on their phone to upload their own video and check it against that format. Nothing is read of theirs, written or queued, and you never see their video. Then call again with the `token` alone: `waiting` (ask again after `poll_after_s`) until the person taps «Send this result to the AI chat» («이 결과를 AI 대화에 보내기» on the Korean page) on their result, then `shared` with the summary they sent: fidelity with its interval and how many axes were measured (`measured` of `of`, `weighted`) — its value stays null with reason `not_validated` until its registered validity look passes, with `followed` (k of n directions repeated across formats that the video follows) in its place — up to three fixes at their moment (`at_s`, `what_ko`, `how_ko`, the hit video's public still; where a fix was drawn, its `layers`: the hits' still at `still_url`, its shapes and zone, the take's own shapes, each drawn value's evidence — hosts that draw show them in the check's view), what they broke and kept, «기본기» where the check measured it (`craft`: `kept` of `of` craft ranges the field's breakouts keep, and what it misses; never a forecast of views), and their result's link (`link`, `link_en`); each line in English beside the Korean where Shorti wrote one (`what_en`, `how_en`, `broken_en`, `kept_en`). A token this door did not sign, or one past its 24 h with nothing sent, is refused as `handoff_invalid`; a summary sent after the 24 h is still read. 증거가 붙은 관찰로 말하고, 원인은 검증된 것만. 닮은 정도는 조회수 예측이 아니다. — Speak in observations that carry their evidence, and name a cause only where one was verified; fidelity is not a forecast of views.

NameTypeReqDescription
format––A format_id to check against.
token––The token a previous call gave.

Structured output declared, but exposes no named fields.

No examples provided.

shorti_edit_recipe ~501

A format's edit for an agent's editor: slots, cuts on the beat, captions, the check. `format_id` (from shorti_what_to_shoot, shorti_find or shorti_format): the format's compiled plan as the creator's editing agent takes it, for any editing tool or MCP it calls (trim, split, reorder, speed, captions, export). `recipe` is `shorti.edit_recipe.v1`: `canvas` (9:16) and `length_ms`; `slots` in order on the reference hit's own clock — what each `shows` (`ko` and `en`) and its `frame` where the plan carries one — one way the format was cut, not a timeline to copy to the frame; `anchors`, the reference's hook, rhythm, sound and framing values its format's members do not vary on, each with the `band` inside which a viewer cannot tell the edit from it (`never`: the reference never reaches it, e.g. one continuous take); `free`, what the format's own members vary on, with their usual span; `cuts`, each with the `rule` that binds it (`first_cut`, `drop`, `beat` with its `window_ms`, else `free`); `beats`, `captions`, `hook`, `keep`, `vary`, `sound` (its clock, a measured `drop`), `limits` (how much faster speech and motion may run before a viewer notices), `withheld` and `apply`, the steps to fit the creator's own pacing: cut where their action or phrase ends, hold the anchors, let the free cuts move. Beside it `formula`, where the format has a counted one: what its breakouts do alike (`cue`, `do` and `share` in `ko` and `en`, a breakout and its moment) and what its makers vary: the check the edit goes back to is held to these cues. Then send the edit to `check` (the person uploads and confirms on Shorti) or call shorti_check_link with `format` for a result this chat can read back — several edits can each be checked. What the hit did, never why it spread, and not a forecast of views.

NameTypeReqDescription
family_id––The same id, by its older name.
format_id––The format's id.

Structured output declared, but exposes no named fields.

No examples provided.

shorti_find ~278

Formats for words, a category or a pasted link. Search by words — a niche, an action, a place, a creator's @handle (Korean initials work) — by `category`, or by a pasted TikTok, Instagram or YouTube link (the video and its formats, or `not_in_corpus` for a video Shorti has not read). Strongest example first; groups whose videos share only a song are left out unless `include_sound_groups`. With no match the answer lists the categories that have formats. For a brand's product line, shorti_campaign_draft finds the formats a product fits.

NameTypeReqDescription
category––The creator's niche, when they have one: beauty, food, fashion, daily, comedy, dance, music, pets, fitness, travel, art, gaming, product, info, ai, household, tech, parenting.
cursor––A previous answer's next_cursor.
include_sound_groupsboolean–Also list groups that share only a song.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
limitinteger–How many formats a page.
querystring–Words to find; empty lists by category.
url––A post's link.
NameTypeReqDescription
as_of––when the data was compiled
campaign––present while Shorti's own 체험단 is open: its mission and what it pays (the sign-ups a video brings), for each format's `links.mission`
field––the profession or team the words name: shorti_my_field answers its week
formats–––
hint–––
matches––how many formats matched
next_cursor––pass it back as `cursor` for the next page
none–––
note–––
product_fits––with no match on a format's own words: the formats whose videos carry a product like the words (a brand's line)
query–––
refusal––why nothing was answered, by name
state––'not_in_corpus': Shorti has not read this video
video––the video a pasted link names

No examples provided.

shorti_flow ~335

One way of shooting across sounds: the trends it ran under, its milestones, its ladder of changes, the worlds it moved into, the ways of shooting it meets and the spots nobody has taken. By `id` (a lineage: `flow.lineage.id` from shorti_format, or the slug of its page) or by `format` (a format_id: the lineage its way of shooting belongs to, else that format's own flow). `line` is the way of shooting; `sources` the trends it ran under, in the order it reached them (`since`, and `format_id` for shorti_format); `rail` its milestones oldest first, each video with its rung of the ladder (`kind`), the world it moved into, the change's name (`label`), what it did (`twist`) and its link; `ladder` how many videos took each rung, in words; `worlds` where it moved; `meets` the ways of shooting it splits into or meets in one video (`id` for shorti_flow); `open` up to three changes nobody has made yet, each with how to shoot it, as advice. Counts are words, never numbers or shares. It says what videos did, never what will get views or why one spread.

NameTypeReqDescription
format––A format_id or its page's slug.
id––A lineage's id (lin_…) or its page's slug.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
NameTypeReqDescription
as_of––when the data was compiled
campaign––present while Shorti's own 체험단 is open: its mission and what it pays (the sign-ups a video brings), for each format's `links.mission`
flow_viewobject–The site flow section in an MCP App. Words are in lang; the host locale changes chrome only. Clips are the 720p rendition or null. Unknown ladder counts keep key and count null and draw no count labe…
hint–––
id––the lineage answered (or the format, where its way of shooting has none)
ladder–––
line––the way of shooting
link––where the person sees this flow on Shorti
meets––the other ways of shooting it splits into or meets
note–––
now–––
open––up to three changes nobody has made yet
rail––its milestones, oldest first
refusal––why nothing was answered, by name
sources––the trends it ran under, in the order it reached them
worlds–––

No examples provided.

shorti_format ~442

One format as a creator shoots it: its plan, its hits, its spread. What its videos do; `how_to_shoot` — its reference hit step by step on that video's own clock, its length, what the format's videos keep and what a creator may make their own (where the format has a counted formula, `formula` lists what its breakouts do alike: each cue, how to do it, how widely in Shorti's words, and a breakout that shows it at a moment); `idea_card`, the format's own hook, turn and how a brand's product sits in it; its strongest hits with links and views (`why`: Shorti's line on a hit the format names as its own example); `moments`, what viewers reacted to and where; `flow`, how its way of shooting moved: what its newest breakouts did (`now`), its ladder of changes with how many took each rung in words, the worlds it moved into, up to three spots nobody has taken yet (`open`) and the same way of shooting under other sounds (`lineage`: its `id` for shorti_flow); how it has spread; its page and the check with it filled. Address it by `format_id` (from shorti_what_to_shoot or shorti_find, or the slug of its page), or by `video_id` or `url` of one of its videos. The default summary keeps the shoot clock and keep/change, with three hits; detail='full' returns the unchanged legacy answer.

NameTypeReqDescription
detailstring–summary: compact agent answer, Korean person-facing text with lang=ko; model prompts are marked for_model=true. full: the unchanged legacy answer, including its original bilingual/model text.
format_id––The format's id or its page's slug.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
url––One of its videos, by the post's link.
video_id––One of its videos, by Shorti's id.
NameTypeReqDescription
as_of––when the data was compiled
campaign––present while Shorti's own 체험단 is open: its mission and what it pays (the sign-ups a video brings), for each format's `links.mission`
flow––how its way of shooting moved: the line about now, the ladder of changes, the worlds it moved into, the spots nobody has taken
format–––
hint–––
hits––the format's strongest hits
how_to_shoot–––
idea_card––the format's own idea card (Shorti's reading)
moments––the moments viewers reacted to, each where it shows
next–––
note–––
refusal––why nothing was answered, by name

No examples provided.

shorti_my_field ~427

A profession's or a brand team's short-form week: ideas, how its breakouts are made, what to check before posting. For doctors (피부과, 성형외과 …), dentists, Korean medicine, pharmacists, lawyers, tax accountants, labor attorneys, accountants, realtors and brand teams: this week's ideas (a title, the way, the first line, how to shoot it); the ways the field's breakout videos are made, with their links and views; what its breakouts share; one creator's breakout beside their own usual video; memes, and this week's formats with the field's twist (`format_id` for shorti_format); what to check before posting, each line with the Korean statute behind it; for brand teams a week's posting plan. Also for creators by field (뷰티, 패션, 리빙, 푸드, 밈·코미디, 일상, 반려동물, 운동, 여행, 댄스), 체험단 reviewers (뷰티 · 맛집 · 생활용품 체험단), shop owners (식당·카페, 미용실·네일, 운동 센터) and actors: the persona's breakouts with their links and views, the formats many in it shoot and, in Korean, the formats rising in the West near it with no Korean video yet. `field` in the person's own words; one Shorti does not read answers the fields and personas it does. lang='en' reads the English-speaking market's videos.

NameTypeReqDescription
fieldstringyesThe person's profession, team or field in their own words: 피부과, 치과, 약사, 변호사, 세무사, 공인중개사, 브랜드 담당자, 뷰티, 맛집 체험단, 카페 사장, 미용실, 배우, dermatologist, lawyer, realtor, brand team, salon …
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
NameTypeReqDescription
as_of–––
asked–––
before_you_post––what to check before posting
breakouts––the persona's breakouts in the league, by views (the Korean market's first on ko)
campaign––present while Shorti's own 체험단 is open: its mission and what it pays (the sign-ups a video brings), for each format's `links.mission`
creator_reviews––a shop owner or a brand team: breakouts review creators made about places or products like theirs
field–––
fields––the fields Shorti reads, when `field` named none
formats_many_are_shooting–––
formats_many_creators––moves several of the field's creators broke out with
hint–––
market––'ko' the Korean market's videos, 'en' the English-speaking market's
memes–––
most_watched–––
name–––
note–––
page––the field's page on Shorti
persona––a creator's field, a 체험단 reviewer's, a shop owner's or an actor's (`creator.beauty`, `owner.salon` …) when `field` named one
personas––the personas Shorti serves, when `field` named none
refusal––why nothing was answered, by name
rising_abroad_not_in_korea––ko: formats breaking out in the West near this persona with no or few Korean videos
role–––
same_person––one creator's breakout beside their own usual video
state––'ok'; 'unknown_field' lists the fields in `fields`; 'not_ready'
this_week––this week's ideas to shoot
trend_twists––this week's formats with the field's twist
ways–––
week_plan––brand teams: a week's posting slots
what_breakouts_share–––

No examples provided.

shorti_remake_recipe ~449

A hit's remake for the AI video model an agent holds: keep, per-model prompts, the check. `video_id` or `url` of a hit, or `format_id` (its reference hit): `recipe` is `shorti.remake_recipe.v1`, the hit's own clock (cuts, beats, hook, turn) written as AI video models take it, for the creator's own generation tool (a Higgsfield, fal or gateway MCP). `mode`: swap_person (the creator in the hit's own shot), swap_place, swap_product, restyle_3d (a 3D animated version), character (every performer becomes one character), episode (a new episode of an AI-made format). `prompts` holds one plan per model — Seedance 2.5, MiniMax H3, Kling 3.0 Motion Control, Wan 3.0 — with its references in order and what each needs prepared, its requests cut at the hit's own cuts inside the model's limits (each with a timestamped prompt and parameters) and its list price; then `keep`, `fit`, `steps`, the `sound` to post with and the `check` the result goes back to. Nothing here generates or spends. What the hit did, never why it spread; not a forecast of views. The default summary keeps the source clock, keep, links and each model's segment_count and first request (for_model=true). Read detail='full' for all requests: it preserves the unchanged legacy answer.

NameTypeReqDescription
detailstring–summary: compact agent answer, Korean person-facing text with lang=ko; model prompts are marked for_model=true. full: the unchanged legacy answer, including its original bilingual/model text.
format_id––A format: its reference hit.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
modestring–What the remake changes.
url––The hit, by the post's link.
video_id––The hit, by Shorti's id.

Structured output declared, but exposes no named fields.

No examples provided.

shorti_scene_kit ~266

A served league video's generator scene kit: JSON, clay glTF, camera, light, beats, ledger buckets and C35 model adapters. A served league video's id or post link: reads its precompiled scene kit. The default summary keeps every source shot clock, keep/lift/free with evidence, export links, and each model's segment_count and first request (for_model=true). Read detail='full' for the unchanged complete legacy kit and all model requests. The full scene_kit.v0 has versioned OpenCV cameras, lens, trajectories, depth, light, beats, cuts and ledger buckets, a clay glTF export and four C35 adapters. Public identity is nr; the private twin joint uses only the owner's own likeness-consented assets, never league likeness. No analysis, generation, identity IO or spending runs in this request.

NameTypeReqDescription
detailstring–summary: compact agent answer, Korean person-facing text with lang=ko; model prompts are marked for_model=true. full: the unchanged legacy answer, including its original bilingual/model text.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
videostringyesA league video's id or post link.

Structured output declared, but exposes no named fields.

No examples provided.

shorti_trend_radar ~293

Formats breaking out in the West that no Korean video holds yet, and those arriving. Formats breaking out in the West (the US, Europe, other English-speaking countries) that no Korean video holds yet, then those just reaching Korea, in Shorti's radar order. Each says what its videos do, its strongest video (link, views), how many Western videos and creators broke out with it and when last, how many Korean videos it has, and how much of it needs no language (`language_light`). `to_korea` is the measured time from a Western hit to the first Korean video across this release's formats. Use it when a creator asks what to shoot before it reaches Korea; narrow by `category` or `state`; then shorti_format(format_id) for how to shoot one.

NameTypeReqDescription
category––The creator's niche, when they have one: beauty, food, fashion, daily, comedy, dance, music, pets, fitness, travel, art, gaming, product, info, ai, household, tech, parenting.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
limitinteger–How many formats.
state––'not_in_korea': no Korean video yet; 'arriving': the first ones; 'entered': already made in Korea.
NameTypeReqDescription
as_of––when the data was compiled
campaign––present while Shorti's own 체험단 is open: its mission and what it pays (the sign-ups a video brings), for each format's `links.mission`
counts––how many formats the radar holds in each state
formats–––
hint–––
none–––
note–––
refusal––why nothing was answered, by name
to_korea––the measured time from a Western hit to the first Korean video

No examples provided.

shorti_video ~232

One video: what happens in it, its beats, its numbers and its formats. By a post's link or Shorti's video_id: what happens in it, its hook, turn and beats (Shorti's reading), its `cues` where a director read it (the moments worth copying, each with what to do), views and views per day, length, its page and the formats it belongs to. A video Shorti has not read answers `not_in_corpus`. The default detail='summary' is the compact reading; detail='full' answers every compiled field (large). The previous detail='brief' remains accepted.

NameTypeReqDescription
detailstring–summary: compact agent answer, Korean person-facing text with lang=ko; model prompts are marked for_model=true. full: the unchanged legacy answer, including its original bilingual/model text.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
url––The post's link.
video_id––Shorti's id of the video.
NameTypeReqDescription
as_of––when the data was compiled
campaign––present while Shorti's own 체험단 is open: its mission and what it pays (the sign-ups a video brings), for each format's `links.mission`
coach_viewobject–The MCP coaching player. Text is reduced to lang. Legacy answer fields may accompany the view; the player consumes only these named fields.
formats––the formats it belongs to
full––with detail='full': the compiled video, every field
hint–––
note–––
refusal––why nothing was answered, by name
state––'not_in_corpus': Shorti has not read this video
video–––

No examples provided.

shorti_what_to_shoot ~286

The formats to shoot this week: the week's picks, then the week's feed. The short-form formats breaking out now (TikTok, Reels, Shorts): this week's picks first — each with Shorti's line on the hit that broke out this week (`this_week.why`) and that hit's link — then the rest of the week's feed, in the order Shorti's home shows it. Each format says what its videos do, its strongest video (link, views, poster), how it has spread, its page and the check with it filled. Narrow by `category` (the creator's niche) and `platform`. Signed in, the person's own week leads (`for_you`: why each came to them). Use it when a creator or a brand asks what to make now; then shorti_format(format_id) for how to shoot one.

NameTypeReqDescription
category––The creator's niche, when they have one: beauty, food, fashion, daily, comedy, dance, music, pets, fitness, travel, art, gaming, product, info, ai, household, tech, parenting.
langstring–The creator's language. 'en' answers in the English Shorti wrote: never translate its Korean yourself.
limitinteger–How many formats.
platform––Only formats with videos on this platform.
NameTypeReqDescription
as_of––when the data was compiled
campaign––present while Shorti's own 체험단 is open: its mission and what it pays (the sign-ups a video brings), for each format's `links.mission`
for_you––true when a signed-in reader's own week leads the list
formats–––
hint–––
none–––
note–––
refusal––why nothing was answered, by name
week––the Monday (KST) the week's picks are fixed on

No examples provided.

Common questions

What is the Shorti MCP server?

Shorti is an MCP server listed in the public MCP registry as ai.shorti/shorti. What short-form formats to shoot this week, how their hits were made, and a check of your take. This page covers its hosted endpoint (https://shorti.ai/mcp).

Is the Shorti MCP server safe to use?

Shorti scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Shorti MCP server expose?

Shorti exposes 15 tools: shorti_what_to_shoot, shorti_trend_radar, shorti_my_field, shorti_find, shorti_format, and 10 more. Their descriptions and schemas cost roughly 4,395 tokens of context every time the server is loaded.

Does the Shorti MCP server require authentication?

No. We connected to Shorti without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Shorti MCP server still maintained?

Shorti is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.