Skip to main content
Glama

power-point-mcp

An MCP (Model Context Protocol) server that lets Claude read, create, and edit a single, pre-bound PowerPoint file. Bind the server to one .pptx and one optional template via environment variables; the server refuses to touch anything else on disk. Claude can then ask for slide metadata, list slides, read a slide's shapes, create the file from your template, and add new slides whose text comes only from the user.

Prerequisites

  • Python 3.14 (matches .python-version).

  • uv for environment and dependency management.

That is the entire toolchain. Nothing is installed globally.

Related MCP server: mcp-powerpoint

Setup

git clone <this-repo-url> power-point-mcp
cd power-point-mcp
uv sync                  # runtime deps into a local .venv
uv sync --group dev      # add pytest for running the test suite

For a step-by-step walkthrough including Claude Desktop wiring and troubleshooting, see SETUP.md.

Configuration

The server is bound to a single PPTX file via environment variables:

Variable

Required

Purpose

PPTX_TARGET

yes

Absolute path to the one .pptx the server may touch.

PPTX_TEMPLATE

no

Absolute path to a .pptx or .potx template, if any.

If PPTX_TARGET is unset, the server refuses to start.

You can put these in a .env file at the repo root (copy .env.example) instead of exporting them every time. os.environ wins over .env so a one-off override on the command line still works. Run uv run power-point-mcp --doctor to validate the environment without starting the server.

Running locally

PPTX_TARGET=/abs/path/to/deck.pptx \
PPTX_TEMPLATE=/abs/path/to/template.pptx \
uv run power-point-mcp

The server speaks MCP over stdio (FastMCP's default transport).

Claude Desktop configuration

Add an entry like this to your Claude Desktop MCP config:

{
  "mcpServers": {
    "power-point-mcp": {
      "command": "uv",
      "args": ["run", "power-point-mcp"],
      "env": {
        "PPTX_TARGET": "/abs/path/to/deck.pptx",
        "PPTX_TEMPLATE": "/abs/path/to/template.pptx"
      }
    }
  }
}

Tools exposed

  • presentation_info() — slide count, dimensions, layouts, master.

  • list_slides() — index, layout, title, text snippet for every slide.

  • list_layouts() — name, idx, and placeholder names for every layout.

  • read_slide(slide_index) — every shape on one slide, with its text.

  • create_presentation_from_template(overwrite=False) — initialise the bound target from PPTX_TEMPLATE.

  • add_slide(layout_name, placeholders) — append a slide using a named layout; only fills placeholders you supply.

  • set_slide_placeholder(slide_index, placeholder_name, text) — set a placeholder on an existing slide by name.

  • set_slide_placeholder_by_idx(slide_index, placeholder_idx, text) — set a placeholder by its layout idx.

  • set_slide_title(slide_index, text) — set the title placeholder of a slide.

  • delete_slide(slide_index) — remove a slide.

  • reorder_slide(slide_index, new_index) — move a slide to a new position.

Pair this server with the academic-pptx-skill. It provides the slide-design conventions and prompts; this MCP gives Claude the file-system hands to actually write the deck.

Security note

The server only ever reads or writes PPTX_TARGET. Every path the tools receive is routed through a single security check that compares it against the bound target and rejects anything else. There is no network code in the package.

Development

uv sync --group dev
uv run pytest

See docs/architecture.md for the layering and where to add new tools.

Available Tools

10 tools
add_slideB

Add a slide using layout_name; fill ONLY supplied placeholders.

ParametersJSON Schema
NameRequiredDescriptionDefault
layout_nameYes
placeholdersNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It mentions that only supplied placeholders are filled, but omits side effects, permissions, or impact on existing slides.

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

Conciseness3/5

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

The description is very short and front-loaded, but it is too sparse; it could add more detail without becoming long-winded.

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

Completeness2/5

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

Given no annotations, two parameters, and an output schema, the description fails to cover usage context, error conditions, or return value expectations.

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

Parameters2/5

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

Schema coverage is 0%, yet the description only vaguely references 'layout_name' and 'placeholders' without explaining their meaning or format beyond what the schema already shows.

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

Purpose5/5

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

The description clearly states the action ('Add a slide') and the key behavior ('fill ONLY supplied placeholders'), distinguishing it from sibling tools like delete_slide or list_slides.

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

Usage Guidelines3/5

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

The description implies when to use (add a slide) and hints at scope ('ONLY supplied'), but does not explicitly contrast with alternatives like set_slide_placeholder or reorder_slide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_presentation_from_templateC

Create the bound target file from PPTX_TEMPLATE.

ParametersJSON Schema
NameRequiredDescriptionDefault
overwriteNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose behavioral traits such as whether creation is idempotent, what happens on overwrite, or required permissions. The brief description adds minimal transparency.

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

Conciseness2/5

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

The description is extremely short but lacks essential information, making it under-specified rather than concise. Every sentence should add value; here the single sentence is ambiguous.

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

Completeness2/5

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

Given the presence of an output schema (unknown content), the description still leaves major gaps: 'bound target file' is undefined, no mention of how the template is specified, and no explanation of the overwrite parameter. Incomplete for effective tool selection and invocation.

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

Parameters1/5

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

The only parameter 'overwrite' has a schema with default and title but no description. The tool description does not mention this parameter or explain its behavior, leaving the agent to guess. With 0% schema description coverage, the description fails to compensate.

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

Purpose3/5

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

Description mentions creating a file from PPTX_TEMPLATE but uses vague phrase 'bound target file' without specifying that the tool creates a presentation from a template. The purpose is somewhat clear but lacks specificity and does not distinguish from sibling tools like 'add_slide' or '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/5

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

No guidance on when to use this tool versus alternatives such as manually creating slides or using other presentation-related tools. No context is provided about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_slideC

Remove a slide from the bound presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
slide_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only says 'Remove' but does not disclose destructive side effects, error conditions, or any behavioral requirements. With no annotations, the description fails to inform the agent about the tool's implications.

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

Conciseness3/5

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

The description is very concise, consisting of a single sentence. However, it sacrifices necessary details for brevity. It is not optimally structured, lacking any front-loading of critical information.

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

Completeness1/5

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

Given the tool has one parameter with no schema description, no annotations, and an output schema, the description is severely incomplete. It does not explain the return value, parameter meaning, or context of the 'bound presentation'. The description leaves many gaps for an AI agent.

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

Parameters1/5

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

The input schema has one parameter (slide_index) with no description, and the tool description does not elaborate on how the parameter should be used or its valid range. Schema description coverage is 0%, and the description adds no value.

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

Purpose5/5

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

The description clearly states the verb 'Remove' and the resource 'a slide from the bound presentation', making the tool's purpose unambiguous. It's distinct from sibling tools like add_slide or reorder_slide.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of constraints, prerequisites, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_slidesA

List every slide with its layout, title, and a short text snippet.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosing behavioral traits. It only states what the tool lists but does not explicitly indicate it is a read-only operation, whether it requires authentication, or any other behavioral 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/5

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

The description is a single, front-loaded sentence with no unnecessary words. Every part earns its place.

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

Completeness4/5

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

Given the tool's simplicity (0 parameters) and the existence of an output schema, the description is largely complete. It could mention that it returns all slides without filtering, but it is adequate for a minimal listing tool.

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

Parameters4/5

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

There are no parameters (0 params), and the schema coverage is 100%. The description does not need to add parameter info; it indirectly describes the output (layout, title, snippet) which is not part of parameters, so baseline 4 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'slides', and specifies that it includes layout, title, and a short text snippet. It distinguishes itself from siblings like 'read_slide' (single slide) and 'presentation_info' (presentation-level 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/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'read_slide' for a specific slide or 'presentation_info' for overall details. It does not mention exclusions or context for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

presentation_infoA

Return high-level facts about the bound presentation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It only vaguely mentions 'high-level facts' without specifying read-only nature, performance, side effects, or any other behavioral traits.

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

Conciseness5/5

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

A single, clear sentence that communicates the tool's purpose without any wasted words.

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

Completeness4/5

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

Given that there are no parameters and an output schema exists, the description is reasonably complete. It could benefit from specifying a few example facts, but the output schema presumably covers details.

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

Parameters4/5

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

Schema has zero parameters (coverage 100%). Baseline for no parameters is 4. The description does not need to add parameter meaning, but it briefly indicates the kind of output (high-level facts).

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

Purpose5/5

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

Description clearly states 'Return high-level facts about the bound presentation', using a specific verb+resource. It distinguishes from sibling tools (add_slide, list_slides, etc.) which focus on slides rather than the presentation itself.

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

Usage Guidelines3/5

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

The description implies usage when high-level presentation facts are needed, but provides no explicit guidance on when to use versus alternatives, nor any conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_slideC

Return shape-level details for a single slide.

ParametersJSON Schema
NameRequiredDescriptionDefault
slide_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose any behavioral traits such as mutability, performance, or error conditions.

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

Conciseness3/5

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

One concise sentence, but it lacks depth; no waste but also no valuable detail.

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

Completeness2/5

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

Despite having an output schema that handles return values, the description omits essential usage context and parameter specifics for a minimal tool.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no parameter-level meaning beyond the schema property name.

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

Purpose5/5

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

The description clearly states the verb 'Return' and the resource 'shape-level details for a single slide', distinguishing it from sibling tools like list_slides or add_slide.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no explicit context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reorder_slideC

Move a slide to a new position.

ParametersJSON Schema
NameRequiredDescriptionDefault
slide_indexYes
new_indexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral traits. It fails to disclose whether indices are zero-based or one-based, what happens to other slides (if positions shift), or any side effects. This is a critical gap for safe usage.

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

Conciseness4/5

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

The description is a single concise sentence, which is easy to parse. However, extreme brevity sacrifices necessary detail, so while efficient, it is not optimally informative.

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

Completeness2/5

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

Given the tool has only two parameters and an output schema exists, the description still fails to provide basic context such as index conventions, return value information, or error conditions. It is incomplete for a tool that could easily mislead if used without understanding index handling.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the meaning of 'slide_index' or 'new_index' beyond their names. There is no indication of constraints like range, required order, or exclusivity, so the description adds no value over the schema.

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

Purpose4/5

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

The description 'Move a slide to a new position' clearly states the action and resource, using a specific verb and noun that distinguishes it from deletion or addition verbs, though it does not explicitly differentiate from sibling tools like reorder_slide vs. delete_slide+add_slide.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as delete_slide or add_slide, nor are there any prerequisites or context (e.g., only for existing presentations). The description lacks any explicit usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_slide_placeholderC

Set a placeholder on an existing slide by its name.

ParametersJSON Schema
NameRequiredDescriptionDefault
slide_indexYes
placeholder_nameYes
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It only says 'set a placeholder,' lacking details on what happens if the placeholder doesn't exist, whether text overwrites, or any side effects. Minimal transparency.

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

Conciseness3/5

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

The description is only one sentence, which is concise, but it sacrifices necessary detail. It is appropriately front-loaded but too brief to be fully effective.

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

Completeness2/5

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

Given the tool has 3 required parameters, no annotations, and only 0% schema description coverage, the description is insufficient. Even though an output schema exists (not examined), the description lacks details on parameter purpose, behavior, and usage context.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate. It only hints at 'placeholder_name' via 'by its name,' but does not explain 'slide_index' (e.g., indexing, required) or 'text' (e.g., format, character limits). Fails to add meaning beyond schema.

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

Purpose4/5

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

The description states a specific verb ('Set') and resource ('placeholder on a slide'), and mentions 'by its name,' which hints at distinguishing from sibling 'set_slide_placeholder_by_idx'. However, it does not explicitly differentiate, so purpose is clear but not maximally helpful.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'set_slide_placeholder_by_idx'. No prerequisites, context, or exclusions are provided, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_slide_placeholder_by_idxC

Set a placeholder on an existing slide by its layout idx.

ParametersJSON Schema
NameRequiredDescriptionDefault
slide_indexYes
placeholder_idxYes
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It fails to mention side effects (e.g., overwriting existing content), error conditions (e.g., invalid index), required permissions, or what the tool returns. The existence of an output schema does not compensate for the lack of description.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it lacks structure and omits critical details. Every sentence should earn its place, but this one is too brief to be fully helpful.

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

Completeness2/5

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

Given the tool's moderate complexity (3 required params, no schema descriptions), the description is incomplete. It does not explain the output, error behavior, or any constraints like valid indices. The presence of an output schema is not leveraged. The tool could not be used reliably without additional knowledge.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate. It only explains 'placeholder_idx' as a layout index, but leaves 'slide_index' (presumably slide position) and 'text' (content to set) largely implicit. The phrase 'set a placeholder' does not clarify that 'text' is the value to set on an existing placeholder, leading to ambiguity.

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

Purpose4/5

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

The description clearly states the verb 'Set' and the resource 'placeholder on an existing slide', and specifies the method 'by its layout idx', distinguishing it from the sibling 'set_slide_placeholder' which likely uses a different identifier. However, the wording 'set a placeholder' is slightly ambiguous about whether it creates or updates content, given that 'text' is a parameter.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool vs. alternatives like 'set_slide_placeholder' or 'set_slide_title'. The description does not mention prerequisites, required order of operations, or any conditions under which the tool should be avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_slide_titleC

Set the title placeholder of a slide.

ParametersJSON Schema
NameRequiredDescriptionDefault
slide_indexYes
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only says 'set', implying a mutation, but does not disclose side effects (e.g., overwrites existing title), behavior when no title placeholder exists, or whether the operation is reversible. No annotations are provided, so the description should bear the full burden but fails.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It does not front-load critical information (e.g., mutation behavior) and provides only a bare statement.

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

Completeness2/5

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

For a tool with two parameters and no annotations, the description is incomplete. It omits parameter explanations, behavior details, and return value despite an output schema existing. The sibling tools like set_slide_placeholder suggest broader functionality, but this description does not cover the specific context.

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

Parameters1/5

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

With 0% schema description coverage, the description adds no meaning to the parameters (slide_index and text). The schema provides titles but no explanations; the description does not clarify what slide_index refers to (e.g., what indexing scheme) or any text formatting constraints.

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

Purpose4/5

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

The description clearly states the tool sets the title placeholder of a slide, distinguishing it from generic placeholder setters like set_slide_placeholder. However, it does not explicitly differentiate from set_slide_placeholder_by_idx, which might also target the title placeholder by index.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives (e.g., set_slide_placeholder, read_slide). The description lacks prerequisites or context for use, such as requiring a presentation to be open.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.2.1
    • First observedadd_slide
    • First observedcreate_presentation_from_template
    • First observeddelete_slide
    • First observedlist_slides
    • First observedpresentation_info
    • First observedread_slide
    • First observedreorder_slide
    • First observedset_slide_placeholder
    • First observedset_slide_placeholder_by_idx
    • First observedset_slide_title

TDQS

B3/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes, but set_slide_placeholder and set_slide_placeholder_by_idx could cause confusion as both set placeholders via different identifiers; however, descriptions clarify the difference.

Naming Consistency4/5

Tools follow a consistent verb_noun pattern in snake_case, e.g., add_slide, delete_slide. The exception is presentation_info, which lacks a verb, but overall the naming is predictable.

Tool Count5/5

10 tools cover the essential operations for PowerPoint slide management (create, read, update, delete, reorder) without being excessive or sparse for the domain.

Completeness3/5

The set covers core slide lifecycle and placeholder manipulation, but lacks tools for adding custom shapes, images, or saving/exporting, which may be needed for full PowerPoint editing.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers