Skip to main content
Glama

Alai - AI 演示文稿制作 MCP 服务器

Alai MCP server

适用于 Claude、Cursor 和 MCP 客户端的 AI 演示文稿制作与幻灯片生成工具。通过文本即可创建设计师级别的演示文稿、推介演示(pitch decks)和幻灯片。支持导出为 PowerPoint (PPTX) 和 PDF 格式。

什么是 Alai?

Alai 是一款 AI 演示文稿制作工具,是无需设计技能即可快速创建高质量、精美幻灯片的最快方式。

  • 从文本生成幻灯片 - 将笔记、Markdown、URL 或文档转换为精美的演示文稿

  • 美化现有幻灯片 - 使用 AI 重新设计并优化您的 PowerPoint 演示文稿

  • 随处导出 - 下载为 PowerPoint (PPTX)、PDF 或可分享的链接

  • 专业主题 - 适用于各种场合的设计师级模板

  • 演讲者备注 - 为每张幻灯片自动生成演讲要点

  • Nano Banana Pro 图像幻灯片 - 与演示文稿视觉风格匹配的主题感知图像幻灯片生成

  • 编辑与迭代 - 对现有幻灯片中的文本、图标和图像进行针对性修改

Related MCP server: Google Slides MCP Server

使用场景

  • 推介演示 (Pitch decks) - 根据您的笔记创建适合投资人的演示文稿

  • 销售演示 - 为潜在客户生成引人注目的幻灯片

  • 会议笔记转幻灯片 - 将您的笔记转换为可分享的演示文稿

  • PowerPoint 美化 - 使用专业主题重新设计现有幻灯片

  • 营销演示 - 快速构建产品和活动演示文稿

功能特性

  • 从文本、Markdown 或会议笔记生成设计师级别的演示文稿

  • AI 驱动的幻灯片美化与重新设计

  • 导出为 PowerPoint (PPTX) 或 PDF

  • 专业推介演示主题

  • 在现有演示文稿中添加和删除幻灯片

  • 通过针对性提示词编辑和迭代现有幻灯片

  • 自动生成演讲者备注

服务器 URL

https://slides-api.getalai.com/mcp/

Glama / 本地封装

本仓库包含一个本地 MCP 封装,以便 Glama 可以自动构建、启动和检查服务器。

该封装通过 stdio 运行,并将工具调用转发到托管的 Alai MCP 端点:

  • ALAI_MCP_URL - 可选,用于覆盖上游 MCP URL

  • ALAI_API_KEY - 可选,转发工具调用到上游时使用的 API 密钥

  • api_key - Glama 占位符参数支持的替代环境变量名称

工具自省功能无需凭据即可工作,这足以让 Glama 检查服务器。实际的工具执行需要有效的 API 密钥。

本地运行

npm install
npm start

使用上游凭据:

ALAI_API_KEY=sk_your_key npm start

身份验证

服务器在同一端点接受静态 API 密钥或 OAuth 2.1 持有者令牌(Bearer token)。

API 密钥

从 getalai.com 获取密钥,并通过以下任一标头传递:

  • api-key: sk_your_key

  • Authorization: Bearer sk_your_key

带有动态客户端注册的 OAuth 2.1

服务器实现了 RFC 9728 受保护资源元数据,并将授权委托给 Supabase,后者支持 RFC 7591 动态客户端注册和 PKCE (S256)。符合规范的 MCP 客户端(例如 Claude Desktop、MCP Inspector)可以自动发现该流程:

GET https://slides-api.getalai.com/.well-known/oauth-protected-resource

响应中的 authorization_servers 条目指向 Supabase 授权服务器,其 /.well-known/oauth-authorization-server 文档会发布 registration_endpoint、authorization_endpoint 和 token_endpoint。在完成授权码 + PKCE 流程后,客户端向 MCP 端点发送 Authorization: Bearer <jwt>。

可用工具

工具

描述

ping

验证您的 API 密钥并返回您的用户 ID

generate_presentation

从文本内容创建演示文稿

get_generation_status

检查异步操作状态

get_themes

列出已认证用户可用的主题

get_vibes

列出已认证用户可用的氛围(视觉风格)

get_presentations

列出您所有的演示文稿

create_slide

向现有演示文稿添加幻灯片(经典或创意)

delete_slide

从演示文稿中删除幻灯片

export_presentation

导出为 PDF、PPTX 或可分享链接

generate_transcripts

为幻灯片生成演讲者备注

