FARPY
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation3/5
Most tools are distinct, but inspect and quote both create quote-like objects and both explicitly do not spend, making their boundary fuzzy. Status, download, start, and receipt are clearly separated.
Naming Consistency3/5Names are simple, lowercase, and single-word, but they mix imperative verbs (inspect, start, download) with noun-style actions (status, receipt). There is no consistent verb_noun pattern, though the names remain readable.
Tool Count5/5Six tools is well-scoped for the quote-to-receipt rendering workflow. Each tool represents a meaningful stage in the process without redundant or unnecessary surface area.
Completeness4/5The core lifecycle is covered: inspect, quote, start, status, download, and receipt. Minor gaps exist such as no explicit cancel/refund flow and upload is only referenced via upload_id, but agents can work around these for typical jobs.
Average 3.7/5 across 6 of 6 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 7 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.
This repository includes a glama.json configuration file.
This server has been verified by its author.
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
- 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 adds meaningful context: the result is a 'safe' subset, and SHA-256 represents byte identity, not aesthetic or quality review. It does not disclose error behavior, permissions, or whether the operation is read-only, though 'Return' implies a read operation.
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 short sentences, with the core operation front-loaded and the SHA-256 clarification providing meaningful disambiguation. There is no wasted text or repetition of schema details.
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?
The tool has only one required parameter and no output schema, so the description need not be extensive. However, without an output schema, the description could better explain what a 'receipt subset' contains and what 'safe' means. The SHA-256 line helps, but the return contract remains vague.
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 covers 100% of the parameter documentation with 'FARPY job id.' The description adds no additional parameter-level semantics beyond the schema. Per the baseline for high schema coverage, a score of 3 is appropriate.
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 and resource: 'Return a safe receipt subset.' This distinguishes it from siblings like status, start, and download. However, 'receipt subset' and 'safe' are not fully defined, so the purpose is clear but somewhat jargon-dependent.
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 explicit guidance on when to use this tool versus alternatives like inspect, status, or download. The SHA-256 comment hints that this is for byte-identity verification, but it does not state that this is the receipt tool to use instead of other tools, or give any exclusion criteria.
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 must carry the behavioral burden. It does disclose one important side-effect ('Does not spend'), but it leaves key behaviors unexplained: what 'locked' means, whether the quote expires, and whether any state changes beyond creating the quote.
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 sentence with two clauses delivers the core purpose and the critical non-spend caveat. There is no filler, and the action verb is front-loaded.
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?
The description covers the basic action but omits the return value or how the quote is later consumed (e.g., by start). With no output schema and no annotations, an agent must guess what the tool returns and how it fits the workflow.
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 input schema already documents all 4 parameters with clear descriptions (e.g., 'First frame, inclusive' and 'Upload id from inspect'). The description adds the concept of 'frame sub-range', which maps to frame_start/frame_end, but it doesn't elaborate beyond the schema, so the baseline of 3 is appropriate.
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 action ('Create'), a clear resource ('locked quote'), and the exact scope ('frame sub-range'). It does not explicitly name sibling tools, so it doesn't fully satisfy the 'distinguishes from siblings' bar, but 'Does not spend' gives a functional hint that separates it from likely spending/starting operations.
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?
There is no explicit when-to-use or alternative guidance. The clause 'Does not spend' implies the agent should use this tool when it wants to reserve pricing without committing, but this is left to inference rather than stated as a rule for choosing between quote and start.
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 provided, the description carries the full burden. It does disclose the critical behavioral trait: this tool spends/reserves wallet cents, which signals a financial side effect. However, it does not explain whether the action is reversible, what happens on failure, or whether any confirmation or safeguards are involved, leaving gaps for a fund-moving operation.
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?
The description is exceptionally brief and front-loaded, with the key differentiator ('ONLY spend tool') first. No words are wasted. While it could be more expansive, for pure conciseness it earns a high score.
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 full schema coverage, this is a financial execution tool with no annotations and no output schema. The description does not explain the workflow context (e.g., that it follows a quote step, that legal_acceptance is mandatory, how to track progress afterward, or what webhook events relate to it). An agent is left to infer the larger process from sibling names and parameter names, which is insufficient for a money-spending step.
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 100%, so the schema already documents all four parameters with meaningful descriptions. The tool description adds no substantive parameter-level detail beyond what the schema provides; the 'locked quote_id' mention is redundant with the schema. Baseline 3 is appropriate.
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 identifies this as the spend tool with a specific verb ('spend'/'reserves wallet cents') and a specific resource (the locked quote_id). The phrase 'ONLY spend tool' differentiates it from the sibling tools (inspect, quote, status, download, receipt) without requiring the agent to open their schemas.
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 framing 'ONLY spend tool' implies this is used when the agent needs to commit funds, giving some selection context among siblings. However, there is no explicit statement of when to use this tool versus the others, no prerequisites, and no mention of what should happen before or after calling it.
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 does disclose an important side effect—that the tool creates 'an open locked quote' and an upload_id—which goes beyond a simple read. However, it does not explain the lifecycle of the lock, expiration, whether the quote becomes stale, or what happens if the file is invalid. This partial transparency is adequate but not thorough.
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 short sentences with no filler. The primary purpose is front-loaded, and the side effects are presented in a compact follow-up. Every word adds value.
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?
For a tool with a single well-documented parameter, the description is mostly sufficient, but it lacks integration context: it does not explain how the created upload_id and locked quote should be used with sibling tools (e.g., start or quote), nor does it describe the response structure. Since there is no output schema and no annotations, a bit more workflow context would make this fully 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 description for file_path ('Absolute path to a local .blend file') covers 100% of the parameter semantic meaning. The tool description only indirectly references the parameter ('Inspect a Blender .blend') and adds no extra information such as file size limits, format expectations, or path rules. Baseline of 3 is appropriate because the schema does the heavy lifting.
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 states a specific action—'Inspect a Blender .blend'—and specifies the key benefit: 'without spending.' It also names the concrete outputs: 'Creates upload_id and an open locked quote.' This clearly describes what the tool does and differentiates it from siblings like quote/start by emphasizing no cost.
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 phrase 'without spending' implies a pre-payment inspection step, and the sibling names (quote, start, status, download, receipt) suggest a workflow. However, there is no explicit statement of when to use this tool versus alternatives, nor any exclusion guidance. The usage context is only implied, not directly clarified.
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?
No annotations are provided, so the description carries the transparency burden. It does disclose that the result is normalized and explicitly warns that worker, provider, and progress-percent fields are absent, which prevents false expectations. It does not cover error behavior or polling guidance format, but this is still meaningful disclosure for a simple read 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?
The description is two short clauses with no filler. Every phrase contributes either to what the tool does, what it returns guidance for, or what it omits, making it appropriately concise and front-loaded.
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?
The tool is simple with one parameter, but there is no output schema, so the description should clarify the state vocabulary or polling guidance shape. It explains the high-level purpose and exclusions but leaves the actual return content vague, which is a real gap for an agent trying to interpret the result.
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 100% for the single job_id parameter, so the schema already documents the parameter fully. The description adds no additional meaning about the parameter format or semantics beyond what the schema provides.
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 states a specific operation ('Read normalized job state') and a clear deliverable ('polling guidance'), and it narrows scope by explicitly listing excluded fields. The negative field list helps distinguish this tool from sibling read-style tools even without naming 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?
The description implies the tool is used for reading job status and polling, but it never explicitly says when to use status over inspect, quote, or receipt. There are no stated alternatives or exclusions, leaving the routing decision mostly to inference.
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?
No annotations are provided, so the description carries the full burden. It clearly discloses two meaningful behaviors: it returns a URL, not ZIP bytes, and delivery tokens are not logged. It does not cover error behavior for non-completed jobs, but for a simple URL-retrieval tool this is reasonably transparent.
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 short sentences with the core action front-loaded and each additional clause earning its place. There is 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 simple one-parameter tool with no output schema, the description covers the return type (ZIP URL), a key exclusion (no bytes), and a privacy note about logging. It omits explicit error cases and usage routing, but these are minor gaps given the tool's simplicity.
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 100% for the single job_id parameter, which is already documented as 'FARPY job id'. The description adds no additional parameter-level meaning, so the baseline 3 applies.
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?
States a specific verb ('Return'), a clear resource ('ZIP download URL'), and a scope ('for a completed job'). The clause 'Never returns ZIP bytes' sharpens the distinction from a raw download and differentiates it from sibling tools like start, status, and receipt.
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 phrase 'for a completed job' implies this should only be used after a job finishes, but it does not explicitly say when not to use it or name alternatives such as status for checking job state. Usage guidance is left largely to inference.
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/Mangomunchr/farpy-public'
If you have feedback or need assistance with the MCP directory API, please join our Discord server