Connector guide11-minute read21 MCP tools7 languages

How to Connect PowerPoint (Microsoft 365) to Gemini via MCP

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

HCBy HelpCode teamUpdated 11 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

PowerPoint (Microsoft 365)

PowerPoint (Microsoft 365)

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details and version history, see a slide thumbnail, download them or get them as PDF, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account.

tools

21

Region

INTL

Category

Productivity

Authentication

OAuth 2.0

Required env vars

MICROSOFT_CLIENT_IDMICROSOFT_CLIENT_SECRETMICROSOFT_TENANT_ID
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the PowerPoint (Microsoft 365) in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

Try asking

Example prompts for PowerPoint (Microsoft 365)

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

PowerPoint (Microsoft 365) · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → PowerPoint (Microsoft 365), paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

PowerPoint (Microsoft 365) + Gemini

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID

Step 1 — Get credentials

Setting up takes about 10 minutes. You need the Microsoft account whose OneDrive or SharePoint holds the presentations, and a free app registration in Microsoft Entra.

  1. Open https://entra.microsoft.com (or https://portal.azure.com) and go to Applications → App registrations → New registration.

  2. Name the app, for example "AnythingMCP Microsoft 365", and choose the Supported account types. The choice decides what goes into MICROSOFT_TENANT_ID:

    • Accounts in this organizational directory only (single tenant): the Directory (tenant) ID from the app's Overview page (a GUID), or your domain, such as contoso.onmicrosoft.com.
    • Accounts in any organizational directory (multi-tenant): organizations.
    • Accounts in any organizational directory and personal Microsoft accounts: common (work, school and personal accounts) or consumers (personal accounts only).

    If the value does not match the account type, Microsoft refuses the sign-in with AADSTS50194 or AADSTS50020.

  3. Under Redirect URI pick the platform Web and enter <your AnythingMCP URL>/api/mcp-oauth/callback, on AnythingMCP Cloud https://cloud.anythingmcp.com/api/mcp-oauth/callback. It must match character for character, otherwise Microsoft answers AADSTS50011.

  4. Open API permissions → Add a permission → Microsoft Graph → Delegated permissions and add offline_access, User.Read and Files.ReadWrite. Add Files.ReadWrite.All as well if the AI should reach presentations in SharePoint, in Teams or shared with you (see Scopes).

  5. Open Certificates & secrets → New client secret and copy the secret Value, not the Secret ID; it is shown only once. Note the expiry date: when the secret expires, the connector stops working until you paste a new one.

  6. Paste the Application (client) ID into MICROSOFT_CLIENT_ID, the secret value into MICROSOFT_CLIENT_SECRET and the tenant value from step 2 into MICROSOFT_TENANT_ID, then install the connector.

  7. On the connector page click Authorize with Provider and sign in with the account whose presentations the AI should work with. The refresh token is stored encrypted, and access tokens (valid for about an hour) are renewed automatically.

  8. Run microsoft_powerpoint_get_my_drive: it shows which OneDrive the connector is signed in to.

One Entra app for all Microsoft connectors: the app registration made for the Outlook, OneDrive or Excel connector works here too. Add the permissions from step 4, keep the same redirect URI and reuse the same client ID, secret and tenant. Each connector asks only for its own scopes when you authorize it.

Admin consent: these delegated permissions normally do not need an administrator, but many organisations turn off user consent. If the sign-in shows "Need admin approval" (AADSTS65001 or AADSTS90094), a tenant administrator opens the app registration once and clicks API permissions → Grant admin consent for the organisation.

Whose presentations it sees: everything runs as the user who authorized the connector, so the AI sees and changes exactly what that user can. Work or school accounts (Microsoft 365) support every tool; a personal OneDrive supports search, details, download, PDF, copy, rename and move.

Scopes: the connector asks for offline_access User.Read Files.ReadWrite. offline_access is what makes Microsoft issue a refresh token, and Files.ReadWrite covers your own OneDrive. For presentations in SharePoint libraries, in Teams channels or shared by other people, and for microsoft_powerpoint_find_presentations, add Files.ReadWrite.All to the app registration, replace Files.ReadWrite with it in the connector's OAuth settings and authorize again. For a read-only setup use offline_access User.Read Files.Read.All, authorize again and disable microsoft_powerpoint_copy_presentation, microsoft_powerpoint_rename_presentation, microsoft_powerpoint_move_presentation, microsoft_powerpoint_restore_version, microsoft_powerpoint_check_out and microsoft_powerpoint_check_in.

What it reads: PowerPoint presentations (.pptx, .pptm, .ppsx and the older .ppt). It finds them by name and content in your OneDrive (microsoft_powerpoint_search_my_presentations, which also returns other file types), by path such as Documents/Sales/Pitch 2026.pptx, by browsing folders, or everywhere you have access (OneDrive, SharePoint, Teams, shared with you) with Microsoft Search and KQL in microsoft_powerpoint_find_presentations, work or school accounts only. For each presentation it reads the name, size, who created and last changed it and when, the webUrl that opens it in PowerPoint for the web, the check-out state, the version history and who has access. To read the content, microsoft_powerpoint_convert_to_pdf has Microsoft 365 turn the deck into a PDF the AI can read, one page per slide: Graph has no API that returns a presentation's text. microsoft_powerpoint_get_thumbnail returns a picture of the first slide that the AI can look at, and microsoft_powerpoint_list_thumbnails lists the available sizes. microsoft_powerpoint_download_presentation and microsoft_powerpoint_download_version hand over the original file or an earlier version.

What it writes: Graph cannot write into a presentation, and the connector cannot upload files. A new deck is made by copying a template with microsoft_powerpoint_copy_presentation under a new name; the copy runs in the background and appears in the target folder after a few seconds. The connector also renames presentations, moves them within the same drive, makes an earlier version current again with microsoft_powerpoint_restore_version (the replaced content stays in the history, so it can be undone; work or school only), and checks presentations out and back in with a comment in SharePoint libraries that require check-out. You then edit the deck yourself through its webUrl.

Switched off at install: microsoft_powerpoint_create_sharing_link (a view or edit link for anonymous, organization or users) and microsoft_powerpoint_delete_presentation. A sharing link hands the file to other people, and a presentation the AI reads could ask it to share or delete something, so an admin switches them on when the team needs them. Deleted presentations go to the recycle bin and can be restored there.

Data formats: every tool takes the presentation's drive_id and item_id. Search and path lookups return them as id and parentReference.driveId; in microsoft_powerpoint_find_presentations the hits sit in hitsContainers[0].hits[], with resource.id and resource.parentReference.driveId. microsoft_powerpoint_list_folder with item_id root lists the top of a drive. Thumbnail sizes are small (96 px wide), medium (176 px), large (800 px) or a custom size such as c1600x900. Version ids look like 4.0 and come newest first. Files, PDFs included, are attached up to 10 MB; larger files are described but not attached, and the AI gives you the webUrl instead. PDF conversion works for .pptx, .ppt, .ppsx, .pps and .odp files and does not change the stored file.

Paging and limits: list and search answers carry @odata.nextLink while more results exist; the AI calls the same tool again with skip_token set to the $skiptoken value from that link. microsoft_powerpoint_find_presentations pages with from and size, and moreResultsAvailable says whether there are more. Microsoft Graph throttles per user and per app: a 429 or 503 with Retry-After means wait and retry. Converting a large presentation to PDF can take a few seconds.

Common errors: 401 InvalidAuthenticationToken means the authorization was revoked or the client secret expired: paste a new secret if needed and click Authorize with Provider again. 403 accessDenied means a permission is missing or not consented, or the presentation belongs to someone else and the scope lacks Files.ReadWrite.All; microsoft_powerpoint_find_presentations answers 403 without Files.Read.All or Files.ReadWrite.All. 404 itemNotFound is a wrong drive, item or version id, or a deleted item. 406 or 415 on the PDF conversion means the file type cannot be converted or the file is password protected. 409 nameAlreadyExists means the name is taken in that folder: pick another one or set conflict_behavior to rename. 423 resourceLocked means the file is checked out by someone else or locked for editing.

The connector does not upload PowerPoint files, edit their slides, read or add comments, or manage SharePoint sites (the Microsoft SharePoint connector does that).

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Gemini

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:

{
  "mcpServers": {
    "anythingmcp": {
      "httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
      "headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
    }
  }
}
  1. Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of YOUR_MCP_API_KEY.
  2. Save the file and restart gemini.
  3. Run /mcp inside Gemini CLI (or gemini mcp list in your shell): anythingmcp should show as connected.
  4. Start prompting: Gemini CLI can now call the PowerPoint (Microsoft 365) tools.

Available tools

