popcorn
Server Quality Checklist
Latest release: v0.4.0
- Disambiguation5/5
Each tool has a clear, distinct purpose: suggest probes and recommends settings, presets lists options, analyze performs the analysis, read accesses results, and backends shows system capabilities. No two tools appear to do the same thing.
Naming Consistency4/5All tools share a consistent popcorn_ prefix, but the suffix style mixes verbs (suggest, analyze, read) with nouns (presets, backends). This is a minor deviation from a uniform verb_noun pattern, but the names are still predictable and readable.
Tool Count5/5With 5 tools, the set is well-scoped for video analysis. Each tool covers a distinct step in the workflow (probe, list options, analyze, read output, check backends), earning its place without redundancy.
Completeness5/5The tool surface provides a complete workflow: suggest gives metadata and recommended settings, analyze runs the analysis, and read retrieves results. Presets and backends offer configuration information. No critical operations are missing for the stated purpose.
Average 4.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
- 0 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
This repository is licensed under MIT License.
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 burden of behavioral disclosure. It mentions optional filtering but does not disclose return format, error behaviors, size limits, or whether the tool is read-only. 'Read' implies non-mutating, but details are lacking.
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?
The description is a single, well-structured sentence that front-loads the core action and includes optional details. No wasted words.
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?
Despite schema coverage, the description omits return value expectations, error handling, and any specifics about how filtering affects output. With no output schema and no annotations, the agent is left guessing about the tool's full behavior, making it incomplete for a 6-parameter read operation.
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?
Schema coverage is 100%, providing baseline 3. The description adds conceptual grouping by mentioning 'line slicing' (startLine/endLine) and 'transcript time filtering' (startSec/endSec), helping agents understand the parameters' joint purpose beyond their individual schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Read a file from an analysis bundle' with specific optional behaviors ('line slicing or transcript time filtering'). It differentiates from siblings by focusing on reading files, while siblings suggest, presets, analyze, or backend management.
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?
The description implies usage for reading files from an analysis bundle but provides no explicit guidance on when to choose this tool over alternatives or when not to use it. The optional filtering behaviors are mentioned but not elaborated with scenarios.
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 provided, the description carries the full burden of behavioral disclosure. It states the primary actions (extract keyframes and transcripts) but does not disclose side effects, resource usage, output location, potential failures, or how the analysis bundle is returned or stored. The description is too thin for a tool with 16 parameters and no annotation context, leaving significant behavioral unknowns.
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?
The description is two sentences long, front-loads the primary purpose, and includes a useful recommendation without any fluff. Every sentence contributes meaning, making it appropriately concise and well-structured.
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?
Given the tool's complexity (16 params, no output schema, no annotations), the description is minimal but not entirely inadequate. It states the core outputs and suggests a workflow with popcorn_suggest, but it does not explain what the analysis bundle contains or how to read results (e.g., via popcorn_read). The schema covers parameters richly, but the overall context for using this tool in the sibling workflow is incomplete, earning a middle score.
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 schema already covers all 16 parameters with 100% description coverage, so the baseline is 3. The description adds value by indicating that 'videoType and objective to use smart presets'—a cross-parameter relationship not explicit in the individual schema descriptions. This enhances the agent's understanding of how to combine parameters for optimal use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Analyze a video file.' and specifies its key outputs: 'Extracts keyframes and transcripts.' This is a specific verb+resource combination that differentiates it from the sibling tool popcorn_suggest, which recommends settings rather than performing analysis. The purpose is immediately clear and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'RECOMMENDED: First use popcorn_suggest to get optimal settings, or specify videoType and objective to use smart presets.' This tells the agent when to use this tool relative to popcorn_suggest and offers an alternative path using parameters. It lacks an explicit 'when not to use' exclusion, which prevents a perfect score, but the guidance is clear and actionable.
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?
The description discloses that it returns 'video metadata, suggested video type, and recommended presets' and implies read-only behavior via the verb 'probe'. With no annotations provided, it does not explicitly state that the file is never modified, nor does it mention any permissions or side effects.
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?
The description is two compact sentences, placing the core action in the first sentence and usage guidance in the second. Every word adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single parameter and no output schema, the description covers what it does, what it returns, and when to use it. It also connects to the sibling tool for the next step, making it sufficiently complete.
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?
The schema already documents the sole 'path' parameter with a description, giving 100% schema coverage. The description adds only minimal context by calling it a 'video file', which doesn't significantly enhance parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'probe' with the resource 'a video file' and explicitly names the output ('suggested analysis settings'). It also distinguishes itself from the sibling tool popcorn_analyze by stating 'before running popcorn_analyze', making its purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states 'Use this FIRST' and 'before running popcorn_analyze', which provides clear temporal guidance. However, it does not mention scenarios where the tool should not be used or alternative tools for different situations beyond the implied next step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses read-only behavior through 'List' and 'Shows,' and the phrase 'installed and ready to use' indicates it checks availability. This is adequate for a simple listing tool, although it doesn't detail return format or potential caveats like configuration requirements.
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?
The description is exactly two sentences: the first states the core action, the second explains what it shows and offers a use case. Every word earns its place, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema, no annotations), the description is remarkably complete. It covers purpose, behavioral transparency, and usage context, making it sufficient for an agent to select and invoke correctly.
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 input schema defines zero parameters, so there is nothing to add. The baseline for no parameters is 4, and the description correctly does not mention parameters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List available transcription backends on this system' with a specific verb and resource. It further specifies the output ('Shows which backends are installed and ready to use'), and it distinguishes itself from sibling tools like suggest, presets, analyze, and read, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context with 'Use this to help users choose the best transcription option,' indicating when to invoke the tool. However, it does not explicitly mention alternatives or when not to use it, so it lacks direct exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It discloses a read-only listing behavior ('List all available') which is transparent for a zero-parameter tool. No side effects or edge cases are noted, but the operation is straightforward.
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?
Two sentences, no fluff, and the purpose is front-loaded. Excellent conciseness and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with no parameters and no output schema, the description fully covers what it does and why to use it, referencing the related tool popcorn_analyze. It is complete for the tool's complexity.
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 has zero parameters, so the baseline score is 4. No parameter information is needed in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all available video type presets and objectives' with a specific verb and resource, and explicitly references popcorn_analyze, distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Use this to understand what options are available for popcorn_analyze.' It doesn't mention alternatives or exclusions, but the directive is clear for the intended workflow.
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:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/haithamelmengad/popcorn'
If you have feedback or need assistance with the MCP directory API, please join our Discord server