FARPY
This server lets you submit and manage Blender Cycles GPU rendering jobs on FARPY — from inspecting a file to verifying an execution receipt.
Inspect a local
.blendfile to get anupload_idand an open locked quote, without spending.Quote a locked quote for a frame sub-range (with optional
frame_step), without spending.Start a rendering job — the only spend tool — by reserving wallet cents for a
quote_id; requireslegal_acceptance=FARPY_LEGAL_V1and supports an optionalwebhook_urlfor render lifecycle events.Status a job by
job_idto read normalized job state and polling guidance.Download completed job artifacts as a ZIP download URL (never ZIP bytes).
Receipt a safe execution receipt subset, including SHA-256 artifact verification for integrity.
Allows submitting Blender Cycles GPU rendering jobs to FARPY, executing them remotely, and downloading the rendered frames with verified receipts.
FARPY
Verified GPU compute for humans, applications, and agents.
FARPY accepts bounded GPU workloads, executes them asynchronously, delivers completed artifacts, and issues verifiable execution receipts.
Public workload
Blender Cycles GPU rendering — $0.01 per completed frame.
Current public contract:
Workload: Blender Cycles GPU
Input:
.blendExecution: asynchronous
Output: downloadable artifact
Integrity: SHA-256 artifact verification
Evidence: FARPY execution receipt
Transparency: public proof surfaces
Status:
LIVE_PUBLIC_ALPHA
Additional workloads are under development and are not currently public.
Related MCP server: ThetaCog MCP
Agent / API access
OpenAPI 3.1: https://farpy.com/openapi.json
Quickstart: https://farpy.com/api/quickstart/
Capabilities: https://api.farpy.com/v1/capabilities
Pricing: https://api.farpy.com/v1/pricing
Limits: https://api.farpy.com/v1/limits
Typical lifecycle:
discover → price → submit → JOB-ID → execute → download → verify receipt
Agent discovery
Official MCP Registry: https://registry.modelcontextprotocol.io/
Glama: https://glama.ai/mcp/servers/Mangomunchr/farpy-public
PulseMCP: https://www.pulsemcp.com/servers
Agent manifest: https://farpy.com/agents.json
LLM context: https://farpy.com/llms.txt
Public surfaces
Website: https://farpy.com
Proof: https://farpy.com/proof/
BenchMork: https://farpy.com/benchmark
Research: https://farpy.com/labs/research
Security: SECURITY.md
Local MCP / Glama
A local stdio MCP server for Cursor, Claude Desktop, Glama, and other MCP clients lives in mcp/.
It is a thin public client over FARPY's existing Job API. It does not include production server code and never logs FARPY_AGENT_TOKEN.
Build and run
cd mcp
npm install
npm run build
npm test
node dist/mcp-server.jsEnvironment (see .env.example):
FARPY_AGENT_TOKEN— Job APIfarpy_agent_key. Required for every tool. The server fails closed if it is missing.FARPY_API_BASE— API origin. Default:https://api.farpy.com
Example local client config:
{
"mcpServers": {
"farpy": {
"command": "node",
"args": ["/absolute/path/to/farpy-public/mcp/dist/mcp-server.js"],
"env": {
"FARPY_AGENT_TOKEN": "farpy_agent_..."
}
}
}
}Public MCP V1 tools: inspect, quote, start, status, download, receipt. inspect and quote do not spend. start is the spend boundary and requires legal_acceptance=FARPY_LEGAL_V1.
Scope
FARPY is currently a public-alpha service.
Public capabilities, pricing, and limits are authoritative. Historical research, internal tests, and experimental workloads do not imply current public availability.
Available Tools
6 toolsdownloadA
Return a ZIP download URL for a completed job. Never returns ZIP bytes. Delivery tokens are not logged.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | FARPY job id. |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
inspectA
Inspect a Blender .blend without spending. Creates upload_id and an open locked quote.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Absolute path to a local .blend file. |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
quoteA
Create a locked quote for a frame sub-range. Does not spend.
| Name | Required | Description | Default |
|---|---|---|---|
| frame_end | Yes | Last frame, inclusive. | |
| upload_id | Yes | Upload id from inspect. | |
| frame_step | No | Frame step. | |
| frame_start | Yes | First frame, inclusive. |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
receiptB
Return a safe receipt subset. SHA-256 is byte identity, not artistic review.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | FARPY job id. |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
startA
ONLY spend tool. Reserves wallet cents for the locked quote_id.
| Name | Required | Description | Default |
|---|---|---|---|
| quote_id | Yes | Locked quote id. | |
| upload_id | Yes | Upload id from inspect. | |
| webhook_url | No | Optional HTTPS webhook for render.completed|failed|cancelled. Omit to poll with status. | |
| legal_acceptance | Yes | Must be exactly FARPY_LEGAL_V1. |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
statusA
Read normalized job state and polling guidance. No worker, provider, or progress-percent fields.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | FARPY job id. |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
TDQS
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.
Names 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.
Six 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.
The 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.
Maintenance
Related MCP Connectors
Confidential AI execution with a post-quantum receipt on every job — verifiable by anyone.
Cloud Blender for AI agents: scenes, assets, renders, MP4, STL, GLB — over hosted remote MCP.
Hand off AI work with a signed Verification Receipt — an independent verifier proves it runs.
Live GPU rental market: 2,500+ offers across a dozen provider feeds. History, watches, limit orders.
Related MCP Servers
- AlicenseAqualityAmaintenanceCryptographic receipts for AI outputs — signed, chain-anchored, $0.001/call6252MIT
- FlicenseBqualityCmaintenanceThis server enables decidable, hardware-attested semantic verification of AI outputs using on-chip ballistic walks, providing reproducible receipts that can be recomputed byte-for-byte.122321

EVIDIQ Notary MCPofficial
AlicenseNot gradedqualityBmaintenanceCryptographic receipt layer for AI inferences. Enables notarization and verification of AI outputs with on-chain proofs via x402 payment.1MIT- FlicenseNot gradedqualityDmaintenancePaid remote MCP for rendering hyperframe videos with structured receipts and audit logs. Enables rendering, status checking, artifact fetching, and receipt export.
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