Skip to main content
Glama

PrismPoster Creator Tools

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
PrismPoster/creator-tools
GitHub Stars
0
Server Listing
PrismPoster Creator Tools MCP

TDQS

A4.6/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a sharply distinct job, and the descriptions explicitly route between the easily-confused pairs (calculate_aspect_ratio vs get_social_media_placement, list vs get). No two tools share a resource+action, so an agent can select confidently.

Naming Consistency5/5

All seven names are snake_case verb_noun pairs (calculate_aspect_ratio, check_safe_area, convert_subtitles, estimate_tempo, estimate_video_bitrate, get/list_social_media_placement(s)), with get/list used correctly for retrieval verbs.

Tool Count5/5

Seven tools is tightly scoped for a post-production math/lookup toolkit; every tool covers a distinct calculation or dataset and none looks like filler.

Completeness4/5

Placement lookup, crop planning, safe-area validation, subtitle conversion and bitrate/tempo math cover the core creator workflow without dead ends. Minor gaps remain: no ASS/SSA subtitle handling, no frame-rate/timecode or audio-analysis utilities, and no reverse operations such as deriving duration from size and bitrate.

Available Tools

7 tools
calculate_aspect_ratioCalculate aspect ratio and crop/pad planA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthYesFrame width in px.
heightYesFrame height in px.
targetRatioHNoHeight term of the target ratio, e.g. 16 for 9:16. Requires targetRatioW.
targetRatioWNoWidth term of the ratio to crop or pad to, e.g. 9 for 9:16 or 2.39 for 2.39:1. Requires targetRatioH.

Output Schema

ParametersJSON Schema
NameRequiredDescription
inputYes
ratioYes
padPlanYes
cropPlanYes
targetRatioYes
formattedRatioYes
evenEncoderSizeYes
referenceToolUrlYes
solvedHeightForWidthYes
solvedWidthForHeightYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real behavioral content: it returns centre-crop and letterbox/pillarbox plans with px trimmed or added per edge, and it errors on non-integer or out-of-range sizes and on only one of targetRatioW/targetRatioH. It stops short of stating rounding/precision behavior for the crop offsets, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the primary computation, then the alternative route, then error cases — a sensible ordering with no filler. The opening sentence is long and packs three distinct outputs into one clause, which slightly hurts scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be spelled out, yet the description still characterizes what the plans contain (px per edge). Combined with sibling routing and explicit error conditions, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains the pairing constraint (targetRatioW/targetRatioH must both be supplied) as an error condition and illustrates ratio terms with 2.39:1 and 4:5. The width/height bounds themselves are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs and resources: reducing a pixel size to a simplest aspect ratio plus nearest even H.264-legal size, and solving the missing dimension for a target ratio with crop/letterbox plans. It even gives a concrete example (1920x1080 is 16:9), so an agent can tell exactly what it produces without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the boundary case ('arbitrary sizes and ratios (cinema 2.39:1, a client's 4:5)') versus the sibling route ('when the target is a named platform placement, use get_social_media_placement with sourceWidth/sourceHeight'), so the routing decision is fully determined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_safe_areaCheck an element against a placement safe areaA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesElement's left edge in px from the frame's left edge.
yYesElement's top edge in px from the frame's top edge.
widthYesElement width in px.
heightYesElement height in px.
placementIdYesPlacement id, camelCase or kebab-case, e.g. instagram-reels.

Output Schema

ParametersJSON Schema
NameRequiredDescription
boxYes
frameYes
verdictYes
safeRectPxYes
intrusionPxYes
placementIdYes
withinFrameYes
safeAreaKindYes
referenceToolUrlYes
unpublishedReasonYes
firstPartySourceUrlYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses the verdict vocabulary ('inside', 'intrudes', 'unknown'), the meaning of 'unknown' for TikTok, that a reason is returned instead of a guess, and which inputs produce errors. This is rich behavioral context that annotations alone would not supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no waste: purpose first, then the sibling alternative, then return/error behavior. Every clause earns its place and the most decision-relevant information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, yet it still names the verdicts and the 'unknown' case. It also covers the error paths and the sibling relationship, leaving nothing important for an agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the per-parameter meanings are already documented as left/top edges and width/height in px. The description adds the global framing ('in px on the placement's own frame, origin top-left'), but that is largely a restatement of the schema's coordinate descriptions, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Check whether a rectangle ... stays inside the placement's safe area') plus the exact coordinate frame and origin. It is clearly distinguishable from the sibling get_social_media_placement, which is named as returning raw insets instead of a verdict.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this to validate a layout before export' and routes the agent to get_social_media_placement when raw insets are wanted. The when-to-use and the alternative are both stated, so no inference is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

convert_subtitlesConvert subtitles between SRT and WebVTTA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesThe full SRT or WebVTT file contents as text.
shiftMsNoMove every cue by this many ms: positive is later, negative earlier.
toFormatYesFormat to convert to.

Output Schema

ParametersJSON Schema
NameRequiredDescription
endMsYes
issuesYes
outputYes
shiftMsYes
cueCountYes
warningsYes
sourceFormatYes
targetFormatYes
referenceToolUrlYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly, idempotent, non-destructive, closed-world), while the description adds substantive behavior: malformed blocks are skipped with a warning rather than failing the whole file, and hard failure conditions (no parseable cue, >2 MB input, shift beyond one hour) are spelled out. Return content — detected source format, cue count, warnings with line numbers, timing issues — is also disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core operation and the 'contents not path' rule are front-loaded, and every remaining sentence carries a real constraint. It is a dense single block, though, and the enumerated return fields partly duplicate what the existing output schema already provides, which is mildly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering safety, full schema descriptions, and an output schema, the description still supplies the pieces structured data cannot: input size cap, failure modes, graceful degradation on malformed blocks, and unsupported formats with a pointer elsewhere. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already documents all three parameters well, so the baseline is 3. The description earns an extra point by adding constraints absent from the schema: the 2 MB input ceiling and the one-hour shift error condition, which give the caller limits the structured fields do not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Convert subtitle text between SubRip (srt) and WebVTT (vtt)') plus the optional shift behavior, so the tool's scope is unmistakable. The siblings (aspect ratio, safe area, tempo, bitrate, social placements) are unrelated, so no disambiguation is needed and none is missing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the caller to 'Pass the file contents, not a path', and defines an exclusion with a named alternative: 'ASS/SSA input is not supported here; the @prismposter/creator-tools package converts it.' This is exactly the when/when-not/alternative structure the dimension rewards.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_tempoEstimate tempo, delay times and bar lengthsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bpmNoKnown tempo in beats per minute. Used instead of the tap estimate when both are given.
barsNoNumber of bars to convert into seconds. Default 16.
timestampsMsNoTap times in ms from a monotonic clock (performance.now()), in order.
timeSignatureNoTime signature for the bar length. Default 4/4.4/4

Output Schema

