protogrid

Search / com.prismposter/creator-tools

PrismPoster Creator Tools

R0· no sign-in

Social media frame sizes with sourced safe areas, plus aspect-ratio, bitrate and subtitle tools.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality84good
Trust100of 100
Uptime, 30 days100%
Latency p501147 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "creator-tools": {
      "type": "http",
      "url": "https://www.prismposter.com/api/mcp"
    }
  }
}
claude mcp add --transport http creator-tools https://www.prismposter.com/api/mcp
[mcp_servers.creator-tools]
url = "https://www.prismposter.com/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "creator-tools": {
      "type": "remote",
      "url": "https://www.prismposter.com/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "creator-tools": {
      "type": "http",
      "url": "https://www.prismposter.com/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=creator-tools&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LnByaXNtcG9zdGVyLmNvbS9hcGkvbWNwIn0%3D"
}
{
  "servers": {
    "creator-tools": {
      "type": "http",
      "url": "https://www.prismposter.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "creator-tools": {
      "httpUrl": "https://www.prismposter.com/api/mcp"
    }
  }
}
extensions:
  "creator-tools":
    enabled: true
    name: "creator-tools"
    type: streamable_http
    uri: "https://www.prismposter.com/api/mcp"
    timeout: 300

Quality 84 / 100good

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 3600000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations7 of 7 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,572 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes8 tool changes in 30 days
  • fail
    stability.rug_pull6 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know @prismposter/[email protected]

7 tools, about 2,572 tokens to load them all · tool set 28ae4fb976c0 · tools last changed 2026-10-23 · checked 2026-11-07 17:28 UTC

Tool changes

  • get_prismposter_capabilitiesremoved

    Retrieve PrismPoster studio capabilities, AI video/image/music/Remake specifications, credit-pack pricing facts, and canonical URLs for citation.

  • estimate_tempochangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Estimate BPM and stability from tap timestamps in milliseconds, or compute delay times (straight, dotted, triplet) and bar durations for a given BPM and time signature.

    after · 23% of words in common

    Tempo arithmetic for editing to music: pass tap timestamps (ms) to estimate BPM with a stability and confidence rating, or pass a known bpm. Either way it returns the beat length, a delay table (straight, dotted and triplet ms for each note value) and how many seconds a number of bars lasts in a time signature. It works on numbers you supply and does not analyse audio. Errors when neither input is given, the taps do not yield a tempo, bpm is outside 30-300, or the time signature is not one listed.

  • convert_subtitleschangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Parse, validate, time-shift, and convert subtitle files between SubRip (srt) and WebVTT (vtt). Reports overlapping, zero-duration, or out-of-order cues.

    after · 21% of words in common

    Convert subtitle text between SubRip (srt) and WebVTT (vtt), optionally shifting every cue by shiftMs, and return the converted text with the detected source format, cue count, parse warnings (with line numbers) and timing issues (overlapping, zero-length or out-of-order cues). Pass the file contents, not a path. Malformed blocks are skipped with a warning instead of failing the whole file. ASS/SSA input is not supported here; the @prismposter/creator-tools package converts it. Errors when no cue could be parsed, the input is over 2 MB, or the shift is beyond one hour.

  • estimate_video_bitratechangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Estimate encoded video file size (MB, GB, MiB, GiB) from duration and bitrate, or compute the maximum video bitrate that fits under a file-size cap (such as Discord 10 MB / 20 MB limits).

    after · 23% of words in common

    Video size and bitrate arithmetic for a clip of durationSec. Pass videoKbps to get the encoded file size (MB, GB, MiB, GiB); pass targetCapMb to get the highest video bitrate that fits that file size. Audio is added at audioKbps (default 192). Every answer also gives the highest video bitrate that fits Discord's 20 MB free upload limit. Kbps is decimal (1 kbps = 1000 bit/s) and MB is 1,000,000 bytes. Use it to plan an export or hit an upload cap; it does not inspect or encode files. Errors when neither videoKbps nor targetCapMb is given.

  • calculate_aspect_ratiochangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Simplify pixel dimensions to their aspect ratio, compute even-pixel encoder dimensions, solve a missing width or height, and optionally compute centre-crop and letterbox/pad plans for a target ratio.

    after · 22% of words in common

    Reduce any pixel size to its simplest aspect ratio (1920x1080 is 16:9) and the nearest even size an H.264 encoder accepts, and, given a target ratio, solve the missing width or height and return the centre-crop and letterbox/pillarbox plans with the px trimmed or added per edge. Use this for arbitrary sizes and ratios (cinema 2.39:1, a client's 4:5); when the target is a named platform placement, use get_social_media_placement with sourceWidth/sourceHeight instead, which picks the right ratio for you. Errors on a non-integer or out-of-range size, or on only one of targetRatioW/targetRatioH.

  • check_safe_areaadded

    Check whether a rectangle (a caption, logo or button, in px on the placement's own frame, origin top-left) stays inside the placement's safe area, and by how many px it intrudes past each edge if not. Use this to validate a layout before export; use get_social_media_placement for the raw insets. Returns verdict "inside", "intrudes" or "unknown"; "unknown" means the platform publishes no fixed safe area (TikTok) and comes with the reason instead of a guess. Errors on an unknown placement id or a box with non-positive size.

  • list_social_media_placementschangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    List all social media video and image placements with dimensions, aspect ratios, safe-area pixel insets, and first-party documentation URLs. Optionally filter by platform.

    after · 16% of words in common

    List every supported social media placement (or one platform's) with frame size, aspect ratio, safe-area insets in px, usable box and first-party source URL, plus links to the same dataset as CSV, JSON and its DOI. Use this to browse, compare platforms, or find a placement id; use get_social_media_placement when you already know the id and also need a crop/letterbox plan for your footage. The list is a fixed dataset returned whole, with no paging.

  • get_social_media_placementchangedtitle, description, input schema, output schema, annotationsmeaning changed
    before

    Get exact frame dimensions, aspect ratio, first-party safe-area insets (px), usable box, and official documentation URL for a social media placement (e.g. instagram-reels, tiktok-video, youtube-shorts, youtube-channel-banner). Optionally pass sourceWidth and sourceHeight to compute crop and letterbox plans.

    after · 25% of words in common

    Look up one social media placement by id and return its frame size, aspect ratio, first-party safe-area insets in px, usable box, and the official page the figures came from. Pass sourceWidth and sourceHeight together to also get the centre-crop and letterbox plan that fits your footage to this placement. Use this when you know the target placement; use list_social_media_placements to browse or compare, check_safe_area to test whether an element is clear of the platform UI, and calculate_aspect_ratio for a ratio that is not a platform placement. For TikTok the insets are null with a reason, because TikTok publishes no fixed safe area. Errors on an unknown id (the message lists valid ids) or on only one source dimension.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 100 / 100

provenance100
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% +updated-14d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@prismposter/[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://www.prismposter.com/api/mcp streamable-httpnoneyes100%1147 ms2026-07-282026-11-07
packageregistryversionruntimesecrets
@prismposter/creator-toolsnpm1.0.0–

Tools (7)

calculate_aspect_ratioread-onlyReduce any pixel size to its simplest aspect ratio (1920x1080 is 16:9) and the nearest even size an H.264 encoder accepts, and, given a target ratio, solve the missing width or height and return the centre-crop and letterbox/pillarbox plans with the px trimmed or added per edge. Use this for arbitrary sizes and ratios (cinema 2.39:1, a client's 4:5); when the target is a named platform placement, use get_social_media_placement with sourceWidth/sourceHeight instead, which picks the right ratio for you. Errors on a non-integer or out-of-range size, or on only one of targetRatioW/targetRatioH.
check_safe_arearead-onlyCheck whether a rectangle (a caption, logo or button, in px on the placement's own frame, origin top-left) stays inside the placement's safe area, and by how many px it intrudes past each edge if not. Use this to validate a layout before export; use get_social_media_placement for the raw insets. Returns verdict "inside", "intrudes" or "unknown"; "unknown" means the platform publishes no fixed safe area (TikTok) and comes with the reason instead of a guess. Errors on an unknown placement id or a box with non-positive size.
convert_subtitlesread-onlyConvert subtitle text between SubRip (srt) and WebVTT (vtt), optionally shifting every cue by shiftMs, and return the converted text with the detected source format, cue count, parse warnings (with line numbers) and timing issues (overlapping, zero-length or out-of-order cues). Pass the file contents, not a path. Malformed blocks are skipped with a warning instead of failing the whole file. ASS/SSA input is not supported here; the @prismposter/creator-tools package converts it. Errors when no cue could be parsed, the input is over 2 MB, or the shift is beyond one hour.
estimate_temporead-onlyTempo arithmetic for editing to music: pass tap timestamps (ms) to estimate BPM with a stability and confidence rating, or pass a known bpm. Either way it returns the beat length, a delay table (straight, dotted and triplet ms for each note value) and how many seconds a number of bars lasts in a time signature. It works on numbers you supply and does not analyse audio. Errors when neither input is given, the taps do not yield a tempo, bpm is outside 30-300, or the time signature is not one listed.
estimate_video_bitrateread-onlyVideo size and bitrate arithmetic for a clip of durationSec. Pass videoKbps to get the encoded file size (MB, GB, MiB, GiB); pass targetCapMb to get the highest video bitrate that fits that file size. Audio is added at audioKbps (default 192). Every answer also gives the highest video bitrate that fits Discord's 20 MB free upload limit. Kbps is decimal (1 kbps = 1000 bit/s) and MB is 1,000,000 bytes. Use it to plan an export or hit an upload cap; it does not inspect or encode files. Errors when neither videoKbps nor targetCapMb is given.
get_social_media_placementread-onlyLook up one social media placement by id and return its frame size, aspect ratio, first-party safe-area insets in px, usable box, and the official page the figures came from. Pass sourceWidth and sourceHeight together to also get the centre-crop and letterbox plan that fits your footage to this placement. Use this when you know the target placement; use list_social_media_placements to browse or compare, check_safe_area to test whether an element is clear of the platform UI, and calculate_aspect_ratio for a ratio that is not a platform placement. For TikTok the insets are null with a reason, because TikTok publishes no fixed safe area. Errors on an unknown id (the message lists valid ids) or on only one source dimension.
list_social_media_placementsread-onlyList every supported social media placement (or one platform's) with frame size, aspect ratio, safe-area insets in px, usable box and first-party source URL, plus links to the same dataset as CSV, JSON and its DOI. Use this to browse, compare platforms, or find a placement id; use get_social_media_placement when you already know the id and also need a crop/letterbox plan for your footage. The list is a fixed dataset returned whole, with no paging.

Schemas: list_tools.

Similar MCP servers

More from com.prismposter

Official server.json
{
  "name": "com.prismposter/creator-tools",
  "title": "PrismPoster Creator Tools",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://www.prismposter.com/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "packages": [
    {
      "version": "1.0.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@prismposter/creator-tools",
      "registryType": "npm"
    }
  ],
  "repository": {
    "url": "https://github.com/PrismPoster/creator-tools",
    "source": "github"
  },
  "websiteUrl": "https://www.prismposter.com/tools",
  "description": "Social media frame sizes with sourced safe areas, plus aspect-ratio, bitrate and subtitle tools."
}