Frame.io V4 MCP
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a clearly distinct purpose: verify_connection checks OAuth, search_tools discovers operations, get_tool_schema retrieves parameter details, invoke_tool executes an operation, and upload_local_file handles file uploads. No two tools overlap in a way that would cause misselection.
Naming Consistency5/5All tool names follow a consistent snake_case verb_noun pattern (e.g., verify_connection, search_tools, get_tool_schema, invoke_tool, upload_local_file). There is no mixing of conventions.
Tool Count5/5Five tools are well-scoped for a meta-gateway that wraps the entire Frame.io V4 OpenAPI catalog. Each tool earns its place, and the count avoids both bloat and thinness.
Completeness5/5The server provides full access to the Frame.io V4 API through search_tools, get_tool_schema, and invoke_tool, plus a specialized upload tool and an OAuth check. No obvious gaps exist for its stated purpose as a dynamic API gateway.
Average 3.1/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 4 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but only implies it is a read operation. It does not state whether results are paginated, whether limit caps returned matches, how matching is performed (tag/query/method combined or any-of), or what the result payload looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste. Nothing redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter catalog-search tool with no annotations and no output schema, the description is too thin: it omits filtering semantics, result shape, and pagination behavior, leaving the agent to guess at how to construct a useful query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions none of the four parameters (tag, limit, query, method). The agent cannot tell from either source whether these filters are ANDed, what 'tag' refers to, or that limit defaults to 100 and maxes at 100 — a notable gap for a search tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (all operations in the official Frame.io V4 OpenAPI catalog), which is more precise than a bare 'search'. It does not name or differentiate itself from siblings such as get_tool_schema or invoke_tool, so the agent must infer the discovery-to-invocation workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to use this tool versus the sibling tools (get_tool_schema, invoke_tool) that operate on the same catalog. No prerequisites, no exclusions, no statement of what to do with the results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It hints at the mechanism (presigned URLs, implying a direct-to-storage transfer) and that it returns upload status, but omits required permissions/auth, file size limits, overwrite behavior, and whether failures are partial or atomic — all material for an upload tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the verb front-loaded and no filler. Nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and 4 undocumented parameters, the description is too thin. It should disclose permission needs, size/type constraints, and what 'upload status' entails, none of which are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters (file_path, account_id, folder_id, name). The description only loosely implies file_path is a local path; account_id, folder_id, and the optional name are never explained. With zero schema coverage, the description should have compensated but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (upload), resource (local file), and mechanism (Frame.io V4 presigned URLs), plus what it returns (upload status). An agent can tell what this does without opening the schema. Sibling tools are unrelated meta-tools, so no differentiation is required.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no alternatives, and no indication of when this is appropriate versus not. The agent gets a capability statement but zero routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses one useful trait (the confirm requirement for DELETE), but says nothing about side effects, whether arbitrary operations are destructive, authentication needs, or how the confirm gate is enforced for other write verbs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the constraining rule is front-loaded after the core purpose. It is efficient, though arguably too terse given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity generic gateway with five under-documented parameters, nested objects, no annotations, and no output schema, yet the description gives no guidance on constructing path/query/body payloads or discovering operation_ids. For a tool of this scope the description is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, including nested body/path/query objects that carry no structure or examples. The description only hints at the semantics of 'confirm' (via the DELETE note) and says nothing about operation_id, body, path, or query, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Invoke') and resource ('one operation from the official Frame.io V4 OpenAPI catalog'), so an agent can tell it performs a passthrough API call. It does not differentiate itself from siblings such as get_tool_schema or upload_local_file, which also touch the tool surface, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It includes one concrete usage rule (DELETE requires confirm=true), which implies when the confirm parameter is mandatory. However, it never states when to prefer this generic invoker over siblings like upload_local_file or how to obtain a valid operation_id, leaving most selection guidance to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only lookup but never states that it is non-mutating, what happens with an unknown operation_id, or whether the returned schema is authoritative. The word 'official' hints that returned parameters should be used verbatim, which is modest 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, stating the resource, return content, and scope. Nothing is redundant or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description only loosely sketches the return ('parameters and referenced schemas') and omits the workflow context — that this lookup precedes invocation — and error behavior for invalid ids. Adequate but with clear gaps for a schema-discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the sole required parameter operation_id is undocumented in the schema. The description adds partial semantics by identifying it as naming 'one Frame.io V4 operation', but gives no format, source, or validation detail, so it does not fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Get official parameters and referenced schemas') scoped to 'one Frame.io V4 operation', which is more precise than the bare name get_tool_schema. It does not, however, explicitly distinguish itself from siblings like search_tools or invoke_tool, leaving the agent to infer its place in the toolchain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisite (e.g., that operation_id typically comes from search_tools), and no reference to the sibling tools. An agent must guess that this is a discovery step to run before invoke_tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the underlying HTTP call (GET /v4/me), which tells the agent the operation is a read with no mutation, but it says nothing about what success vs. failure looks like, required credentials/token state, or error/rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the purpose first and the mechanism second; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless connectivity check with no output schema, the description covers what it does and how it does it. It could say more about interpreting the result (success/failure semantics, auth prerequisites), but nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline rule a 4 applies. There is nothing for the description to disambiguate beyond what the empty schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (verify) and a specific resource (Frame.io V4 OAuth), plus the exact mechanism (GET /v4/me), so the agent knows precisely what the tool does. It is unambiguous against the unrelated meta siblings, though it does not explicitly contrast itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a pre-flight auth/connectivity check, but there is no explicit 'use before X', 'do not use when Y', or named alternative. Adequate but with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md: