View as Markdown

PowerPoint Integration

Manage PowerPoint presentations and sharing

The PowerPoint integration provides access to manage PowerPoint presentations and sharing through the Integrate MCP server.

Installation

The PowerPoint integration is included with the SDK:

import { powerpointIntegration } from "integrate-sdk/server";

Setup

1. Create a PowerPoint OAuth App

  1. Go to Azure Portal — App Registrations
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the PowerPoint integration to your server configuration. The integration automatically reads POWERPOINT_CLIENT_ID and POWERPOINT_CLIENT_SECRET from your environment variables:

import { createMCPServer, powerpointIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    powerpointIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

powerpointIntegration({
  clientId: process.env.CUSTOM_POWERPOINT_ID,
  clientSecret: process.env.CUSTOM_POWERPOINT_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("powerpoint");
const result = await client.powerpoint.list({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, powerpointIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [powerpointIntegration()],
});

Configuration Options

export interface PowerPointIntegrationConfig {
  /** Microsoft OAuth client ID (defaults to POWERPOINT_CLIENT_ID env var) */
  clientId?: string;

Tools

powerpoint_copy

Copy a presentation

export interface PowerpointCopyParams {
    /** Presentation item ID to copy */
    item_id: string;

powerpoint_create

Create a new empty .pptx file in OneDrive

export interface PowerpointCreateParams {
    /** File name (.pptx appended automatically if missing) */
    name: string;

powerpoint_delete

Delete a presentation permanently

export interface PowerpointDeleteParams {
    /** Presentation item ID */
    item_id: string;

powerpoint_get

Get metadata for a presentation

export interface PowerpointGetParams {
    /** Presentation item ID */
    item_id: string;

powerpoint_list

Search for PowerPoint presentations

export interface PowerpointListParams {
    /** Filter by name (default: searches .pptx) */
    query?: string;

powerpoint_share

Create a sharing link for a presentation

export interface PowerpointShareParams {
    /** Presentation item ID */
    item_id: string;

powerpoint_update_content

Update content

export interface PowerpointUpdateContentParams {
    /** Presentation item ID */
    item_id: string;

Notes

  • Category: Productivity
  • Authentication mode: OAuth