FrameThrower
Server Details
Film stills from 5,489 films, searchable by lighting, lens character, shot size, colour and mood.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- framethrower-ai/framethrower-mcp
- GitHub Stars
- 0
- Server Listing
- FrameThrower MCP Server
Tool Definition Quality
Average 4/5 across 4 of 4 tools scored.
The four tools are mostly distinct: one handles craft-attribute searching, one handles semantic/conceptual searching, one finds similar frames, and one fetches details. There is minor overlap between find_by_craft and search_frames around scene/setting/style, but the descriptions clarify intended use.
All names are snake_case and verb-first, but the pattern is not uniform: find_by_craft and find_similar both start with find_, while get_frame_details and search_frames diverge. Still predictable and readable.
Four tools is an appropriate, lean size for a frame reference server: two complementary search paths, a similarity lookup, and a detail fetch. Each tool has a clear role.
The core workflow of searching, refining via similarity, and retrieving full details/depth maps is covered. Minor gaps include lack of pagination or batch detail retrieval, but agents can work around these.
Available Tools
4 toolsfind_by_craftARead-onlyInspect
Find frames by specific cinematography craft attributes — lens character, shot size, visual style, setting, time of day, director, or year range. All optional; combine to narrow. Use this to refine a search precisely.
| Name | Required | Description | Default |
|---|---|---|---|
| lens | No | e.g. "anamorphic", "spherical", "vintage_soft" | |
| limit | No | ||
| setting | No | "interior" or "exterior" | |
| director | No | ||
| year_max | No | ||
| year_min | No | ||
| shot_size | No | e.g. "closeup", "wide", "medium" | |
| time_of_day | No | e.g. "night", "day" | |
| visual_style | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations by stating that filters can be combined to narrow results, implying an AND-like filtering behavior. It does not contradict the readOnlyHint or openWorldHint annotations, and the read-only nature is already covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences that immediately state the tool's purpose and usage. It is well-structured and front-loads the key information without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool has nine optional parameters and no output schema, the description lacks important context such as how parameters combine (AND/OR), the meaning of the 'limit' parameter, or any edge cases. It mentions 'combine to narrow' but does not specify semantics, and does not address paging or result ordering, leaving some gaps for a complex search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists all nine parameters by name, covering even those without explicit schema descriptions (e.g., director, year_min, year_max). It clarifies they are optional and combinable, but does not provide detailed per-parameter semantics beyond the names and a few schema examples. This partially compensates for the 44% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: finding frames by specific cinematography craft attributes, listing examples like lens character, shot size, and director. It distinguishes itself from siblings by focusing on craft attributes and explicitly mentions refining a search, which differentiates it from general search_frames and similarity-based find_similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides guidance on when to use the tool ('to refine a search precisely') and notes that all parameters are optional and combinable to narrow results. However, it does not explicitly mention when not to use it or contrast with siblings, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similarARead-onlyInspect
Find frames visually/semantically similar to a given frame id (from a prior result). Use this to pull more references like one the user shortlisted.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| frameId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, which cover safety and open-world expectations. The description adds context on the input ('from a prior result') but doesn't disclose details like how similarity is computed or result ordering, though given the annotations the description does not contradict them and provides some added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. It front-loads the core purpose and then gives a concrete use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, no output schema) and the annotations provide some context, so the description is adequate. However, it lacks details on the output format (e.g., a list of frames) or how the 'similarity' is determined, which could be useful for an agent but is not strictly required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there are only two simple parameters (frameId and limit). The description does not elaborate on the semantics of these parameters beyond what schema provides (string id, number limit with bounds), but with such simple parameters the baseline of 3 is reasonable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool finds frames similar to a given frame id and the use case of pulling more references, which clearly distinguishes it from siblings like search_frames or get_frame_details. However, it could be more explicit about the 'visually/semantically' modes but it is still clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a usage hint ('from a prior result', 'shortlisted') but does not explicitly state when NOT to use it or mention alternatives. It implies the tool is for extending a set of references, which is somewhat useful but could be more directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_frame_detailsARead-onlyInspect
Get the full metadata + preview thumbnail + full-resolution image URL + depth map URL + link for a single frame id. The depth map is precomputed and free — use it when the user is generating images and needs the composition or camera geometry of this frame.
| Name | Required | Description | Default |
|---|---|---|---|
| frameId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds value beyond that by detailing the returned artifacts and noting the depth map is 'precomputed and free,' which informs cost/effort expectations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler. The verb and resource are front-loaded, and the second sentence adds a practical use case without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with no output schema, the description is complete: it enumerates the returned data, clarifies the input, and gives a use case. The annotations cover safety, and no additional context seems necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the parameter-semantics burden. It clarifies that frameId identifies a single frame and that the depth map belongs to 'this frame,' but it does not explain where a valid frameId comes from or any format constraints. The guidance is adequate but minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('full metadata + preview thumbnail + full-resolution image URL + depth map URL + link') for a single frame id. This clearly differentiates from sibling search/find tools by focusing on a single existing frame rather than retrieval or discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit context: 'use it when the user is generating images and needs the composition or camera geometry of this frame.' It does not explicitly mention when not to use it or name sibling alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_framesARead-onlyInspect
Search the FrameThrower cinematography reference library by concept, mood, color, composition, or scene. Returns reference frames with film/credits metadata, a preview thumbnail, the full-resolution image URL (use this one for slide decks and documents), a precomputed DEPTH MAP url (greyscale, same dimensions as the frame — pass it straight to a depth ControlNet or any image-to-image pipeline that wants geometry), and a link to view on FrameThrower.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Natural-language description, e.g. "neon-lit rainy street at night" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint and openWorldHint, so the description correctly builds on them by explaining the return payload and the practical use of the depth map. It adds behavioral detail beyond annotations by describing downloadable URLs and the intended downstream pipeline usage, though it does not mention zero-result behavior or relevance ranking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the search purpose and compacts a useful amount of return-value detail into one sentence. It is slightly long and run-on, but every clause earns its place by clarifying URLs or downstream usage, so it remains efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values, and it does so thoroughly by enumerating metadata, preview thumbnail, full-resolution URL, depth map, and FrameThrower link. It omits minor invocation details such as result count defaults and relevance sorting, but those are secondary for a read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with only query documented. The description enriches query semantics by enumerating searchable dimensions, adding meaning beyond the basic natural-language example. The limit parameter is not addressed in the description, but its schema constraints (1–40) make its behavior reasonably inferable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Search'), a specific resource ('FrameThrower cinematography reference library'), and the dimensions of search ('concept, mood, color, composition, or scene'). It clearly differentiates itself from siblings by describing a general natural-language search rather than craft-specific lookup, similarity matching, or detail retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when to use it implicitly by listing supported search dimensions, but it does not explicitly mention alternative tools or exclusion criteria. Sibling names like find_similar and find_by_craft suggest boundaries, but the description itself does not guide an agent toward choosing this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search 18,594 production-music cues by mood, sound and exact runtime. Instant preview links.
Original film criticism: multi-framework readings, TakeScore ratings, kindred films.
Human-made production music for sync — search by brief or reference, preview, score to picture.
Search Blu-ray and 4K UHD movies, featured titles, and detailed movie information.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables screenwriters to search for similar scenes, fetch scene details, list indexed movies, find mood reference scenes, and get analysis style guidance, all grounded in real produced scripts.5MIT
- AlicenseNot gradedqualityDmaintenanceSearch and license 217,000+ authentic vintage 8mm home movie clips from the 1930s-1980s. 6 tools: text search, clip details, visual similarity, rough-cut timeline builder, rights verification, and instant licensing via x402 USDC payments on Solana and Base. All footage is real archival film restored in 4K, no AI-generated content.1MIT
- -licenseNot gradedqualityBmaintenanceMCP server enabling AI agents to perform autonomous photographic color science and screenshot annotation with deterministic computer vision, film emulation, and real-time live preview.1
- AlicenseAqualityBmaintenanceConverts video into timestamped contact sheets, enabling AI agents to navigate and retrieve visual evidence from specific timecodes rather than watching entire clips.81631Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.