ToolWhat it does
microsoft_powerpoint_get_my_driveGet the signed-in user's OneDrive: drive id (the drive_id for presentations stored there), type (personal or business), owner, storage…
microsoft_powerpoint_search_my_presentationsSearch the user's own OneDrive by name, metadata and content, e.g. "offer 2026"
microsoft_powerpoint_find_presentationsFind PowerPoint presentations everywhere the user has access (their OneDrive, SharePoint sites, Teams files, files shared with them) with…
microsoft_powerpoint_list_folderList the files and folders inside a folder of a drive (item_id "root" for its top level), to browse to a presentation
microsoft_powerpoint_get_presentationGet a presentation's details: name, size, created and last modified (when and by whom), folder (parentReference), mimeType and hashes…
microsoft_powerpoint_get_presentation_by_pathGet a presentation in the user's own OneDrive by its path, e.g. "Documents/Sales/Pitch 2026.pptx"
microsoft_powerpoint_download_presentationDownload the presentation file itself (.pptx), as it is stored
microsoft_powerpoint_convert_to_pdfGet the presentation converted to PDF by Microsoft 365 (works for .pptx, .ppt, .ppsx, .pps and .odp files), attached to the result as a PDF…
microsoft_powerpoint_list_thumbnailsList the thumbnail images Microsoft 365 made of the presentation's first slide: sizes small, medium and large with width, height and a…
microsoft_powerpoint_get_thumbnailGet a picture of the presentation's first slide, returned as an image the AI can look at. size: small (96 px wide), medium (176 px), large…
microsoft_powerpoint_list_versionsList the presentation's version history: each version's id (e.g. "4.0"), when and by whom it was saved, and size, newest first
microsoft_powerpoint_download_versionDownload an earlier version of the presentation as an attached file (up to 10 MB), e.g. to compare it with the current one
microsoft_powerpoint_list_permissionsList who has access to the presentation: each permission's id, roles (read, write, owner), the people or groups granted (grantedToV2…
microsoft_powerpoint_copy_presentationCreate a new presentation as a copy of an existing one, typically a template (e.g. "Templates/Company deck.pptx"), in a target folder under…
microsoft_powerpoint_rename_presentationRename a presentation in place
microsoft_powerpoint_move_presentationMove a presentation into another folder of the same drive, optionally renaming it on the way
microsoft_powerpoint_restore_versionMake an earlier version the current content of the presentation
microsoft_powerpoint_check_outCheck out a presentation in a SharePoint library that requires check-out, so that only the user can change it until it is checked in
microsoft_powerpoint_check_inCheck a checked-out presentation back in, with a comment that is stored with the new version, so other people see the changes and can edit…
microsoft_powerpoint_create_sharing_linkCreate a sharing link for the presentation: type "view" or "edit", scope "anonymous" (anyone with the link, if the organisation allows it)…
microsoft_powerpoint_delete_presentationDelete a presentation

Example prompts

  • "Find the latest investor deck in SharePoint and summarise its key figures slide by slide."
  • "Create a new deck from Templates/Company deck.pptx in the folder Sales/2026 and name it Pitch Acme 2026.pptx."
  • "Show me the title slide of Documents/Sales/Pitch 2026.pptx."
  • "Who changed this presentation last week? Show the version history and restore the version from Monday."
  • "Which presentations in my OneDrive have an edit link for anyone in the organisation?"

FAQ

Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.

Next steps

Was this guide helpful?

Your PowerPoint agent is one click away.

Install the connector, paste the key, prompt Gemini. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect PowerPoint (Microsoft 365) to ChatGPT via MCP

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

Connectors

How to Connect PowerPoint (Microsoft 365) to Claude via MCP

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

Connectors

How to Connect PowerPoint (Microsoft 365) to Cursor via MCP

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

Connectors

How to Connect PowerPoint (Microsoft 365) to Meta Muse via MCP

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

Connectors

Microsoft PowerPoint to MCP: Find, Read and Organise Presentations in OneDrive and SharePoint from any AI Agent

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.

Connectors

How to Connect PowerPoint (Microsoft 365) to Microsoft Copilot via MCP

Let your AI work with PowerPoint presentations in OneDrive and SharePoint: find decks, read their details, version history and who has access, see a slide thumbnail, get them as PDF or as the original file, create new decks from a template, rename, move, check out and in, and restore an earlier version. Microsoft 365 through Microsoft Graph, signed in with your Microsoft account; sharing links and deleting install switched off.