Google Slides MCP Server

Google Slides MCP Server

Google 幻灯片的 MCP 服务器

matteoantoci

开发者工具
访问服务器

README

Google Slides MCP 服务器

本项目提供了一个模型上下文协议 (MCP) 服务器,用于与 Google Slides API 交互。它允许您以编程方式创建、读取和修改 Google Slides 演示文稿。

前提条件

  • Node.js (建议 v18 或更高版本)
  • npm (通常随 Node.js 一起提供)
  • 启用了 Google Slides API 的 Google Cloud 项目。
  • Google Cloud 项目的 OAuth 2.0 凭据(客户端 ID 和客户端密钥)。
  • 与 OAuth 2.0 凭据和必要的 Google Slides API 范围关联的 Google 刷新令牌。

设置

  1. 克隆存储库(如果适用)或确保您位于项目目录中。

  2. 安装依赖项:

    npm install
    
  3. 获取 Google API 凭据:

    • 转到 Google Cloud Console
    • 创建一个新项目或选择一个现有项目。
    • 导航到“API 和服务”>“已启用的 API 和服务”。
    • 单击“+ 启用 API 和服务”,搜索“Google Slides API”,然后启用它。
    • 导航到“API 和服务”>“凭据”。
    • 单击“+ 创建凭据”>“OAuth 客户端 ID”。
    • 如果出现提示,请配置 OAuth 同意屏幕。对于“用户类型”,选择“外部”,除非您拥有 Google Workspace 帐户并希望在内部限制它。提供应用名称、用户支持电子邮件和开发者联系信息。
    • 在同意屏幕设置期间的“范围”页面上,单击“添加或删除范围”。搜索并添加以下范围:
      • https://www.googleapis.com/auth/presentations(用于查看和管理您的演示文稿)
      • (可选:如果需要用于特定操作(如列出文件),则添加 https://www.googleapis.com/auth/drive.readonly 或其他 Drive 范围,尽管对于基本的 Slides 操作并非严格要求)
    • 保存同意屏幕配置。
    • 返回“凭据”,单击“+ 创建凭据”>“OAuth 客户端 ID”。
    • 选择“桌面应用”作为应用程序类型。
    • 为其命名(例如,“Slides MCP Client”)。
    • 单击“创建”。您将看到您的客户端 ID客户端密钥。**安全地复制这些信息。**您还可以下载包含这些凭据的 JSON 文件。
  4. 获取 Google 刷新令牌:

    • 刷新令牌允许服务器获取新的访问令牌,而无需每次都进行用户交互。生成刷新令牌通常涉及一次性授权流程。
    • 您可以使用 Google OAuth 2.0 Playground 来完成此操作:
      • 转到 OAuth 2.0 Playground。
      • 单击右上角的齿轮图标(设置)。
      • 选中“使用您自己的 OAuth 凭据”。
      • 输入您在上一步中获得的客户端 ID客户端密钥
      • 在左侧的“步骤 1 - 选择并授权 API”部分中,找到“Slides API v1”并选择 https://www.googleapis.com/auth/presentations 范围(以及您添加的任何其他 Drive 范围)。
      • 单击“授权 API”。
      • 使用您希望服务器代表其执行操作的 Google 帐户登录。
      • 授予请求的权限。
      • 您将被重定向回 Playground。在“步骤 2 - 交换授权码以获取令牌”中,您应该看到刷新令牌和访问令牌。安全地复制刷新令牌。
  5. 在 MCP 设置中配置凭据: 找到您的 MCP 设置文件(例如,.../User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json)。找到 "google-slides-mcp" 的条目,并使用您的实际凭据更新其 "env" 块:

    "google-slides-mcp": {
      // ... 其他设置 ...
      "env": {
        "GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID",
        "GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "GOOGLE_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
      }
      // ... 其他设置 ...
    }
    

    YOUR_CLIENT_IDYOUR_CLIENT_SECRETYOUR_REFRESH_TOKEN 替换为您获得的实际值。MCP 运行器将在服务器启动时将这些值注入到服务器的环境中。

构建服务器

将 TypeScript 代码编译为 JavaScript:

npm run build

这将创建一个包含已编译 JavaScript 代码的 build 目录。

运行服务器

执行已编译的代码:

npm run start

服务器将启动并侦听标准输入/输出 (stdio) 上的 MCP 请求。您应该看到类似以下的消息:Google Slides MCP server running and connected via stdio.

可用工具

服务器通过模型上下文协议公开以下工具:

  • create_presentation: 创建一个新的 Google Slides 演示文稿。

    • 输入:
      • title (字符串,必需):新演示文稿的标题。
    • 输出: 表示已创建演示文稿详细信息的 JSON 对象。
  • get_presentation: 检索有关现有演示文稿的详细信息。

    • 输入:
      • presentationId (字符串,必需):要检索的演示文稿的 ID。
      • fields (字符串,可选):一个字段掩码(例如,“slides,pageSize”),用于限制返回的数据。
    • 输出: 表示演示文稿详细信息的 JSON 对象。
  • batch_update_presentation: 将一系列更新应用于演示文稿。这是修改幻灯片(添加文本、形状、图像、创建幻灯片等)的主要方法。

    • 输入:
      • presentationId (字符串,必需):要更新的演示文稿的 ID。
      • requests (数组,必需):定义更新的请求对象数组。有关单个请求的结构,请参阅 Google Slides API batchUpdate 文档
      • writeControl (对象,可选):控制写入请求执行(例如,使用修订 ID)。
    • 输出: 表示批量更新结果的 JSON 对象。
  • get_page: 检索有关演示文稿中特定页面(幻灯片)的详细信息。

    • 输入:
      • presentationId (字符串,必需):包含该页面的演示文稿的 ID。
      • pageObjectId (字符串,必需):要检索的页面(幻灯片)的对象 ID。
    • 输出: 表示页面详细信息的 JSON 对象。

(可以通过扩展 src/index.ts 添加更多工具)

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript