View as Markdown

SharePoint Integration

Search SharePoint sites and manage drives, files, folders, and sharing links

The SharePoint integration provides access to search SharePoint sites and manage drives, files, folders, and sharing links through the Integrate MCP server.

Installation

The SharePoint integration is included with the SDK:

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

Setup

1. Create a SharePoint 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 SharePoint integration to your server configuration. The integration automatically reads SHAREPOINT_CLIENT_ID and SHAREPOINT_CLIENT_SECRET from your environment variables:

import { createMCPServer, sharepointIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    sharepointIntegration({
      scopes: ["Sites.ReadWrite.All", "Files.ReadWrite.All", "offline_access"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

sharepointIntegration({
  clientId: process.env.CUSTOM_SHAREPOINT_ID,
  clientSecret: process.env.CUSTOM_SHAREPOINT_SECRET,
      scopes: ["Sites.ReadWrite.All", "Files.ReadWrite.All", "offline_access"], // Optional
});

3. Client-Side Usage

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

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

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

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

Configuration Options

export interface SharePointIntegrationConfig {
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • Sites.ReadWrite.All
  • Files.ReadWrite.All
  • offline_access

Tools

sharepoint_create_folder

Create folder

export type SharepointCreateFolderParams = Record<string, unknown>;

sharepoint_delete_item

Delete item

export type SharepointDeleteItemParams = Record<string, unknown>;

sharepoint_get_item

Get item

export type SharepointGetItemParams = Record<string, unknown>;

sharepoint_get_site

Get site

export type SharepointGetSiteParams = Record<string, unknown>;

sharepoint_list_drives

List drives

export type SharepointListDrivesParams = Record<string, unknown>;

sharepoint_list_items

List items

export type SharepointListItemsParams = Record<string, unknown>;

sharepoint_search_files

Search files

export type SharepointSearchFilesParams = Record<string, unknown>;

sharepoint_search_sites

Search sites

export type SharepointSearchSitesParams = Record<string, unknown>;

sharepoint_share_item

Share item

export type SharepointShareItemParams = Record<string, unknown>;

sharepoint_update_item

Update item

export type SharepointUpdateItemParams = Record<string, unknown>;

sharepoint_upload_file

Upload file

export type SharepointUploadFileParams = Record<string, unknown>;

Notes

  • Category: Productivity
  • Authentication mode: OAuth