delete_presentation

永久删除演示文稿

工作流程

  1. 使用您的内容调用 generate_presentation

  2. 每 2-5 秒轮询一次 get_generation_status,直到状态为 completed

  3. 使用返回的 presentation_id 进行后续操作

使用示例

生成演示文稿

首先调用 get_themes 和 get_vibes 以发现您账户可用的 ID,然后传入它们:

{
  "input_text": "Benefits of AI in the workplace: increased productivity, enhanced creativity, improved efficiency",
  "title": "AI in the Workplace",
  "theme_id": "<id from get_themes>",
  "vibe_id": "<id from get_vibes>",
  "slide_range": "2-5",
  "include_ai_images": true,
  "num_creative_variants": 1,
  "total_variants_per_slide": 1,
  "image_ids": [],
  "export_formats": ["link"],
  "language": "English"
}

仅 input_text 是必需的。num_creative_variants 必须为 0–2(使用 vibe_id 时设置为 ≥1)。total_variants_per_slide 必须为 1–4。export_formats 接受 "link"、"pdf"、"ppt"。

检查生成状态

{
  "generation_id": "abc123-def456"
}

导出演示文稿

{
  "presentation_id": "xyz789",
  "formats": ["pdf", "link"]
}

可用主题

调用 get_themes 以发现您账户可用的主题(返回主题 ID 和显示名称)。您可以直接将以下几个内置的旧版主题名称作为 theme_id 传入:

  • AURORA_FLUX

  • MIDNIGHT_EMBER

  • EMERALD_FOREST

  • DESERT_BLOOM

  • DONUT

  • OAK

  • PRISMATICA

  • SIMPLE_LIGHT

  • SIMPLE_DARK

  • CYBERPUNK

配置

针对 Claude Desktop / MCP 客户端

支持 OAuth 的客户端(Claude Desktop、MCP Inspector、Cursor 等)只需使用 URL 即可 — 客户端将在首次连接时自动发现并运行 OAuth 2.1 + DCR 流程:

{
  "mcpServers": {
    "alai-presentations": {
      "url": "https://slides-api.getalai.com/mcp/",
      "transport": "streamable-http"
    }
  }
}

如果您希望跳过 OAuth 并使用静态 API 密钥,请添加一个标头块:

{
  "mcpServers": {
    "alai-presentations": {
      "url": "https://slides-api.getalai.com/mcp/",
      "transport": "streamable-http",
      "headers": {
        "api-key": "sk_your_api_key"
      }
    }
  }
}

链接

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

Available Tools

11 tools
create_slideAInspect

Add a new slide to an existing presentation. Use this for targeted edits after a deck already exists, including classic content slides or more creative visually led slides.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentation_idYesTarget presentation that will receive the new slide.
promptYesInstruction describing the content or intent of the new slide.
slide_typeNoChoose classic for structured content or creative for more visual exploration.
insert_after_slide_idNoExisting slide identifier after which the new slide should be inserted.
theme_idNoOptional theme override for the new slide.
vibe_idNoOptional vibe override for the new slide.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must bear the full burden. It discloses the mutation (adding a slide) and mentions slide types, but lacks details on side effects, authentication, rate limits, or error behavior. Adequate but not rich.

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

Conciseness5/5

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

The description is concise with two clear sentences. It front-loads the main purpose and follows with usage context. No unnecessary 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 6 parameters with full schema descriptions and no output schema, the description provides adequate context for a creation tool. It mentions slide types and targeted edits, which is sufficient for most use cases.

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

Parameters3/5

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

The schema covers all 6 parameters with descriptions (100% coverage). The description adds minimal extra meaning beyond the schema, such as explaining 'classic' vs 'creative' slide types. Baseline 3 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 action (Add a new slide), the target resource (existing presentation), and distinguishes from siblings like generate_presentation (creates whole deck) and delete_slide (removes). The scope is well-defined.

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

Usage Guidelines4/5

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

The description explicitly mentions using this for targeted edits after a deck already exists, which provides clear context. It does not explicitly state when not to use it or list alternatives, but the sibling tool names imply other use cases.

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

delete_presentationAInspect

Delete a presentation permanently. Use this destructive action only when the caller explicitly intends to remove the deck.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentation_idYesPresentation identifier to delete permanently.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the destructive and permanent nature, but lacks details on cascading effects, permissions, or rate limits. Adequate for a simple delete action.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the purpose and usage condition. No unnecessary 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?

The tool is simple with one parameter and no output schema. The description covers purpose, usage, and a key behavioral trait (permanence). It could mention return values or error conditions but is sufficient for the tool's simplicity.

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

Parameters3/5

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

Schema coverage is 100%, and the description of the sole parameter matches the schema. The description adds no extra meaning beyond what the schema already provides, meeting the baseline.

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 (delete) and the resource (presentation), with the modifier 'permanently' that distinguishes it from non-destructive operations. Sibling tools like delete_slide operate on different resources.

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

Usage Guidelines4/5

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

The description explicitly advises using this tool only when the caller intends permanent removal, providing a clear 'when to use' condition. It does not mention when not to use, but the condition covers that implicitly.

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

delete_slideAInspect

Remove a slide from a presentation permanently. Use this only when you know the exact slide identifier to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentation_idYesPresentation that owns the slide.
slide_idYesSlide identifier to remove from the presentation.

TDQS

A4/5.0
Behavior3/5

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

The description indicates the action is permanent ('permanently'), which is useful for a delete operation. However, it lacks details on side effects (e.g., impact on references, undo ability), and there are no annotations to supplement this. The description is adequate but not thorough for a destructive tool.

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

Conciseness5/5

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

The description consists of two short, front-loaded sentences with no unnecessary words. Every sentence adds value: first states the action, second provides usage context.

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?

For a simple delete tool with two parameters and no output schema, the description covers the essential purpose and usage condition. It could mention whether deletion is reversible, but overall it is sufficient for an agent to understand and invoke the tool correctly.

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

Parameters3/5

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

The input schema provides complete descriptions for both parameters (presentation_id, slide_id), achieving 100% coverage. The tool description adds no additional meaning beyond what the schema already conveys, so the baseline score of 3 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 action ('Remove a slide from a presentation permanently') with a specific verb and resource, and it distinguishes itself from sibling tools like create_slide and delete_presentation by focusing on slides.

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

Usage Guidelines4/5

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

The description provides explicit guidance: 'Use this only when you know the exact slide identifier to delete.' This tells the agent when to use the tool, though it doesn't mention alternatives 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.

export_presentationAInspect

Export a finished presentation to PDF, PowerPoint, or a shareable link. Use this after generation or editing when you need a deliverable artifact.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentation_idYesPresentation to export.
formatsYesOne or more export formats to generate.

TDQS

A3.7/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 transparency. It does not disclose whether the original presentation is modified, what permissions are required, rate limits, or behavior if the presentation is not finished. This is a significant gap for a tool that produces external artifacts.

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 consists of two concise sentences that front-load the action and outputs, then provide usage context. No unnecessary words.

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

Completeness3/5

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

For a 2-parameter tool with no output schema, the description covers the basic purpose and usage context. However, it is incomplete regarding return values or side effects, which would be helpful for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, and the description adds minimal extra meaning beyond the schema. It reiterates the formats but does not elaborate on parameter syntax or constraints. Baseline of 3 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 tool exports a presentation to specific formats (PDF, PowerPoint, link), using a specific verb and resource. It distinguishes from sibling tools like create_slide or delete_presentation by focusing on the export action.

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

Usage Guidelines4/5

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

The description advises using the tool 'after generation or editing when you need a deliverable artifact,' providing clear usage context. However, it does not explicitly state when not to use it or mention alternatives, though none exist among siblings.

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

generate_presentationAInspect

Create a new presentation from raw text or markdown. Use this to turn notes, outlines, meeting summaries, or draft content into an Alai deck before polling get_generation_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
input_textYesThe source content to transform into slides.
titleNoPresentation title shown in the deck and exports.
theme_idNoTheme identifier from get_themes. Use this to control layout family.
vibe_idNoVisual style identifier from get_vibes. Use only after discovering valid IDs.
languageNoPresentation language, for example English or Spanish.
export_formatsNoFormats to generate when the deck is ready.
slide_rangeNoRequested slide count range such as 2-5.
include_ai_imagesNoWhether Alai should generate image content for slides.
num_creative_variantsNoHow many creative variants to generate per slide.
total_variants_per_slideNoTotal variant count to generate for each slide.
image_idsNoExisting uploaded image identifiers to reuse in the deck.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It correctly implies the tool is asynchronous (by mentioning polling), but does not disclose auth needs, side effects, or error behavior. The description is adequate but could be more explicit about the generation process.

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 two sentences, front-loaded with the action verb 'Create'. Every word serves a purpose with no redundancy. It is concise and easy to parse.

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

Completeness3/5

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

Given the complexity (11 parameters, no output schema), the description is minimal. It correctly sets up the workflow with get_generation_status but omits return value description, error cases, or parameter relationships (e.g., theme_id vs vibe_id). The parameter schema partially compensates.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The tool description adds no additional parameter meaning beyond the schema. It mentions 'raw text or markdown' which aligns with input_text but doesn't augment the schema.

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 tool creates a presentation from raw text or markdown, with explicit use cases (notes, outlines, meeting summaries). It distinguishes from siblings like create_slide (individual slides) and get_generation_status (polling), and even references the correct subsequent tool.

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

Usage Guidelines4/5

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

The description explains when to use the tool: to turn raw text into a deck before polling get_generation_status. It provides context for the workflow but does not explicitly exclude scenarios or mention alternatives like create_slide for single slides, though this is implied.

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

generate_transcriptsAInspect

Generate speaker notes or transcripts for slides in an existing presentation. Use this when the deck visuals are ready and you need talking points for delivery.

ParametersJSON Schema
NameRequiredDescriptionDefault
presentation_idYesPresentation whose slides need speaker notes.
slide_idsNoOptional subset of slide identifiers to process.

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It fails to mention whether the tool overwrites existing notes, is additive, or requires any permissions. The side effects and safety of the operation are unclear.

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 concise (two sentences) and well-structured, with the first sentence stating purpose and the second providing usage context. No unnecessary words.

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

Completeness3/5

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

The tool has no output schema, so the description should indicate what is returned (e.g., updated presentation, success message). It does not, leaving agents uncertain about the outcome. Additionally, it does not clarify if the operation is synchronous or async, despite a sibling tool for generation status.

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

Parameters3/5

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

Input schema coverage is 100%, with clear descriptions for both parameters. The description does not add significant meaning beyond the schema, except hinting that the output is speaker notes or transcripts. Baseline 3 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 tool's purpose: 'Generate speaker notes or transcripts for slides in an existing presentation.' It uses a specific verb ('generate') and resource ('speaker notes or transcripts for slides'), and distinguishes from sibling tools like create_slide and generate_presentation.

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

Usage Guidelines4/5

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

The description provides usage guidance: 'Use this when the deck visuals are ready and you need talking points for delivery.' It implies when to use but does not explicitly mention when not to use or suggest alternatives, leaving some ambiguity.

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

get_generation_statusAInspect

Check the status of an asynchronous presentation generation job. Use this after generate_presentation until the status reaches completed or failed.

ParametersJSON Schema
NameRequiredDescriptionDefault
generation_idYesGeneration job identifier returned by generate_presentation.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the job is asynchronous and implies polling is needed, but lacks details on response structure, possible statuses, or error handling. Basic disclosure is present but not comprehensive.

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

Conciseness5/5

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

The description is extremely concise at two sentences, front-loading the purpose and usage guidance without any filler. Every word contributes meaning.

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 (one parameter, polling for status), the description is largely complete. It covers purpose and usage timing. It could mention possible status values or retry logic, but overall adequate.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter, which already states it is a generation job identifier. The tool description adds no further semantic value for the parameter, so baseline 3 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 tool's purpose: checking the status of an asynchronous presentation generation job. It specifies the resource (generation job) and action (check status), and distinguishes it from sibling tools like generate_presentation.

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

Usage Guidelines4/5

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

The description explicitly tells the agent to use this after generate_presentation and until the status reaches completed or failed, providing clear temporal guidance. However, it does not mention alternatives 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.

get_presentationsAInspect

List presentations owned by the authenticated user. Use this when you need to pick an existing presentation_id before editing, exporting, or deleting.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It states the tool lists presentations 'owned by the authenticated user,' implying read-only access. However, it does not mention whether results are paginated, sorted, or limited, nor does it specify the output format. This is adequate for a simple list operation but leaves 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.

Conciseness5/5

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

The description is extremely concise: two sentences. The first states the action and scope, the second provides usage guidance. Every word adds value, and it is front-loaded with the core purpose.

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 no output schema and zero parameters, the description covers the tool's purpose and usage context well. It does not describe the return format or fields, which might be helpful, but the omission is minor for a listing tool that simply returns presentation objects. Sibling tools like 'get_themes' are similarly brief.

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

Parameters4/5

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

The input schema has zero parameters, so no parameter documentation is needed. The description does not add parameter-level details, but none are required. With 100% schema coverage (no params), the baseline is 4.

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 that the tool lists presentations owned by the authenticated user, using a specific verb ('List') and resource ('presentations'). It distinguishes itself from sibling tools like 'create_slide' and 'delete_presentation' by explicitly mentioning its role as a prerequisite for editing, exporting, or deleting.

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

Usage Guidelines5/5

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

The description explicitly tells when to use this tool: 'when you need to pick an existing presentation_id before editing, exporting, or deleting.' This provides clear context and alternative actions (the editing/exporting/deleting tools), helping the agent decide correctly.

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

get_themesAInspect

List themes available to the authenticated account. Call this before generate_presentation when you need valid theme_id values.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden. It indicates a read operation with no side effects, but lacks details on authentication, rate limits, or response structure. Adequate but minimal.

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?

Two sentences, both front-loaded: first defines purpose, second gives usage tip. No wasted words, excellent conciseness.

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 no parameters and no output schema, the description is mostly complete, explaining what it does and why to use it. It could mention the output format, but the tip implies theme_id values are returned. Slightly lacking, but overall adequate.

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, so the schema is fully covered. The description adds no extra parameter info, but none is needed. Baseline score for zero parameters is 4.

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 tool lists themes and specifies it's for the authenticated account. It also provides a usage tip linking to generate_presentation, distinguishing it from other list tools like get_vibes.

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

Usage Guidelines4/5

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

The description explicitly advises to call this before generate_presentation to obtain valid theme_id values, giving clear context for when to use it. It does not mention exclusions or alternatives, but the guidance is sufficient for this simple tool.

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

get_vibesAInspect

List available vibe identifiers that control the visual style of generated decks. Use this before setting vibe_id on generate_presentation or create_slide.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

No annotations are provided, but the description is straightforward about the behavior. It doesn't elaborate on response format or potential side effects, but the tool is simple with no parameters.

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?

Two concise sentences, front-loaded with the primary action and purpose. No wasted words.

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

Completeness5/5

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

For a simple listing tool with no parameters and no output schema, the description is complete. It explains what it does and when to use it.

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, and the schema coverage is 100%. The description adds no extra info about parameters, but none is needed. Baseline score of 4 applies.

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 it lists vibe identifiers for visual style, with a specific verb and resource. It differentiates its purpose from siblings like get_themes by specifying that it's for controlling deck style.

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

Usage Guidelines5/5

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

Explicitly instructs to use this tool before setting vibe_id on generate_presentation or create_slide, providing direct context for when to invoke it.

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

pingAInspect

Verify the configured Alai credentials and return account identity details. Use this first when you need to confirm authentication before creating or exporting presentations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the action (verification) and output (identity details) but omits potential side effects or error scenarios. Adequate for a simple ping.

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?

Two concise sentences: first states purpose, second gives usage context. No wasted words, front-loaded with key action.

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?

For a tool with no parameters and no output schema, the description sufficiently explains purpose and usage. Could mention error handling or latency, but contextually complete for its simplicity.

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

Parameters3/5

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

No parameters exist, and schema coverage is 100%. Description does not need to add parameter info, so baseline score applies.

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?

Clearly states the verb 'verify' and the resource 'Alai credentials', and specifies the return of 'account identity details'. Differentiates from sibling tools focused on presentation manipulation.

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

Usage Guidelines4/5

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

Explicitly advises using this tool before creating or exporting presentations to confirm authentication. Does not mention when not to use, but provides clear positive guidance.

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. 11 tool updatesv0.1.0
    • First observedcreate_slide
    • First observeddelete_presentation
    • First observeddelete_slide
    • First observedexport_presentation
    • First observedgenerate_presentation
    • First observedgenerate_transcripts
    • First observedget_generation_status
    • First observedget_presentations
    • First observedget_themes
    • First observedget_vibes
    • First observedping

TDQS

A4.1/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct action and resource, such as creating, deleting, exporting, or listing. No two tools have overlapping purposes, making it easy for an agent to select the correct one.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_slide, delete_presentation, get_themes). This predictability aids agent understanding.

Tool Count5/5

With 11 tools covering creation, deletion, export, status checking, listing, and authentication, the count is well-scoped for a presentation generation service.

Completeness3/5

The set lacks update operations (e.g., update_slide, update_presentation) and retrieval of a single presentation's details (e.g., get_slides). This could force agents to work around gaps, though core create/delete/export flows exist.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers