Canva MCP Server
Server Quality Checklist
Latest release: v0.0.3
- Disambiguation4/5
Most tools have clearly distinct purposes, but canva_list_folders and canva_list_folder_items overlap: one lists root folder contents and the other lists contents of a specific folder, which could cause selection confusion. The rest are well separated by resource and action.
Naming Consistency5/5All tool names follow a consistent snake_case pattern with the canva_ prefix and a clear verb_noun structure (list_designs, get_design, create_folder, upload_asset). This makes the tool set predictable and easy to navigate.
Tool Count5/5Ten tools is a well-scoped size for a Canva integration, covering authentication, design CRUD, folder operations, asset upload, and export. Each tool serves a meaningful purpose without the set feeling bloated or too thin.
Completeness4/5The server covers the main Canva workflows: viewing profile, listing/getting/creating designs, exporting, folder navigation/creation, and uploading assets. Minor gaps include no delete or update operations for designs/folders and no asset listing, but these are not critical for typical use.
Average 3.4/5 across 10 of 10 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 6 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
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 available, the description carries the full burden of behavioral disclosure. It only states that a folder is created, with no mention of side effects, required permissions, error conditions, duplicate handling, or whether the created folder's ID is returned. For a mutating operation, this is a significant transparency gap.
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 a single, efficient sentence with no wasted words. It is front-loaded with the core purpose, though it is perhaps too minimal to earn full marks for structure given the lack of additional useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no output schema and no annotations, the description is incomplete. It does not explain what the tool returns, how to reference the new folder afterward, or any conditions that might cause failure. An agent would need to infer behavior from the schema alone.
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 both 'name' and 'parentFolderId'. The description adds no additional meaning beyond the schema, but it does not need to compensate because the parameter documentation is complete.
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 clear action ('Crea') and resource ('una nueva carpeta en Canva'), immediately conveying what the tool does. It is distinguishable from siblings like canva_list_folders or canva_create_design, though it does not explicitly differentiate itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as canva_list_folders or canva_list_folder_items. The description implies its use for creating a folder, but it gives no context about prerequisites, parent folder requirements, or when another tool would be more appropriate.
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 disclosing behavior. It implies a read-only listing operation but does not mention pagination, authorization requirements, error behavior, or any side effects, leaving behavioral expectations underspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states exactly what the tool does with no waste. It is appropriately sized for a simple list operation.
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?
The tool has three parameters, no annotations, and no output schema. The description offers only the core function and does not explain when to use it, what the response contains, or how pagination works, leaving notable gaps in context.
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 coverage is 100%, with descriptions for all three parameters (sortBy, ownership, continuation). The description adds no additional parameter semantics, so the baseline score of 3 applies.
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 uses a clear verb ('Lista') and resource ('diseños de Canva del usuario'), with examples of design types. However, it does not distinguish this tool from sibling tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The agent must rely on the generic 'list' semantics and the tool name to infer appropriate usage.
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 behavioral disclosure burden. It does not explain pagination behavior despite the continuation parameter, does not state whether listing is recursive or limited to direct children, and gives no detail on how the itemType filter behaves or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and zero wasted words. It is efficiently structured, though slightly longer coverage of pagination or usage would have improved value without harming conciseness.
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?
With no annotations, no output schema, and only a terse one-line description, the tool is under-specified for an agent that must choose among nine siblings. Pagination semantics, the itemType filter's value domain, and the distinction from canva_list_folder_items are all missing.
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 baseline is 3. The description adds no parameter meaning beyond the schema, and while the schema documents both parameters, itemType's valid values remain unspecified in either source.
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 uses a specific verb ('Lista' / lists) with a clear resource ('elementos y subcarpetas' / elements and subfolders) and a defined scope ('carpeta raíz' / root folder). However, the name (list_folders) slightly conflicts with the described behavior (listing elements AND subfolders), and it does not explicitly differentiate itself from the sibling canva_list_folder_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus its siblings. With nine sibling tools including the near-identical canva_list_folder_items and canva_list_designs, the absence of any routing guidance or exclusions leaves selection to inference.
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. The description does not mention whether the upload overwrites existing assets, what happens on duplicate names, any size limitations, or whether authentication via canva_get_auth_status is required first. This is a significant gap for a mutation-like tool.
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 a single, concise sentence that conveys the core purpose without unnecessary words. It is appropriately short and front-loaded with the action verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is too sparse. It lacks critical context such as whether the upload requires prior authentication (the sibling canva_get_auth_status suggests this might be needed), expected file formats, or what happens after a successful upload. An agent would have to rely on trial and error.
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 provides 100% coverage with clear descriptions for both 'name' and 'filePath'. The description adds no additional semantic value beyond what the schema states, so a baseline 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 clearly states the verb 'Sube' (upload) and the resource ('archivo de imagen o recurso local a Canva'). It distinguishes itself from sibling tools like export, list, and profile tools, though it could be more specific about what types of local resources are supported beyond images.
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 uploading local files to Canva, which is distinct from the sibling tools. However, it provides no explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites such as authentication or file format restrictions.
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?
There are no annotations to carry the behavior burden, and the description only says 'crea un nuevo diseño.' It does not disclose whether the design is persisted immediately, whether authentication is required, what the return value is, or how the assetId customWidth parameters behave after creation. The verb implies mutation, but little else is 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?
The description is one concise, front-loaded sentence with useful examples and no redundant filler. Every part contributes to understanding the tool's purpose and scope.
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?
The tool is a creation operation with no output schema and no annotations, yet the description does not explain what happens after creation, what the result looks like, or how custom dimensions actually work. It mentions 'dimensiones personalizadas' but the schema only has customWidth, with no customHeight, which leaves an important gap. A richer description is needed for an agent to call this correctly.
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 every parameter, including title, assetId, presetName, and customWidth, so schema coverage is high and the baseline is 3. The description adds a small amount of meaning by listing preset examples and mentioning 'dimensiones personalizadas', which maps to customWidth, but it does not add meaningful parameter semantics 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 states a specific verb and resource: 'Crea un nuevo diseño en Canva' (creates a new design in Canva), and gives concrete examples such as presentation, document, Instagram post, flyer, banner, or custom dimensions. This clearly distinguishes it from sibling tools like canva_list_designs, canva_get_design, and canva_upload_asset.
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 purpose is clear enough that an agent can infer this tool is for creating new designs, but the description does not explicitly state when to use it versus alternatives or mention any exclusions. No sibling tools are referenced, so routing partly depends on the agent's own reasoning from the obvious resource difference.
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 lists what the tool returns conceptually but omits important behavioral traits such as pagination via the 'continuation' parameter, whether results are sorted or complete, and whether 'root' behaves differently from a normal folder ID. For a listing tool, this is a meaningful transparency gap.
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?
One concise sentence with no filler: it opens with the verb, names the resource, and lists the content types. Every word contributes to the agent's understanding, and the description is front-loaded appropriately.
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 and the schema covers its parameters, but there is no output schema and no mention of key operational details such as pagination or the distinction between global item lists and folder-scoped listing. The description is adequate for a basic call but leaves a few gaps that could affect correct invocation, especially around pagination.
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 input schema already documents both parameters well. The description adds no significant parameter-level detail beyond what the schema provides, such as the meaning of 'continuation' or the 'root' option.
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 action ('Lista') and the resource ('el contenido dentro de una carpeta específica'), naming the content types (diseños, imgenes, subcarpetas). This distinguishes it from siblings like canva_list_designs and canva_list_folders, which list items globally rather than within a specific folder.
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 'dentro de una carpeta específica' implies when to use the tool (inspecting folder contents), but it does not explicitely state when not to use it or mention alternatives such as canva_list_designs or canva_list_folders. The usage context is reasonably clear but not fully articulated.
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 present, so the description carries the burden. It usefully discloses that the tool returns download links and supports multiple formats, but it does not mention potential asynchronous behavior, long export times, permission requirements, or any errors that might occur. This is adequate but not highly 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?
A single, front-loaded sentence states the action, resource, supported formats, and result. There is no filler or redundant content; every part earns its place.
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 simple export tool, the description plus the fully documented schema is basically usable: provide a design ID and format, get download links. However, without annotations or an output schema, the definition does not mention timing, side effects, auth prerequisites, or how the tool relates to sibling tools. It is complete enough for a basic call but leaves gaps for an autonomous agent.
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 fully documents all four parameters. The description adds no real parameter semantics beyond listing some formats, and it even omits gif and mp4, which the schema's enum allows. This does not contradict the schema, but it does not add value either.
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 a specific verb ('exporta'), names the resource ('diseño de Canva'), and states the outcome (returns download links). This clearly distinguishes the tool from siblings like canva_get_design, canva_list_designs, and canva_create_design.
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 use when a downloadable file export is needed, but it never explicitly states when to use this tool versus alternatives like canva_get_design or canva_list_designs. No exclusions or conditions are provided, so the agent must infer usage from the name and description.
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 transparency. It conveys that the operation is a read/fetch ('Obtiene') and lists the returned data, but it does not explicitly state side-effect-free behavior, authorization requirements, or error conditions. It is adequate but not rich.
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, focused sentence that front-loads the purpose and includes the key input detail (ID). No redundant words or filler.
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 fetch tool with no output schema, the description is sufficiently complete: it names the resource, what data is returned, and the identifier needed. It does not give every possible response detail, but that is not necessary for this low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage by describing 'designId' as 'El ID del diseño de Canva' The description adds little beyond 'por su ID', so the baseline of 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?
The description clearly states a specific verb ('Obtiene') and resource ('detalles, miniaturas y enlaces de edición/visualización de un diseño') with a precise lookup mechanism ('por su ID'). It is easily distinguishable from siblings like canva_list_designs, which lists designs rather than fetching one.
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 this tool is used when you need a single design's details, thumbnails, or edit/view links by ID. It does not explicitly say when to prefer it over alternatives such as canva_list_designs or canva_export_design, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates a read operation via 'Obtiene' and names the data returned, but it does not explicitly state that no data is modified, whether authentication is required, or what happens if the user is not authenticated. The implicit read-only nature is clear enough for a simple profile fetch, but the description adds little beyond the action itself.
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, direct sentence with no filler. It front-loads the main purpose and identifies both the user profile and current team resources without unnecessary explanation.
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?
Given zero input parameters and no output schema, the description adequately states what is returned. It could additionally mention that the operation requires authentication or that no arguments are needed, but for a simple profile/team retrieval the description is largely self-sufficient.
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 schema already fully covers parameter semantics. The description adds no parameter information, but none is needed. Baseline 4 is appropriate for a zero-parameter tool.
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 verb ('Obtiene'), a clear resource ('el perfil del usuario autenticado y el equipo actual'), and is readily distinguishable from siblings like canva_get_auth_status, canva_get_design, or listing tools. An agent can tell exactly what this tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to choose this tool over alternatives. It is implied that one should use it when needing the authenticated user's profile or current team, but there is no comparison with canva_get_auth_status or any other sibling, and no exclusions are stated.
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 present, the description carries the full burden of behavioral disclosure. It clearly communicates that this is a non-mutating status check and goes beyond the tool name by specifying that it validates token validity and active permissions. This gives the agent meaningful information about what the tool inspects.
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 efficient sentence that states the tool's purpose and the specific aspects it verifies. There is no redundant or filler content.
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 zero-parameter diagnostic tool, the description adequately explains what is checked, but there is no output schema and no mention of the return format or how the auth status result is represented. An agent could call it correctly but is left guessing about the response shape.
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 there is no parameter behavior to document. The schema coverage is 100% trivially, and the description adds no parameter-specific meaning because none exists.
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 a specific verb ('Verifica') and a clear resource (Canva connection state), and explicitly enumerates what is checked: connection status, token validity, and active permissions. This distinguishes it from all sibling tools, which are all operational actions rather than auth diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: an agent can infer that this tool should be called to verify authentication state before performing Canva operations. However, there is no explicit guidance about when to use it vs alternatives or whether it should be routinely called before other tools.
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/elisbanpaco/mcp-canva-gemini-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server