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
- Go to Azure Portal — App Registrations
- Create a new OAuth application
- Configure your redirect URI
- 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