Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.4.0

  • Disambiguation4/5

    Most tools have distinct purposes targeting different Blender operations like material assignment, primitive creation, code execution, scene info retrieval, and rendering. However, 'execute_blender_code' and 'execute_ops' could cause confusion as both involve executing operations in Blender, though their parameter structures differ.

    Naming Consistency4/5

    The naming follows a consistent verb_noun pattern throughout (e.g., assign_material, create_primitive, get_scene_info), which is clear and predictable. There are no deviations in style, making it easy to understand each tool's function at a glance.

    Tool Count5/5

    With 10 tools, the count is well-scoped for a Blender automation server, covering key operations like object manipulation, scene management, rendering, and code execution. Each tool appears to earn its place without feeling excessive or insufficient for the domain.

    Completeness3/5

    The toolset covers many core Blender workflows, such as object creation, selection, transformation, material assignment, rendering, and scene inspection. However, there are notable gaps, such as the absence of tools for deleting objects, modifying materials, or handling animations, which could limit agents in more complex tasks.

  • Average 3/5 across 10 of 10 tools scored. Lowest: 2.4/5.

    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.json to 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?

    No annotations are provided, so the description carries full burden. It mentions parameters but doesn't disclose behavioral traits such as whether this is a read-only or mutating operation, what happens to previously selected objects, error conditions, or performance implications. The description is minimal and fails to provide essential context for safe and effective use.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is very concise with a brief statement followed by bullet points for parameters. It's front-loaded with the main purpose. However, the bullet points are somewhat cryptic and could be more informative, but overall it avoids unnecessary verbosity and is structured efficiently.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given 3 parameters with 0% schema coverage, no annotations, and an output schema (which helps but isn't described), the description is incomplete. It lacks details on the tool's domain (e.g., 3D modeling in Blender inferred from sibling tools), behavioral context, and parameter meanings. This makes it inadequate for an agent to use the tool confidently without additional context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It lists parameters ('mode: replace|add|remove' and 'active: optional active object') but doesn't explain their semantics beyond basic labels. For example, it doesn't clarify what 'active object' means, how 'names' relate to objects, or the effects of different modes. This adds minimal value over the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states 'Select objects by name' which provides a basic verb+resource combination, but it's vague about what 'select' means in this context (UI selection, logical selection, etc.). It doesn't distinguish from siblings like 'get_scene_info' or 'set_transform' which might also involve objects. The purpose is understandable but lacks specificity about the selection mechanism or domain.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives is provided. The description lists parameters but doesn't explain context, prerequisites, or exclusions. For example, it doesn't clarify if this is for 3D modeling, UI interaction, or another domain, nor does it mention sibling tools like 'get_scene_info' as alternatives for object information.

    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 are provided, so the description carries full burden for behavioral disclosure. 'Set' implies a mutation operation, but it doesn't specify whether this requires specific permissions, if changes are reversible, what happens to unspecified transform components, or any rate limits. The description lacks critical behavioral context for a mutation tool with zero annotation coverage.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise at four words, with no wasted language. It's front-loaded with the core action and target. However, this brevity borders on under-specification, as it omits necessary details for a tool with multiple parameters and no annotations.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given a mutation tool with 5 parameters, 0% schema description coverage, no annotations, and an output schema (which reduces need to describe returns), the description is incomplete. It doesn't clarify the tool's role among siblings, parameter meanings, or behavioral traits, leaving significant gaps for an agent to use it correctly in a 3D/scene manipulation context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage for 5 parameters, the description adds minimal value beyond the schema. It mentions 'transform values', which hints at parameters like location, rotation, and scale, but doesn't explain their semantics (e.g., coordinate systems, units, array formats) or the purpose of 'name' and 'space'. This fails to compensate for the schema's lack of descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description 'Set object transform values' clearly states the action (set) and target (object transform values), but it's vague about what 'transform values' specifically entail. It doesn't distinguish this tool from potential siblings like 'select_objects' or 'create_primitive', leaving ambiguity about its specific role in the 3D/scene context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'select_objects', 'create_primitive', and 'execute_ops', there's no indication of whether this is for modifying existing objects, initializing new ones, or other scenarios. No prerequisites, exclusions, or contextual recommendations are mentioned.

    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 are provided, so the description carries the full burden. It mentions rendering to an output path or temp, implying a write operation, but doesn't disclose behavioral traits like required permissions, performance impact, file overwriting, or error handling. It lacks critical context for a mutation 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely concise with a single sentence that front-loads the key action. There is no wasted text, making it efficient and easy to parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has an output schema, the description doesn't need to explain return values. However, as a mutation tool with no annotations, 0% schema coverage, and two parameters, it lacks completeness. It fails to provide necessary context on what is rendered, usage scenarios, or behavioral details, making it inadequate for safe and effective use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It mentions 'output_path' and implies a default to temp, adding some meaning, but doesn't explain the 'format' parameter or its default 'PNG'. It partially addresses one of two parameters, leaving significant gaps.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states the tool renders a still image, which is a clear purpose, but it doesn't specify what is being rendered (e.g., a scene, viewport, or specific object) or distinguish it from sibling tools like 'get_viewport_screenshot'. It's vague about the resource being rendered.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'get_viewport_screenshot' or other rendering-related tools. The description only mentions the action without context or exclusions.

    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 are provided, so the description carries full burden for behavioral disclosure. While 'Create' implies a write operation, the description doesn't specify what happens after creation (e.g., whether the object becomes selected, appears in viewport, requires scene context), nor does it mention permissions, error conditions, or rate limits. This leaves significant behavioral gaps for a creation 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is perfectly concise at 5 words, front-loading the essential action and object type with zero wasted words. Every word earns its place, though this conciseness comes at the cost of completeness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given a creation tool with 6 parameters (1 required), 0% schema coverage, no annotations, but with an output schema, the description is inadequate. While the output schema might document return values, the description doesn't address critical context like parameter meanings, creation constraints, or how this tool fits within the Blender workflow alongside sibling tools. For a moderately complex creation operation, more guidance is needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage for 6 parameters, the description provides no parameter information beyond the tool name implying 'primitive' is a parameter. It doesn't explain what 'primitive' means (e.g., cube, sphere, cylinder), what 'size', 'location', 'rotation', and 'scale' units or formats are, or that 'name' is optional. The description fails to compensate for the complete lack of schema documentation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('Create') and resource ('primitive mesh object'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'execute_ops' or 'select_objects' that might also create or modify objects, leaving some ambiguity about when this specific creation tool should be used versus alternatives.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'execute_ops' (which could execute arbitrary Blender operations) and 'set_transform' (which might modify existing objects), there's no indication whether this is the primary creation method or when other tools might be more appropriate. No exclusions or prerequisites are mentioned.

    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 full burden but only states the basic action without behavioral details. It doesn't disclose whether this is a destructive operation, what permissions are needed, how errors are handled, or what the output schema contains, leaving significant gaps in understanding the tool's 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has an output schema (which handles return values) and no annotations, the description is minimally complete for a basic assignment operation. However, it lacks context on complexity (e.g., mutation effects) and doesn't compensate for the 0% schema coverage, making it adequate but with clear gaps in guidance and parameter explanation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate but adds no parameter semantics. It doesn't explain what 'object_name', 'material', or 'slot' represent (e.g., format, valid values, or that 'slot' defaults to 0), failing to provide meaning beyond the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Assign') and target ('material to a mesh object slot'), providing specific verb+resource. However, it doesn't differentiate from sibling tools like 'create_primitive' or 'select_objects', which would require mentioning this is specifically for material assignment rather than object creation or selection.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., existing objects/materials), exclusions, or comparisons to sibling tools like 'execute_ops' which might handle similar operations, leaving the agent without context for tool selection.

    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 are provided, so the description carries the full burden of behavioral disclosure. It mentions 'validated allowlisted ops request' and 'dry_run' in the parameter note, hinting at safety or validation aspects, but doesn't explain what validation entails, what 'allowlisted' means, potential side effects, error handling, or output behavior. For a tool that executes operations in Blender (likely a mutation), this is a significant gap in transparency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a concise parameter note. There's no wasted text, and it's structured for quick understanding. It could be slightly improved by integrating the parameter note more seamlessly, but it's efficient overall.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity (executing operations in Blender, likely mutations), no annotations, and an output schema exists (which reduces the need to describe return values), the description is minimally adequate. It covers the basic purpose and parameter structure but lacks details on validation, safety, and usage context. With the output schema handling return values, it meets a baseline level of completeness but leaves gaps for effective agent use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It adds a note explaining the 'request' parameter as a 'JSON object with {dsl_version, transaction, dry_run, ops}', which provides some structure beyond the generic schema. However, it doesn't detail what 'ops' contains, the meaning of 'dsl_version' or 'transaction', or provide examples. This partial compensation earns a baseline score, but more detail would be needed for higher marks.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Execute a validated allowlisted ops request (DSL v1) in Blender.' It specifies the verb ('Execute'), the resource ('validated allowlisted ops request'), and the context ('in Blender'), making it clear what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'execute_blender_code', which might handle different types of execution.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., what 'validated allowlisted' means), when not to use it, or how it differs from siblings like 'execute_blender_code'. The agent must infer usage from the name and description alone, which is insufficient for optimal tool selection.

    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 tool retrieves 'detailed information' but doesn't specify what that includes (e.g., scene properties, objects, settings), whether it's read-only (implied but not stated), or any performance considerations. The description adds minimal context beyond the basic action.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that directly states the tool's function without redundancy. It is front-loaded with the core action ('Get detailed information') and specifies the target ('current Blender scene'). There is zero waste, making it highly concise and well-structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description is adequate but minimal. It covers the basic purpose but lacks details on what 'detailed information' entails, which could be important for an agent to understand the tool's utility. With no annotations, it doesn't fully compensate for missing behavioral context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has 0 parameters, and schema description coverage is 100% (since there are no parameters to document). The description doesn't need to add parameter semantics, so it meets the baseline of 4 for tools with no parameters. It appropriately focuses on the tool's purpose rather than unnecessary parameter details.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose with a specific verb ('Get') and resource ('detailed information about the current Blender scene'). It distinguishes from siblings like get_capabilities or get_viewport_screenshot by focusing on scene information rather than system capabilities or visual output. However, it doesn't explicitly differentiate from potential scene-related operations in other tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an active Blender scene), exclusions, or comparisons to siblings like get_capabilities (which might provide different types of information). Usage is implied by the name but not explicitly stated.

    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 are provided, so the description carries the full burden of behavioral disclosure. It mentions executing 'arbitrary Python code' and advises step-by-step execution, but fails to disclose critical traits such as security implications, error handling, execution environment details, or potential side effects (e.g., modifying Blender scenes). This is a significant gap for a tool that runs arbitrary code.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is appropriately sized and front-loaded, with the core purpose stated first. The two sentences are efficient, though the second sentence could be integrated more smoothly. There's no wasted text, making it easy for an agent to parse quickly.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity of executing arbitrary code and the presence of an output schema (which likely handles return values), the description is minimally adequate. However, it lacks details on execution behavior, error cases, and integration with Blender, which are crucial for safe and effective use. With no annotations and high-stakes functionality, it should do more to guide the agent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds meaningful semantics beyond the input schema: it explains that the 'code' parameter is 'The Python code to execute,' clarifying its purpose. Since schema description coverage is 0% and there's only one parameter, this compensates adequately, though it could provide more detail on code format or constraints.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Execute arbitrary Python code in Blender.' It specifies the verb ('Execute'), resource ('Python code'), and context ('in Blender'). However, it doesn't explicitly differentiate from sibling tools like 'execute_ops' which might also execute operations in Blender, leaving some ambiguity about when to choose one over the other.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides implied usage guidance with 'Make sure to do it step-by-step by breaking it into smaller chunks,' suggesting a best practice for handling complex code. However, it doesn't explicitly state when to use this tool versus alternatives like 'execute_ops' or other siblings, nor does it mention prerequisites or exclusions, leaving the agent to infer context.

    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 of behavioral disclosure. It states the action ('Capture') and return type ('Image'), but lacks details on permissions, rate limits, or side effects (e.g., whether it pauses Blender operations). It adds basic context but misses key behavioral traits for a capture 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is front-loaded with the core purpose in the first sentence, followed by a clear parameter explanation and return statement. Every sentence adds value without redundancy, and the structure is logical and efficient for a tool with minimal parameters.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is moderately complete. It covers the purpose, parameter, and return type, but lacks output details (e.g., image format, dimensions) and behavioral context like error handling. It meets minimum viability but has gaps in transparency and guidelines.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds meaningful semantics beyond the input schema, which has 0% coverage. It explains that 'max_size' is the 'Maximum size in pixels for the largest dimension' with a default of 800, clarifying its purpose and units. With only one parameter, this adequately compensates for the schema gap, though it doesn't detail constraints like minimum/maximum values.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Capture a screenshot') and target resource ('current Blender 3D viewport'), distinguishing it from siblings like 'render_still' (which renders a full image) or 'get_scene_info' (which retrieves metadata). The verb+resource combination is precise 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 Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage context (when a screenshot of the viewport is needed) but doesn't explicitly state when to use this tool versus alternatives like 'render_still' for higher-quality renders or 'get_scene_info' for non-visual data. No exclusions or prerequisites are mentioned, leaving usage decisions 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 describes what is returned but lacks behavioral details such as performance characteristics, error handling, or authentication requirements. However, it does disclose the scope of returned data, which adds some context beyond basic purpose.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that front-loads the purpose and lists specific return values without any wasted words. Every part of the sentence adds value, making it highly concise and well-structured for quick understanding.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description is reasonably complete. It specifies what capabilities are returned, which complements the output schema. However, it could be more complete by including behavioral aspects like rate limits or data freshness, though the output schema may cover return format details.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description does not mention parameters, which is appropriate, and the baseline for 0 parameters is 4, as it avoids unnecessary repetition of schema information.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Return') and resource ('server/addon capabilities'), with explicit details about what is returned (DSL version, enabled integrations, supported ops/formats). It distinguishes this tool from siblings like get_scene_info or execute_ops by focusing on system capabilities rather than scene data or 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage for retrieving system capabilities, but does not explicitly state when to use this tool versus alternatives (e.g., get_scene_info for scene-specific info). No guidance on prerequisites or exclusions is provided, leaving usage context inferred rather than clearly defined.

    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

BlenderMCP MCP server

Copy to your README.md:

Score Badge

BlenderMCP MCP server

Copy to your README.md:

Latest Blog Posts

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/IAmMarcellus/BlenderMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server