Atlas / MCP servers / scpgamerscp / ymm4MCP

ymm4MCPCAUTION

mcp/scpgamerscp/ymm4mcp

ゆっくりムービーメーカー4のMCPです。将来的にはゆっくり動画を全自動で作れるようにしたいです。

Verdict
CAUTION
Grade
C
Trust score
75 /100
Exposed tools
1 1r · 0w · 0d
Transport
stdio · streamable-http
License
—
Stars
26
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

ClaudeからMCP経由でゆっくりMovieMaker4(YMM4)を操作できるようにするプラグインです。 映像を見ながら・音声を聴きながら、AIが自動でゆっくり実況・解説・茶番・ストーリー動画を生成します。

[Claude] ←MCP(stdio)→ [Python MCPサーバー] ←HTTP(8765)→ [YMM4 C#プラグイン] ←内部API→ [YMM4本体]

🚀 はじめに(Windows)

  1. Releases から最新版の YMM4McpPlugin-*.ymme をダウンロードします。YMM4を閉じて .ymme をダブルクリックし、YMM4の案内に従ってインストールします。利用者は YMM4_PATH や .NET SDK を設定する必要はありません。
  2. YMM4を起動します。新規インストールではプラグインのHTTPサーバーが自動起動します。「ツール」→「MCP連携サーバー」で状態を確認できます。既に自動起動を無効にしている場合は、この画面の「▶ 起動」を押します。
  3. 同じ Release の YMM4McpServer-*.zip を展開し、mcp-server の setup.ps1 を実行します(Python 3 が必要です)。専用の仮想環境に依存関係を入れ、MCP設定に使う実際のパスを表示します。.ymme にPythonサーバーは含まれません。Release がまだない開発版を使う場合はソースコードから同じフォルダを取得できます。
cd C:\path\to\ymm4MCP\mcp-server
.\setup.ps1

./setup.ps1 -ConfigureClaudeDesktop を使うと、既存の mcpServers と他の設定を保持したまま ymm4 の設定を自動追加します。既存ファイルは .bak.* に保存してから更新します。Claude Desktop を再起動して反映してください。 YMM4を起動した状態で ./setup.ps1 -CheckConnection を実行すると、接続ファイルのトークンと設定ポートを使って認証付きの /api/status を検査できます。 プラグインのポートを変更した場合は ./setup.ps1 -ConfigureClaudeDesktop -CheckConnection -Port 9000 のように同じポートを指定すると、Claude Desktop の YMM4_API_BASE と接続確認に反映します。省略時は接続ファイルの設定を使います。

  1. Claude Desktopの %APPDATA%\Claude\claude_desktop_config.json の mcpServers.ymm4 に、setup.ps1 が表示した JSON を設定します。手動設定する場合は、展開したフォルダ内の .venv\Scripts\python.exe と server.py の実際のパスを指定します。
{
"mcpServers": {
"ymm4": {
"command": "C:/path/to/ymm4MCP/mcp-server/.venv/Scripts/python.exe",
"args": ["C:/path/to/ymm4MCP/mcp-server/server.py"]
}
}
}

プラグインは %LOCALAPPDATA%\YMM4MCP\connection.json に接続先と秘密トークンを書き込み、Python側は毎回これを読み取ります。このファイルを共有しないでください。接続確認には、YMM4を起動した状態で次を実行します(/api/status にもトークンが必要です)。

$connection = Get-Content "$env:LOCALAPPDATA\YMM4MCP\connection.json" -Raw | ConvertFrom-Json
Invoke-RestMethod -
Read from source at commit 5b78463d7329OBSERVED · 2026-10-10
02

Exposed tools (1)

1 read · 0 write · 0 destructive.

ToolRiskDescription
ymm4_previewreadYMM4のプレビュー映像・音声を認識するツール。capture=現在フレームを画像取得、seek_capture=指定フレームに移動して画像取得、position=再生位置取得、record=システム音声録音(ループバック)
03

Trust audit

CAUTIONgrade C · trust 75/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (8 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
found

Findings (22)

MEDIUMInventory / provenance · inv.binary · CWE-1104
project_type_info.json
project_type_info.json
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
project_type_info_v2.json
project_type_info_v2.json
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
props_debug.json
props_debug.json
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInventory / provenance · inv.binary · CWE-1104
props_dump.json
props_dump.json
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
YMM4McpPlugin/McpHttpServer.cs:42
public string BaseUrl => $"http://127.0.0.1:{Port}/";
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
mcp-server/server.py:60
YMM4_API_BASE = "http://127.0.0.1:8765/api"
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
mcp-server/setup.ps1:24
$entry.env = @{ YMM4_API_BASE = "http://127.0.0.1:$Port/api" }
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
player_debug.json:1
{
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
props_preview_debug.json:1
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
visualtree.json:1
{
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
voice_frames.json:1
[
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
mcp-server/test_http_transport.py:12
TOKEN = "test-only-not-for-production-0123456789"
LOWInventory / provenance · inv.binary · CWE-1104
filtered_props.txt
filtered_props.txt
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:47
ポートはツール画面でサーバーを停止してから変更・保存し、再度起動します。Python側は更新された接続情報から新しいポートを自動取得します。手動で接続先を指定する場合だけ `YMM4_API_BASE=http://127.0.0.1:<port>/api` を設定してください。
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
mcp-server/test_check_connection.py:14
"http://127.0.0.1:8765/api", {"X-Ymm4-Token": "secret"})), \
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
mcp-server/server.py:2028
wav_bytes = base64.b64decode(audio_b64, validate=True)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
mcp-server/server.py:2083
wav_bytes = base64.b64decode(audio_b64, validate=True)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
mcp-server/visual_qa.py:13
raw = base64.b64decode(image_b64, validate=True)
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
test_preview.py:16
img_data = base64.b64decode(data["image"])
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
test_preview.py:32
img_data = base64.b64decode(data["image"])
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
mcp-server/requirements.txt
mcp, httpx, google-genai, starlette, uvicorn, Pillow
Why it matters. 6 requirement(s) not pinned with ==
Fix. pin exact versions

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-10 · audit v0.4.1 · source sha 5b78463d7329full audit observations/trust-audit/mcp-server/scpgamerscp__ymm4mcp.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-105b78463d7329CAUTIONC75first audit
05

Questions

What is the ymm4MCP MCP server?

ゆっくりムービーメーカー4のMCPです。将来的にはゆっくり動画を全自動で作れるようにしたいです。

What tools does ymm4MCP expose?

1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is ymm4MCP safe to connect to an agent?

With care. The audit graded it C (75/100) and found 22 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does ymm4MCP need?

It reads GEMINI_API_KEY, GOOGLE_API_KEY, YMM4_API_TOKEN and YMM4_MCP_BEARER_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does ymm4MCP run?

It speaks stdio and streamable-http, so it runs as a local process your client starts.

How current is this page?

The grade is for one exact copy of the source (5b78463d7329), read on 2026-10-10. The repository is watched and re-audited when it changes.

Advertisement