Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Make animated overlays and edit short videos with Modisign. Everything renders on your computer.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"modisign": {
"command": "npx",
"args": [
"-y",
"@modisign/mcp"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add modisign -- npx -y @modisign/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"modisign": {
"command": "npx",
"args": [
"-y",
"@modisign/mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"modisign": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modisign/mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 slvDev 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.6.0)은 12일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, AI Deprecations
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Make animated overlays and edit short videos from Claude, ChatGPT, Cursor or any MCP assistant. Everything renders on your computer.
Pass this to edit_video, using your absolute local paths:
{
"clips": [ {"path":"/absolute/me.mp4","track":"v1","in":0,"out":6,"place":{"mode":"bottom"},"crop":{"top":0,"right":5,"bottom":0,"left":5}}, {"path":"/absolute/reference.mp4","track":"v2","start":0,"in":0,"out":6,"place":{"mode":"top"},"crop":{"top":0,"right":5,"bottom":0,"left":5},"mute":true} ], "aspect": "9x16", "captions": {"style":"clean","position":"lower","size":"m"} }
Every clip needs track. V1 plays in list order; V2 needs start in timeline seconds and cannot overlap another V2 clip. Crop removes source-edge percentages; omitted crop/place means zero crop/full picture. Captions and pause detection use V1 only. Pause removal cuts both tracks together; remove any named conflicting V1 transition before retrying. Align starts manually; this does not correct recording drift. Both 1080p and 720p are free under the overlay/caption rules below, up to 180 seconds across both tracks.
A rapid intro opens with 5–7 teaser cuts of three to six frames each (default five), then replays the unchanged clips with a label and a timestamp over each. Give the descriptions yourself or tell your assistant what each clip shows: Modisign does not look at pictures. Plain titles are free and stay on your computer. The prompt above is one edit_video call:
{
"clips": [ {"path":"/absolute/grind.mp4","track":"v1","in":5,"out":9}, {"path":"/absolute/pour.mp4","track":"v1","in":65,"out":69}, {"path":"/absolute/stir.mp4","track":"v1","in":12,"out":16}, {"path":"/absolute/steam.mp4","track":"v1","in":0,"out":4}, {"path":"/absolute/serve.mp4","track":"v1","in":125,"out":129} ], "rapid_intro": { "clips": [0, 1, 2, 3, 4], "frames_per_clip": 5, "timestamp": "source", "labels": [ {"clip":0,"text":"Grind beans"}, {"clip":1,"text":"Pour water"}, {"clip":2,"text":"Stir"}, {"clip":3,"text":"Steam milk"}, {"clip":4,"text":"Serve"} ] }, "texts": [{"text":"Coffee in five steps","start":0,"duration":2,"y":0.2}], "aspect": "9x16" }
timestamp: "source" stamps each label with the clip's starting time in its source file (timeline uses the output time; none shows only the text). Teasers are muted unless mute_teasers is false. Every time you give for V2 clips, overlays or titles moves later by the intro's length, so give it as for the edit without the intro. The video must keep every clip at least as long as its teaser (3 frames, 0.1 seconds, is the shortest any clip can be).
A title can also take an optional reveal, a rectangular wipe over stationary text: "reveal":{"direction":"right","duration":0.5} shows “Coffee in five steps” growing from its left edge over half a second. Every field is optional and the tool schema lists them. It is drawn on your computer, and a title with a reveal needs Pro to export.
To put a title behind a person, add occlusion: “Put the title ‘Sunday reset’ behind me in this clip from 1 to 4 seconds, near the top, with a soft edge” is "texts":[{"text":"Sunday reset","start":1,"duration":3,"y":0.25,"occlusion":{"clip":0,"feather":2}}]. clip is the index in clips of the clip whose people stand in front; the tool schema has the other fields and rules. People are found on your computer with a small people model that ships inside the package, and nothing about them leaves your computer. A title behind people needs Pro to export.
Speech is cut into short phrases, and each phrase can have its own position, size, rotation and style. captions.grouping sets how speech is cut (max_words, max_characters, max_duration seconds and pause seconds). captions.scatter gives every phrase its own placement, a small rotation and a style from your list, the same for the same seed:
"captions": {
"style": "clean", "position": "lower", "size": "m", "scatter": {"seed": 58, "safe_zone": "social", "intensity": "normal", "styles": ["clean", "boxed", "minimal"]}, "lines": [{"clip": 0, "from": 1.2, "to": 2.8, "x": 0.32, "y": 0.35, "size": 0.055, "rotation": -4, "style": "boxed"}] }
Each lines row names a V1 clip by its index in clips and a range of source seconds. It changes every whole phrase whose middle (the first word's start plus the last word's end, halved) falls in from up to but not including to inside that clip's trim; one range can change several phrases, and overlapping rows apply in order. x and y are the phrase's centre as fractions of the picture, size is the text height as a fraction of the picture's shorter side, rotation is clockwise degrees. A row that matches no spoken phrase, or whose phrases are gone after pause removal or a rapid intro, is an error that names it. Set a V1 clip's captions_enabled to false to keep its speech out of the captions; the rapid intro's teaser cuts show no captions unless rapid_intro.captions_on_teasers is true. Moving, sizing and rotating phrases is free; a style other than Clean, Boxed or Minimal on a line or in the Scatter list, Mixed, or styled words needs Pro.
Clips, titles and overlays take optional motion: keyframes for x, y, scale, rotation and opacity that move, scale, rotate or fade the whole layer. The motion prompt above is one edit_video call:
{
"clips": [{ "path": "/absolute/clip.mp4", "track": "v1", "in": 0, "out": 4, "motion": { "scale": [{"at":0,"value":1,"easing":"ease-in-out"}, {"at":2,"value":1.2,"easing":"linear"}], "x": [{"at":0,"value":0,"easing":"hold"}, {"at":2,"value":0,"easing":"ease-in-out"}, {"at":3,"value":-0.15,"easing":"linear"}] } }], "texts": [{ "text": "Watch this", "start": 0, "duration": 4, "motion": {"opacity": [{"at":0,"value":0,"easing":"ease-out"}, {"at":0.5,"value":1,"easing":"linear"}]} }], "aspect": "9x16" }
Each key is {at, value, easing}; at is source seconds for footage (photos use the photo's own clock, from its in) and local seconds from its own start for titles and overlays. x and y are fractions of the output width and height (positive right and down), scale is a multiplier, rotation is clockwise degrees and opacity runs 0–1. easing shapes the segment after its key: hold, linear, ease-in, ease-out, ease-in-out or a custom [x1, y1, x2, y2] curve with each number from 0 to 1. Before the first key and after the last, the value holds. zoom stays static framing inside the picture; motion.scale moves the whole placed picture. Up to 60 keys per channel and 1000 per request. Footage and title motion are free; any non-neutral motion key on a catalog overlay, even on a free preset, needs Pro.
edit_video can add short effects from a free built-in pack of ten sounds (click, typing, whoosh, pop and sparkle, two of each). They play alongside your clips, never change speech volume or the video's length, and cannot be replaced by your own files or links. The first prompt above is one sfx list:
{
"clips": [{ "path": "/Users/me/take.mp4", "track": "v1", "out": 8 }], "texts": [{ "text": "My three tips", "start": 0.8, "duration": 2 }], "sfx": [ { "asset": "ugc-click-01", "start": 1.2, "gain": 0.25 }, { "asset": "ugc-pop-01", "anchor": { "kind": "title-enter", "text": 0 } } ], "aspect": "9x16" }
A sound starts at a time (seconds of the edit as you describe it before pause removal or a rapid intro, which move it along) or follows a title appearing, a transition or an overlay tap. The second prompt is "auto_sfx": {"events": ["transition", "cta-tap"], "intensity": "subtle"}: Modisign places one sound per event on the finished edit and the job result lists what it added and skipped, such as overlays without a declared tap. Sounds are free.
Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json), then restart:
{
"mcpServers": { "modisign": { "command": "npx", "args": ["-y", "@modisign/mcp"] } } }
Run this in your terminal; see Claude Code MCP setup.
claude mcp add --transport stdio modisign -- npx -y @modisign/mcp
In the desktop app: Settings → MCP servers → Add server → STDIO, command npx, arguments -y @modisign/mcp, then save and restart; or run this in Codex CLI (setup).
codex mcp add modisign -- npx -y @modisign/mcp
Put the Claude Desktop JSON above in ~/.cursor/mcp.json (global) or .cursor/mcp.json (project), then enable Modisign in MCP settings. Cursor MCP setup.
Create .vscode/mcp.json, then start the server and trust it when prompted (setup).
{
"servers": { "modisign": { "type": "stdio", "command": "npx", "args": ["-y", "@modisign/mcp"] } } }
Node.js 22 or newer. FFmpeg on your PATH; your assistant can run this for you:
brew install ffmpegwinget install Gyan.FFmpegsudo apt install ffmpegThe first render downloads a private render browser once (about 100 MB). Linux ARM64: install Chromium instead (sudo apt install chromium). Run npx -y @modisign/mcp doctor to check your setup.
One free preset per overlay type renders without an account; format and background changes stay free. Customised overlays (including overlay motion), Pro presets and expressive caption styles need Pro. Video edits with no overlays or only unchanged free presets and Clean, Boxed or Minimal captions are free, including footage and title motion, plain titles, the rapid intro, sound effects and caption line and Scatter placement with those styles. A title with a reveal or behind people needs Pro. Pro is $9/month: Pricing. Sign in with npx -y @modisign/mcp login.
##
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요