{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_78csc5tszs32","handle":"squall-studio","url":"https://wellknown.network/agents/squall-studio","links":{"self":"https://wellknown.network/agents/squall-studio/record.json","html":"https://wellknown.network/agents/squall-studio","markdown":"https://wellknown.network/agents/squall-studio/record.md","api":"https://wellknown.network/api/v1/agents/squall-studio","status":"https://wellknown.network/api/v1/agents/squall-studio/status","claim":"https://wellknown.network/agents/squall-studio/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/squall-studio/claim.json","badge":"https://wellknown.network/agents/squall-studio/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/squall-studio/history","tools":"https://wellknown.network/api/v1/agents/squall-studio/tools"},"ard":{"identifier":"urn:air:squallstudio.com:server:squall-studio","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Squall Studio","summary":"Read, edit and generate AI microdrama scripts, shots, characters and video in Squall Studio","description":"Read, edit and generate AI microdrama scripts, shots, characters and video in Squall Studio","publisher":{"name":"com.squallstudio","url":null},"homepage":"https://squallstudio.com/docs/mcp","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://squallstudio.com/api/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-07T04:14:38.473926Z","publishedAt":"2026-09-07T04:14:38.473926Z","registryName":"com.squallstudio/squall-studio"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.51,"provenance":"derived"}],"categories":["content","dev","security"],"language":"de"},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-10-10T09:23:42.021Z","lastProbedAt":"2026-10-10T09:23:42.021Z","statusComputedAt":"2026-10-10T09:25:53.395Z","reliability30d":{"probes":109,"successRate":1,"p50Ms":158,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":107,"ok":107,"authBoundaryOk":0,"serviceOk":107,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T09:23:42.021Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":275,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T02:31:16.313Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":269,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:30:42.405Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":275,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:32:37.734Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":262,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:26:59.874Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":262,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:25:57.027Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":266,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T18:27:14.438Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":282,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T12:26:27.813Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":275,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T05:22:34.295Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":261,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:25:42.970Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":263,"error":null,"detail":{"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"toolCount":30,"toolsHash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","serverName":"story-weaver-pro","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_projects","description":"List all projects owned by the authenticated user."},{"name":"get_project","description":"Get one project's summary and current workflow step."},{"name":"get_project_episodes","description":"List the episodes in a project."},{"name":"get_episode","description":"Get one episode record."},{"name":"get_episode_editor","description":"Get the full episode tree in one call: project, episode, outline, script, segments, shots, characters, looks, locations and jobs. Prefer this over several narro"},{"name":"get_episode_shots","description":"List the shots in an episode."},{"name":"list_episode_segments","description":"List the video segments in an episode."},{"name":"get_scene_assets","description":"Get one scene with its shots, characters, locations and continuity references."},{"name":"get_project_script","description":"Get a project's full script package."},{"name":"get_project_characters","description":"List a project's characters."},{"name":"get_character","description":"Get one character record."},{"name":"get_character_looks","description":"List a character's looks."},{"name":"get_project_locations","description":"List a project's locations."},{"name":"get_location","description":"Get one location record."},{"name":"get_asset_library","description":"List generated assets available to a project."},{"name":"get_job","description":"Get one generation job's status and output. Use this to poll a job returned by a generate_* tool."},{"name":"list_project_jobs","description":"List generation jobs for a project, newest first."},{"name":"list_shot_continuity_references","description":"List the continuity reference images attached to one shot. get_scene_assets also returns these, but only for a whole scene — use this when you need the asset id"},{"name":"generate_script","description":"Write a full multi-episode script from a story premise. This CREATES A NEW PROJECT — it does not edit an existing one, and it takes no project_id. While the job"},{"name":"generate_shot_clip","description":"Generate a video clip for a single shot (episode_shots row). Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_character_image","description":"Generate a reference image for a character. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_location_image","description":"Generate a reference image for a location. Spends credits. Returns a job id — poll it with get_job."},{"name":"generate_shot_background_image","description":"Generate an empty background plate for one short shot. Both reference inputs steer what the plate itself looks like — layout, prop identity, materials and light"},{"name":"generate_episode_music","description":"Generate a background music track for an episode. Requires the episode to already have an assembled video. Spends credits. Returns a job id — poll it with get_j"},{"name":"update_shot","description":"Overwrite fields on one shot. Read the shot first (get_episode_shots or get_episode_editor), decide the change yourself, then send ONLY the fields you changed —"},{"name":"update_location","description":"Overwrite fields on one location. Read it first (get_project_locations or get_location), then send ONLY the fields you changed — omitted fields are left untouch"},{"name":"upload_shot_continuity_reference","description":"Attach an image you produced locally to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as a layout, prop,"},{"name":"attach_shot_continuity_reference","description":"Attach an image that already exists in this project to a shot as a continuity reference. A continuity reference is fed into this shot's next clip generation as "},{"name":"update_shot_continuity_reference","description":"Set or clear the guidance on one continuity reference already attached to a shot — the note telling the video model how to use that image. List references first"},{"name":"remove_shot_continuity_reference","description":"Detach one continuity reference from a shot. List them first with list_shot_continuity_references to get the asset id. This deletes the reference asset permanen"}],"package":null,"toolSurface":{"id":"ts_kxkf5ctbwpxb","endpointId":"ep_55j6jmastbc4","hash":"996b52c1939a81c9926f14dc754383666ad3dd1711a34138404a27d1736b689c","toolCount":30,"serverName":"story-weaver-pro","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-07T23:25:42.973Z","lastSeenAt":"2026-10-10T09:23:42.018Z","observations":10,"toolNames":["list_projects","get_project","get_project_episodes","get_episode","get_episode_editor","get_episode_shots","list_episode_segments","get_scene_assets","get_project_script","get_project_characters","get_character","get_character_looks","get_project_locations","get_location","get_asset_library","get_job","list_project_jobs","list_shot_continuity_references","generate_script","generate_shot_clip","generate_character_image","generate_location_image","generate_shot_background_image","generate_episode_music","update_shot","update_location","upload_shot_continuity_reference","attach_shot_continuity_reference","update_shot_continuity_reference","remove_shot_continuity_reference"],"distinctSurfaces":9},"endpointFacts":[{"id":"ep_55j6jmastbc4","url":"https://squallstudio.com/api/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T09:23:42.032Z","auth":{"observedAt":"2026-10-10T09:23:42.174Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T09:23:42.186Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"squallstudio.com","issuer":{"commonName":"WR3","organization":"Google Trust Services"},"validFrom":"2026-08-30T00:02:27.000Z","validTo":"2026-11-28T00:53:19.000Z","daysToExpiry":48,"sanCount":1,"fingerprint256":"EE:BA:95:2D:0A:32:C1:9A:BD:03:01:EE:2C:80:E5:0E:B2:E8:A3:4F:2B:56:4C:78:35:FE:5B:EC:69:6A:2C:3A"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.squallstudio/squall-studio","url":"https://registry.modelcontextprotocol.io/v0/servers/com.squallstudio%2Fsquall-studio","firstSeenAt":"2026-09-07T19:19:31.846Z","fetchedAt":"2026-10-09T11:22:20.945Z","normalizedAt":"2026-10-09T11:22:20.945Z"}]},"firstSeenAt":"2026-09-07T19:19:31.846Z","updatedAt":"2026-10-10T09:26:29.186Z"}