powerpoint-mcp-live
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a distinct resource-action combination: presentations, slides, shapes, text, notes, comments, and export. Even closely related tools like get_presentation_info vs list_slides are clearly differentiated—one provides overall slide metadata, the other a simple index/title list—while format_shape_text vs format_shape separate text styling from fill/outline.
Naming Consistency5/5All tool names follow a consistent snake_case verb_noun pattern: list_*, get_*, save_*, add_*, delete_*, duplicate_*, move_*, activate_*, set_*, format_*, export_*. No mixed conventions or vague verbs like 'process' or 'execute'.
Tool Count4/523 tools is slightly over the typical sweet spot of 3–15, but the count is justified by the comprehensive breadth of PowerPoint automation (presentations, slides, shapes, notes, comments, export). Each tool serves a distinct purpose with no redundant or filler tools, making the scope reasonable for a mature MCP server.
Completeness4/5The tool surface covers the full lifecycle of working with presentations, slides, shapes, notes, and comments, including read, create, update, delete, and navigation operations. The main gap is the lack of open/close/presentation creation tools—it only operates on already-open presentations—but this is a design limitation rather than an oversight, and the existing coverage handles all in-session edits.
Average 4.1/5 across 23 of 23 tools scored. Lowest: 3.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit 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
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no behavioral hints, so the description carries the burden. It discloses the core mutating effect — moving a slide to a new position — and states that the return value is a JSON confirmation. It does not explain side effects like reindexing of other slides, permission requirements, or error behavior, but the main behavioral contract is present.
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 compact, front-loaded with the purpose, and organized into clear Args/Returns sections. It avoids unnecessary prose. The only structural flaw is the inconsistency between the 'required' labels and the schema, which could have been resolved for precision.
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 reordering tool, the description is minimally complete: it states the operation, explains the parameters, and indicates a JSON confirmation return. Still, with no output schema and no behavioral annotations, it leaves gaps around exact JSON shape, index validation, and behavior when presentation is omitted.
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?
With 0% schema description coverage, the description compensates well by explaining all three parameters: presentation as name/path with None meaning active presentation, and index/new_index as 1-based positions. The added semantics are genuinely useful. However, the description marks index and new_index as required, which directly conflicts with the input schema where no properties are required.
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 opens with a specific action and resource: 'Move a slide to a new position in the slide order.' This clearly distinguishes the tool from shape-oriented operations like set_shape_position. It does not explicitly name or differentiate from all 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?
There is no guidance on when this tool should be used versus alternatives, nor any exclusions or context for choosing move_slide over duplicate_slide, delete_slide, or set_shape_position. The only usage hint is embedded in the parameter note that presentation can be None for the active presentation.
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?
Annotations include only a title with no readOnlyHint or destructiveHint, so the description must carry the behavioral burden. It states 'Set the text' implying a mutation, but does not disclose whether the text is replaced or appended, what happens if the shape doesn't exist, whether permissions are needed, or any side effects. The return 'JSON confirmation' is minimal. Significant behavioral gaps remain.
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 well-structured with an Args section listing each parameter on its own line, followed by a Returns line. It is concise, free of filler, and front-loads the core purpose. Every sentence adds value, and the format is easily scannable.
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 mutation tool with no annotations and no output schema, the description omits critical behavioral details such as whether the text replaces existing content or appends, error handling for missing shapes, and the exact format of the confirmation. While parameters are well covered, the lack of side-effect and outcome information leaves an agent unsure of the tool's full impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description compensates well by explaining each parameter: presentation (name/path, None=active), slide_index (1-based, required), shape (name or 1-based index, required), and text (new content). It adds requiredness info not present in the schema. However, the 'shape' parameter type is string but can be an index, which is ambiguous, and the default of 'text' (empty string) is not clarified in context. Slight improvements needed but overall strong.
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 ('Set the text') and the target resource ('an existing shape (title, placeholder, or text box)'). It distinguishes from siblings like add_textbox (creates a shape) and get_slide_text (reads text). The mention of shape types adds specificity, making the tool's purpose unambiguous.
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 on when to use this tool versus alternatives such as format_shape_text (formatting text) or add_textbox (creating a shape). The description only gives parameter instructions, not selection criteria. The 'required' markers for slide_index and shape are imperative but not context regarding tool choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is richer than the bare annotations (which only contain a title): it explains the PowerPoint 2016+ modern-comment constraint and says the response is a JSON confirmation. However, it does not disclose whether changes are persisted automatically, what happens with invalid slide_index values, or any other side effects beyond the obvious mutation.
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 summary line is front-loaded and every following line in the Args/Returns block carries necessary information for a seven-parameter tool. There is no filler or repetition.
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?
Despite having no output schema and minimal annotations, the description is nearly complete: it covers all parameter semantics, the return type, and an environment constraint. The main gap is the inconsistency with the schema's optional/required claims and the lack of persistence/error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by explaining every parameter, including 1-based slide indexing, point units for left/top, and environment-variable defaults for author fields. It is slightly flawed because it labels slide_index and text as required while the input schema declares no required properties and gives both defaults.
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 opens with a specific verb and resource: 'Add a comment to a slide (PowerPoint 2016+ modern comments).' This clearly states what the tool does and is enough to tell it apart from the get_comments/delete_comment siblings, though it does not explicitly name an alternative.
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 about when to choose this tool over alternatives or when not to use it. The usage context is only implied by the name and first sentence, and there is no mention of prerequisites such as an open presentation.
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?
Annotations already declare destructiveHint=true, and the description confirms the deletion but adds no extra behavioral context such as permanence, permissions, or side effects. Mentioning 'Returns: JSON confirmation' is minor and does not significantly enhance transparency beyond the annotation.
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 extremely concise and well-structured: the purpose is stated first, followed by a blank line then a clean 'Args:' block with bullet-style explanations, and finally a 'Returns:' line. No unnecessary words; every sentence contributes.
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 destructive tool, the description covers the parameters and return type. But it omits error behavior (e.g., what happens if the shape or slide is not found) and does not clarify that slide_index and shape are mandatory despite the schema not marking them as required. This could lead an agent to omit them, so completeness is only partial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It does so clearly: presentation is a name/path with None meaning active, slide_index is 1-based and required, shape can be a name or 1-based index and is required. This adds real semantic value. However, there is a mismatch: the schema marks all parameters with default null and no required flags, conflicting with the description's assertion that slide_index and shape are required.
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 verb 'Delete' and resource 'a shape from a slide', which precisely identifies the operation. It is distinct from sibling tools like delete_slide (which deletes a slide) and other shape manipulation tools (set_shape_text, format_shape), so an agent can easily differentiate it.
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?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites (e.g., shape must exist, slide index must be valid). It only states the action and arguments, leaving the selection context entirely 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?
The readOnlyHint annotation already covers safety, so the description adds useful context by explaining the default behavior ('None = active presentation') and the return format. However, it does not disclose error conditions or other behavioral details, though annotations cover the main mutation risk.
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 compact and well-structured: a one-sentence purpose, a clear Args section, and a Returns section. Every sentence adds value, and the key information is front-loaded.
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 list operation with one optional parameter, the description covers the parameter semantics and return shape. It lacks a pointer to sibling tools like list_open_presentations, but it provides enough information to invoke the tool correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does: it explicitly explains that the single parameter is a 'Presentation name or path' and clarifies that None means the active presentation. This goes well beyond the bare string type in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List slides in an open presentation, with index and title text.' It clearly communicates what the tool does, but it does not explicitly differentiate from sibling tools such as list_shapes or get_presentation_info.
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?
The only usage context is 'in an open presentation.' There is no guidance on when to choose this tool over alternatives or when not to use it, which is especially relevant given the large set of slide-related sibling tools.
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. It discloses only the core action and a JSON confirmation, but does not mention side effects (e.g., whether it modifies the file, requires permissions, or fails on invalid indexes). For a mutating operation, this lack of behavioral disclosure is a notable 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 concise: one sentence for purpose, followed by a simple args/returns list. It is front-loaded and efficient, with no redundant filler. It could marginally improve by adding an example, but it is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of schema descriptions, annotations, and output schema, the description must cover a lot. It covers purpose, parameters, and return type, but lacks guidance on usage context, error cases, and prerequisites. For a simple tool, it is adequate but not comprehensive; an agent might need to infer specific conditions like having a presentation open or handling invalid input.
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?
With zero schema description coverage, the description adds meaning by clarifying 'presentation' as name/path (None = active) and 'index' as 1-based and required. It also notes the return type. This goes beyond the schema which only provides types and defaults. However, it does not detail valid presentation name formats or error handling for out-of-range indexes, and the 'required' claim conflicts with the schema's lack of a required list.
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 ('Make a slide the visible slide') and resource ('in PowerPoint's active window'). It clearly differentiates from sibling tools like list_slides (which lists but doesn't change visibility) and add_slide (which creates but doesn't activate). The purpose is 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to change the active slide in PowerPoint, but it does not explicitly state when to use it versus alternatives such as list_slides or get_presentation_info. There is no guidance on when not to use it or prerequisites like having PowerPoint open. The context is implied but not explicitly articulated.
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?
The readOnlyHint annotation already signals safety, and the description adds useful context: it specifies the return structure (JSON with slide index, title text if present, layout), notes that titles are only extracted if a title placeholder exists, and clarifies the default behavior of the presentation parameter (None = active presentation).
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 well-structured: a one-sentence purpose followed by Args and Returns sections. It is concise, front-loaded, and every sentence provides necessary detail without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter and no output schema, the description adequately covers return format and parameter semantics. Minor ambiguity remains about how active slide and slide count are encoded in the JSON, but it is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates by explaining the one parameter: 'presentation: Presentation name or path (None = active presentation).' This clearly conveys type, meaning, and default value, which is exactly what the AI needs.
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 it retrieves slide count, per-slide titles, and active slide for a presentation. The verb-resource pairing is specific and the output is well-defined, though it doesn't explicitly distinguish itself from siblings like list_slides or get_slide_text.
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 about when to use this tool versus alternatives such as list_slides or get_slide_text. There are no exclusions, prerequisites, or contextual recommendations, so the agent must infer usage from the purpose alone.
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?
The annotations carry readOnlyHint=true, and the description's 'Read' verb is consistent. It adds valuable behavioral context beyond the annotation: the return format (JSON with notes text), the empty-string fallback, and the presentation default behavior (None = active presentation). It does not cover error cases, but with annotations already stating read-only safety, this is sufficient.
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 compact and well-structured with separate Args and Returns sections. It front-loads the core purpose in the first sentence and includes no filler or redundant content.
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 read-only tool, the description covers the essential aspects: purpose, both parameters, and the return value shape. It lacks error-handling details, but the readOnlyHint annotation plus the explicit return format make it sufficiently complete for an agent to call correctly. The requiredness inconsistency is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain both parameters itself. It does so clearly: 'presentation' is a name/path with None meaning active, and 'slide_index' is 1-based. However, it marks slide_index as required while the schema declares it optional with a default of null, creating a minor requiredness discrepancy.
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 opens with 'Read the speaker notes for a slide,' clearly naming the verb and resource. It is unambiguous about the tool's function, but it does not explicitly differentiate it from sibling tools like get_slide_text or set_speaker_notes.
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 when to use the tool (whenever speaker notes for a slide are needed), but it gives no explicit guidance about alternatives or when not to use it. There is no mention of set_speaker_notes for writing, 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?
The destructiveHint annotation already communicates the destructive nature, and the description aligns with it. The description adds context beyond the annotation by specifying that the slide must be in an open presentation and that the operation returns a JSON confirmation. Minor gaps like invalid-index behavior are not disclosed, but the key behavioral trait is clear and consistent.
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 compact and well-structured with Args and Returns sections. Every sentence contributes useful information, and there is no redundancy 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 deletion tool with a destructive annotation and no output schema, the description is nearly complete: it identifies the target resource, clarifies indexing, explains the presentation parameter, and states the return type. The only notable gap is the index-required vs schema-optional discrepancy, which makes the description slightly less complete than it appears.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions, so the description compensates by explaining presentation as 'name or path (None = active presentation)' and index as '1-based slide index (required).' However, the description conflicts with the input schema, which lists index with default null and no required constraint, creating ambiguity for an agent deciding whether to supply the index.
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 opens with a specific verb and resource: 'Delete a slide from an open presentation.' It clearly states the scope and distinguishes the operation from sibling tools like add_slide, duplicate_slide, move_slide, and activate_slide.
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 provides useful invocation context, such as 'None = active presentation' and that index is 1-based and required. However, it does not explicitly explain when to use this tool versus alternatives or mention exclusions, so usage guidance is mostly implied rather than stated.
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?
Annotations provide only a title, so the description carries the burden of behavioral disclosure. It transparently states the insertion position and return format, but does not explicitly note that the operation modifies the presentation, preserves the original, or copies all slide content.
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 compact and well-organized, with the core behavior front-loaded and Args/Returns sections adding only necessary parameter and return information. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers invocation and return value adequately. It is slightly incomplete by not explaining how to reference the presentation in multi-presentation contexts or how the new slide is identified beyond its index.
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?
With 0% schema description coverage, the description supplies essential meaning beyond the schema: presentation is 'name or path (None = active presentation)' and index is '1-based' and 'required'. It loses a point because the 'required' statement conflicts with the schema's optional/default-null definition.
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?
Description states a specific verb ('Duplicate'), resource ('a slide'), and detail ('inserting the copy immediately after the original'), clearly distinguishing it from sibling tools like add_slide, delete_slide, or move_slide.
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?
It clarifies that index is required and presentation defaults to the active presentation, but it does not explicitly contrast this with alternatives such as add_slide or when a duplicate is preferable. The 'required' claim also conflicts with the schema's lack of required fields, making the guidance slightly unreliable.
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?
The readOnlyHint annotation already signals a read-only operation, and the description adds useful return-structure details that would otherwise be unknown without an output schema. It does not contradict the annotation, though it does not discuss error behavior or the slide_index required/optional discrepancy.
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 tightly structured with a one-sentence summary, an Args section, and a Returns section. There is no filler, and the most actionable information is front-loaded.
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?
The description covers both parameters and the return format, which is essential given the absence of an output schema. It falls short of a 5 because it leaves the slide_index required/optional contradiction unresolved and does not mention edge cases or error behavior.
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?
Since schema description coverage is 0%, the description compensates by explaining both parameters: presentation means name/path with None meaning active presentation, and slide_index is described as 1-based. However, the description says slide_index is 'required' while the schema marks it with default null and no required parameters, creating ambiguity.
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 opens with a clear action, 'List shapes on a slide,' and enumerates the returned fields: name, type, position, and text. This makes the tool's purpose readily distinguishable from siblings like list_slides or get_slide_text.
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 provides parameter context but no explicit guidance on when to prefer this tool over alternatives. There is no mention of when not to use it or how it relates to sibling tools such as get_slide_text or list_slides.
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 annotations providing only a title, the description carries the behavioral burden. It discloses the destructive nature of replacing existing notes and the active-presentation default. However, it does not mention error behavior, persistence, or side effects, leaving gaps 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured, with a clear opening sentence followed by an Args/Returns breakdown. No words are wasted, and the key overwrite behavior is front-loaded.
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 setter, the description adequately covers the parameters, the replacement behavior, and the return type ('JSON confirmation'). It omits error handling and the exact confirmation shape, but given the tool's low complexity and lack of output schema, the information is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. The Args section explains all three parameters with meaningful context: presentation (None = active), slide_index (1-based), and text (new notes). This adds significant value beyond the minimal 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 ('Set') and resource ('speaker notes for a slide'), and clarifies that it replaces existing notes. This clearly distinguishes it from the sibling get_speaker_notes.
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 it is used for writing speaker notes and explains that presentation defaults to the active presentation. However, it does not explicitly name the read alternative (get_speaker_notes) or state when not to use it, so the usage context is only implied.
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?
Annotations contain only a title, so the description carries the full burden for behavioral disclosure. It discloses the partial-update behavior ('Only arguments that are explicitly set are changed') and the return format ('JSON confirmation'), which is useful. However, it does not mention side effects like whether changes are persistent or any permission requirements, leaving some gaps.
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 well-structured: a one-line purpose, a behavioral note, then a bulleted Args list. It is front-loaded and efficient, with no redundant filler. The Args section is compact yet informative, achieving a good balance between brevity and completeness.
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 tool with 9 parameters, no output schema, and no schema descriptions, the description covers all parameters and specifies the return type. It does not include error handling or usage examples, but that is not essential for a formatting tool. Overall, it is sufficiently complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must document every parameter. It does so thoroughly in an Args section: slide_index and shape are labeled required, font_name includes an example ('Calibri'), font_color includes format ('FF0000' with optional #), and all font attributes are enumerated. This fully compensates 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.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States clearly the tool formats shape text (font style, name, size, color), distinguishing it from siblings like format_shape (shape-level) and set_shape_text (content). The verb and resource are specific, and the scope of attributes is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that only explicitly set arguments are changed, which clarifies the partial-update behavior. It does not explicitly name alternatives or when not to use it, but the purpose is distinct enough that an agent can infer usage. The context is clear, with no 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 beyond the title, the description carries the burden of behavioral disclosure. It states the mutation ('Add a new slide') and mentions the return value (JSON with the new slide's index). However, it does not disclose potential side effects (e.g., reindexing of subsequent slides, effect on master layouts) or error conditions (e.g., behavior when no presentation is open). This is adequate but not exhaustive for a mutation tool without annotation support.
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 well-structured with a one-sentence summary followed by a brief Args list. It is front-loaded with the core purpose and efficiently conveys all essential information without any fluff or redundancy. The layout options are enumerated compactly, and the description earns its length.
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 relatively simple tool, the description covers the purpose, parameter behavior, and return format. It does not explicitly address edge cases (e.g., invalid layout values, behavior when no presentation is open) or prerequisites beyond implying an open presentation. While these are minor gaps for a straightforward operation, a complete definition would benefit from a note on error handling or validation. Overall, it is nearly complete but misses some robustness details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no descriptions for the three parameters (0% coverage), but the description includes an 'Args' section that explains each parameter, including default behaviors (None for presentation means active, append for index, and the list of valid layout values). This adds substantial meaning beyond the bare schema and fully compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action 'Add a new slide' to a presentation, which clearly distinguishes it from sibling tools like delete_slide, duplicate_slide, move_slide, and activate_slide. The resource and action are unambiguous, and the scope (open presentation) is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (adding a slide to an open presentation) and explains key parameters like insertion index and layout. It does not explicitly name alternatives or exclusion conditions, but the sibling list makes it obvious that this is the tool for slide creation, and the parameter details guide proper usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait: 'Only arguments that are explicitly set are changed,' which prevents the agent from assuming all properties get reset. However, annotations only include a title, so the description carries the full burden. It does not mention mutation side effects, saving requirements, or permission needs, leaving behavioral transparency moderate.
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 compact and well-organized. It front-loads the purpose and the crucial partial-update behavior, then uses a clear Args list with no filler. Every sentence adds useful information.
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 straightforward formatting tool, the description covers all parameters, the return type, and the core behavioral rule. Minor gaps remain, such as exact confirmation payload content and whether changes require an explicit save, but these are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description fully documents each parameter: presentation path semantics, 1-based slide index, shape name/index, hex color format with example, and line weight units. It also clarifies which parameters are required, compensating entirely for the empty 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 opens with a specific verb + resource: 'Format a shape's fill and outline.' This clearly scopes the tool to shape styling and differentiates it from siblings like format_shape_text, which handles text formatting. The intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: whenever a shape's fill, outline color, or outline weight needs to be changed. It does not explicitly name alternatives or exclusions, but the narrow 'fill and outline' scope makes the appropriate usage evident enough.
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?
The readOnlyHint annotation already signals a safe read operation. The description adds meaningful behavior beyond that: it specifies the return shape as JSON with title and body strings in shape order, and clarifies the active-presentation fallback for the presentation parameter. It does not discuss error behavior, but that is a minor gap given the read-only context.
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 tight and front-loaded: a one-sentence summary followed by short Args and Returns sections. Every sentence earns its place, with no redundant or filler content.
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 read-only text extraction tool with no output schema, the description provides sufficient detail: parameters, defaults, requiredness, and return format. Slight gaps around error handling and precise meaning of 'shape order' exist, but they are not significant for successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It fully compensates by explaining presentation as a name or path with None meaning the active presentation, and by marking slide_index as a 1-based required index. This is essential operational detail absent from 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 opens with a specific verb and resource: 'Read all text on a slide,' and precisely scopes what counts as text ('title plus every other text-bearing shape'). This clearly separates it from siblings like list_shapes or get_speaker_notes.
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 intended use case is clear from the description, but it never explicitly contrasts this tool with alternatives or states when NOT to use it. Sibling names such as list_shapes and get_speaker_notes imply the distinction, but the description doesn't directly guide routing.
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?
Annotations already declare readOnlyHint=true, so the read-only nature is known. The description adds value by specifying the return payload: each presentation's name, full path, save state, slide count, and active status. This goes beyond the annotation and helps the agent understand what to expect from the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core purpose front-loaded. The return format is summarized in a compact bullet-style without wasted words. Every sentence earns its place, and the structure makes the key information immediately visible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only listing tool, the description is complete. It explains what the tool returns, and the absence of an output schema is compensated by the explicit list of return fields. There is no missing information an agent would need to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is an empty object. The description correctly omits parameter details since there are none. With no parameters to document, a baseline of 4 is appropriate—the description does not need to add anything further.
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 exactly what the tool does: 'List all presentations currently open in PowerPoint.' The verb is specific ('List'), the resource is clear ('open presentations'), and the scope ('all') distinguishes it from operations on a single presentation. The sibling tool get_presentation_info appears to target one presentation, so this is clearly a bulk enumeration tool.
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 clearly implies the tool is for enumerating open presentations, but it does not explicitly say when to use it versus alternatives like get_presentation_info or mention any exclusions. The context makes the primary use case obvious, but the lack of explicit guidance on alternatives leaves a minor gap.
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 behavioral annotations are provided (no readOnly/destructive hints), so the description carries the burden. It does disclose that saving is in-place (equivalent to Ctrl+S), implying an overwrite, but it doesn't describe failure modes, permission requirements, or whether a confirmation prompt might occur. This is adequate for a simple save but not exhaustive.
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 extremely concise, with the action stated in the first line, followed by a brief Args/Returns structure. Every sentence earns its place, and the most important information is front-loaded.
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 save operation, the description covers the primary action, parameter semantics, and return type. It doesn't address edge cases like saving a non-existent presentation or error handling, but these are minor for this operation and the output schema isn't present. It's complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, but the description explicitly defines the sole parameter: 'presentation: Presentation name or path (None = active presentation).' This fully explains the parameter's meaning and default behavior, compensating completely for the schema's lack of description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Save') and resource ('an open presentation') with the clarification 'in place' and the Ctrl+S equivalence. It is unambiguous and distinct from siblings, none of which perform a save operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the tool is for persisting changes to an open presentation. It doesn't explicitly mention alternatives (none exist among siblings) or exclusion criteria, but the action is obvious. The wording 'Save an open presentation in place' gives enough contextual clarity for an agent to choose it when a save is needed.
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?
Annotations already signal destructiveHint=true, so the delete behavior is disclosed. The description adds useful context beyond the annotation: it states the comment belongs to a slide, requires 1-based indices, and returns a JSON confirmation. It does not describe error behavior for invalid indices, but the destructive hint lowers the burden.
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 compact, front-loaded with the core action, and uses a clear Args/Returns structure. Every sentence adds useful information, with no filler or repetition of the title.
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 destructive tool with three parameters and no output schema, the description covers the key invocation details, default presentation behavior, required parameters, and return type. It is slightly incomplete in that it does not address invalid-index handling or mention permanence, but the destructiveHint annotation partially covers the latter.
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?
With 0% schema description coverage, the description carries the full burden for parameter meaning, and it does explain all three parameters: presentation, slide_index, and index. It even clarifies base indexing and the source of the index. However, the description marks slide_index and index as required while the schema gives them default null and no required list, creating a potentially confusing discrepancy.
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 opens with a precise verb and resource: 'Delete a comment from a slide.' It is clearly distinct from sibling tools like delete_slide, delete_shape, add_comment, and get_comments because it names the comment as the target object and specifies its location on a slide.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear procedural guidance: slide_index and index are both required, and index should be obtained from get_comments. It does not explicitly name alternatives or say when not to use the tool, but the 'from get_comments' hint gives an agent a concrete workflow.
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?
Annotations only include a title, so the description carries the full burden. It clearly states it adds a new text box and returns JSON with the shape's name and index. It does not state side effects like whether the presentation is saved or if the operation is reversible, but for an add operation, this is adequate transparency without contradictions.
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 concise summary followed by a clear, bulleted list of arguments and the return value. Every word earns its place, and the purpose is front-loaded. The structure is easy to parse and non-redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple add operation with 7 parameters, the description covers all parameters and the return value. It includes essential details like 1-based indexing and points as units. There is no output schema, so describing the return type is necessary and done. No crucial information is missing for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), so the description must compensate. It entirely does so: it explains 'presentation' as name/path with None meaning active, specifies slide_index is 1-based and required, describes text content, and notes left/top/width/height are in points. This adds significant meaning beyond the plain 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 clearly states the verb, resource, and target: 'Add a text box to a slide.' This distinguishes it from sibling tools like add_slide or set_shape_text. The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool by specifying that it adds a text box and requires a slide_index. It does not explicitly name alternative tools or conditions when not to use it, but the purpose is self-evident. The description also clarifies that presentation is optional (None = active), which is useful.
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?
The annotations already declare readOnlyHint=true. The description adds meaningful behavioral context beyond that: the output format is determined by file extension, the returned JSON contains the absolute path, and presentation=None targets the active presentation. It does not contradict the read-only annotation because exporting does not mutate the presentation.
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 compact and well-organized with Args and Returns sections. Every sentence adds useful information, including the verification use case. There is no repetition of schema defaults or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, no output schema, and only a readOnlyHint annotation, the description is complete: it documents every parameter, explains the return contract, and gives a concrete scenario for when the tool is valuable. The required-parameter guidance also resolves ambiguity left by the schema's default-null fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden of documenting parameters. It explains all five parameters: presentation name/path semantics, 1-based slide index, required output_path with extension-driven format selection, and width/height as pixel dimensions. This goes well beyond the bare schema defaults.
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 opens with a specific verb and resource: 'Export a slide to an image file for visual verification.' This clearly identifies what the tool does and distinguishes it from sibling tools like get_slide_text or list_shapes, which provide non-visual inspection. No other sibling tool exports an image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: visual verification of overlapping shapes, text overflow, or layout regressions after an edit. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5, but the intended usage context is unmistakable.
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?
Annotations already declare readOnlyHint=true, so the description does not need to repeat that. It adds value by specifying the return format (JSON with index, author, text, position) and clarifying the required nature of slide_index, which goes beyond the schema. It does not cover edge cases like empty comment lists or out-of-bounds indices, but these are not critical for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a one-line purpose statement followed by Args and Returns sections. Every sentence earns its place, and the key information is front-loaded, allowing an agent to quickly understand the tool without wading through fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward read-only tool with two simple parameters, the description covers everything needed: what it does, the arguments (including semantics and required status), and the return structure. Since output schema is absent, the explicit return description is crucial, and no other important information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description compensates for the total absence of schema descriptions by explaining both parameters: presentation is a name/path (None = active presentation) and slide_index is a 1-based index that is required. This directly resolves ambiguity in the schema, where slide_index has a default but no documentation, making it clear how to invoke the tool correctly.
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 ('List') and resource ('all comments on a slide'), making the tool's function unambiguous. It naturally distinguishes itself from sibling tools like add_comment and delete_comment, and the mention of slide_index clarifies the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this tool to list comments on a specific slide, with the slide_index required and presentation optional. It does not explicitly state exclusions or alternatives, but the sibling list (add_comment, delete_comment) makes the read-only use case obvious, so the lack of explicit when-not guidance is a minor gap.
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?
Annotations provide only a title with no read-only or destructive hints, so the description carries the burden. It discloses the mutation behavior, the partial-update semantics, that presentation is optional but shape and slide_index are required, and that the return value is a JSON with resulting position and size. This goes well beyond annotations without contradicting them.
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 compact and well-structured. The one-line purpose statement is front-loaded, followed by an Args section that maps cleanly to parameters, and a short Returns line. Every sentence adds value with no repetition of schema content or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given seven parameters, no output schema, and minimal annotations, this description provides everything an agent needs to call the tool correctly: parameter semantics, required fields, units, optional-dependency behavior, and return value shape. No critical operational detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fills the gap thoroughly. It explains each parameter's purpose, marks required fields, specifies that slide_index is 1-based, says presentation can be a name/path or None for active presentation, and clarifies that the four geometry parameters are in points and unchanged when None. This is far more informative than the bare 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 opens with a specific verb and resource: 'Move and/or resize a shape.' This clearly distinguishes it from sibling tools like format_shape (which handles styling) and set_shape_text (which handles text). It also states the important partial-update behavior ('Only provided arguments are changed'), making the tool's exact purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage for repositioning/resizing shapes and notes that only provided arguments are changed. It does not explicitly name alternatives or state when not to use this tool, but the combination of behavior and required parameters gives an agent enough context to select it correctly among the listed siblings.
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/trustypangolin/powerpoint-mcp-live'
If you have feedback or need assistance with the MCP directory API, please join our Discord server