From fd48435a849a8b81f3ebf4ab866d12aad3b8b913 Mon Sep 17 00:00:00 2001 From: jlightner Date: Fri, 3 Apr 2026 03:07:39 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20MCP=20server=20API=20URL=20patterns=20?= =?UTF-8?q?=E2=80=94=20path=20params=20not=20JSON=20body,=20stage=20name?= =?UTF-8?q?=20mapping?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_server/server.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/mcp_server/server.py b/mcp_server/server.py index 1685e25..0d4feec 100644 --- a/mcp_server/server.py +++ b/mcp_server/server.py @@ -167,8 +167,7 @@ def trigger_pipeline(video_id: str = "", filename: str = "") -> str: import httpx resp = httpx.post( - f"{API_URL}/api/v1/admin/pipeline/trigger", - json={"video_id": video_id}, + f"{API_URL}/api/v1/admin/pipeline/trigger/{video_id}", timeout=10, ) return _json({ @@ -214,8 +213,7 @@ def trigger_batch( for v in videos: try: resp = httpx.post( - f"{API_URL}/api/v1/admin/pipeline/trigger", - json={"video_id": str(v["id"])}, + f"{API_URL}/api/v1/admin/pipeline/trigger/{v['id']}", timeout=10, ) results.append({ @@ -239,8 +237,7 @@ def revoke_pipeline(video_id: str) -> str: import httpx resp = httpx.post( - f"{API_URL}/api/v1/admin/pipeline/revoke", - json={"video_id": video_id}, + f"{API_URL}/api/v1/admin/pipeline/revoke/{video_id}", timeout=10, ) return _json({ @@ -258,9 +255,10 @@ def rerun_stage(video_id: str, stage: int) -> str: import httpx + stage_name = {2: "stage2_segmentation", 3: "stage3_extraction", 4: "stage4_classification", 5: "stage5_synthesis", 6: "stage6_embed_and_index"}.get(stage, f"stage{stage}") + resp = httpx.post( - f"{API_URL}/api/v1/admin/pipeline/rerun-stage", - json={"video_id": video_id, "stage": stage}, + f"{API_URL}/api/v1/admin/pipeline/rerun-stage/{video_id}/{stage_name}", timeout=10, ) return _json({