ParametersJSON Schema
NameRequiredDescription
bpmYes
barsYes
delaysMsYes
tapAnalysisYes
quarterNoteMsYes
timeSignatureYes
referenceToolUrlYes
barsDurationSecondsYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/idempotent/non-destructive, and the description adds real value on top: the failure surface (no input, unusable taps, bpm outside 30-300, unlisted time signature) and the signal that this is pure arithmetic on supplied numbers rather than audio analysis. It does not cover tap-to-bpm fallback precedence, which the schema handles.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the tool's identity and followed by inputs, outputs, and exception cases in call order. The middle sentence is long and carries several clauses, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need not be re-specified, and the description still names them at a high level while covering both input modes, the output shape, and every documented error condition. An agent can call this correctly without further inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description earns a step up by framing the parameters as mutually alternative modes ('Either way') and restating the accepted bpm window and time-signature constraint at the point where an agent decides how to call it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific framing ('Tempo arithmetic for editing to music') and then enumerates the concrete outputs: BPM with stability/confidence, beat length, delay table, and bar duration. It also explicitly rules out the misinterpretation ('does not analyse audio'), which no sibling tool covers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states the two invocation modes ('pass tap timestamps... or pass a known bpm'), giving the agent an explicit choice criterion. It stops short of naming alternatives, but the sibling tools are unrelated utilities, so there is little to route between.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_video_bitrateEstimate video file size and bitrateA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
audioKbpsNoAudio track bitrate in kbps. Default 192; 0 for a silent clip.
videoKbpsNoVideo track bitrate in kbps, to estimate the file size.
durationSecYesClip length in seconds.
targetCapMbNoFile-size ceiling in MB (decimal), to solve for the maximum video bitrate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
audioKbpsYes
videoKbpsYes
durationSecYes
targetCapMbYes
estimatedSizeYes
referenceToolUrlYes
requiredBitrateForCapYes
discordFreeUploadCapMbYes
discordFreeMaxVideoMbpsYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, and the description still adds real value: the default audioKbps of 192, the guaranteed Discord 20 MB answer on every call, the error behavior when neither param is set, and the decimal vs binary unit convention. Only the exact return shape is left unexplained, and an output schema exists anyway.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and required durationSec come first, followed by the two modes, then units and caveat — a sensible front-loaded order with no filler. Some sentences are heavily packed (units, Discord limit, and scope crammed into consecutive clauses), which slightly hurts scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter, single-call calculator with an output schema, this covers everything an agent needs: what is computed, how to choose the mode, defaults, unit conventions, error condition, and what it does not do. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds semantics the schema lacks: kbps is decimal (1000 bit/s) and MB is 1,000,000 bytes, plus the mode-selection meaning of videoKbps vs targetCapMb. The audioKbps default of 192 is repeated rather than new.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource combination: arithmetic to compute video file size and bitrate for a clip of durationSec. It also explicitly bounds scope with "it does not inspect or encode files," which distinguishes it cleanly from every sibling (aspect ratio, safe area, subtitles, tempo, placement).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the two mutually exclusive invocation modes (pass videoKbps -> file size; pass targetCapMb -> max bitrate) and names the real-world situations: "plan an export or hit an upload cap." It also states the negative case (no file inspection/encoding) and the error condition when neither mode parameter is supplied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_social_media_placementGet one social media placement specA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPlacement id, camelCase (instagramReels) or kebab-case (instagram-reels), e.g. tiktok-video, youtube-shorts, youtube-channel-banner.
sourceWidthNoWidth of your source footage in px. Requires sourceHeight.
sourceHeightNoHeight of your source footage in px. Requires sourceWidth.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
fitYes
kindYes
sizeYes
ratioYes
platformYes
regionPxYes
usableBoxPxYes
safeAreaKindYes
usableSharePctYes
referenceToolUrlYes
safeAreaInsetsPxYes
unpublishedReasonYes
firstPartySourceUrlYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent safety, but the description adds real behavioral detail: paired-parameter behavior that unlocks crop/letterbox planning, the TikTok null-inset case with its reason, and both error conditions (unknown id whose message lists valid ids, and a single source dimension). That is context the annotations cannot supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the lookup and its return payload, then the optional dimension pair, then the sibling routing, then edge cases. Every sentence carries distinct information — no restatement of the title or schema types.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't detail return shapes, and it still names the returned fields. It covers the optional-input path, the known-degenerate platform (TikTok), and both failure modes — nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description goes further by explaining what the optional pair actually buys you (centre-crop and letterbox plan fitted to your footage), which is outcome semantics rather than a restatement of types. Minor credit withheld because the id enum's camelCase/kebab-case duality is only handled in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (look up one placement by id) and enumerates exactly what comes back: frame size, aspect ratio, safe-area insets, usable box, source page. It is immediately distinguishable from list_social_media_placements and check_safe_area, which are named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: 'Use this when you know the target placement', then names three alternatives with the condition that selects each (browse/compare, test element clearance, compute a non-platform ratio). The when-to-use decision is fully resolved inside the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_social_media_placementsList social media placement specsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoOnly return placements for this platform. Omit for all platforms.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
platformYes
placementsYes
datasetCsvUrlYes
datasetDoiUrlYes
datasetJsonUrlYes
canonicalDatasetUrlYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, closed-world, so the description's additive value is "a fixed dataset returned whole, with no paging" — a genuinely useful operational fact that prevents an agent from hunting for pagination params. The field enumeration is somewhat redundant with the output schema, which keeps this short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with verb + resource, then routing guidance, then a behavioral caveat — a logical order with no filler sentences. The middle clause packing ~7 returned fields is dense but still readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-optional-param, read-only list tool with an output schema and full annotation coverage, nothing an agent needs is missing: scope, filter behavior, no-paging semantics, and the alternative tool are all stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single enum param already says "Omit for all platforms." The description only echoes this with "(or one platform's)," adding no format, default, or edge-case detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List every supported social media placement") and immediately names the returned data (frame size, aspect ratio, safe-area insets, usable box, source URL, CSV/JSON/DOI links). It is clearly distinguished from get_social_media_placement in the same breath, so an agent can pick between them without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: "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." Both the when-to-use and the named alternative with its selection condition are present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • First observedcalculate_aspect_ratio
    • First observedcheck_safe_area
    • First observedconvert_subtitles
    • First observedestimate_tempo
    • First observedestimate_video_bitrate
    • First observedget_social_media_placement
    • First observedlist_social_media_placements

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Turns TikTok, Instagram, X/Twitter and Facebook post URLs into video download links plus metadata (title, author, duration, thumbnail), so AI agents can fetch social videos in one tool call.
    36 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to edit video locally through FFmpeg: probing media, validating and previewing JSON edit projects, rendering short-form clips with captions, reframing, transitions and ducked music. Also analyses existing videos and applies or saves reusable format templates, without cloud services or API keys.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to publish and schedule short-form vertical videos across multiple social platforms, validate and normalize video files, generate platform-optimized metadata, and retrieve performance analytics.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.