# Sharepoint
import ToolInfo from "@/app/_components/tool-info";
import Badges from "@/app/_components/badges";
import TabbedCodeBlock from "@/app/_components/tabbed-code-block";
import TableOfContents from "@/app/_components/table-of-contents";
import ToolFooter from "@/app/_components/tool-footer";
import { Callout } from "nextra/components";
The SharePoint MCP Server provides a comprehensive set of tools for interacting with SharePoint sites and their contents. Users can perform various actions, including:
- Retrieve lists, items, and pages from SharePoint sites.
- Access metadata and content of specific pages.
- Search for and retrieve information about SharePoint sites and drives.
- Browse and download files from SharePoint drives / document libraries.
This MCP Sever simplifies the process of accessing and managing SharePoint resources efficiently for AI Agents and chat bots.
The SharePoint MCP Server requires a Microsoft 365 account. Personal Microsoft accounts are not supported.
## Available Tools
If you need to perform an action that's not listed here, you can [get in touch
with us](mailto:contact@arcade.dev) to request a new tool, or [create your own
tools](/guides/create-tools/tool-basics/build-mcp-server).
## Sharepoint.GetListsFromSite
Retrieve lists from a SharePoint site.
**Parameters**
- **site** (`string`, required) Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.
## Sharepoint.GetItemsFromList
Retrieve items from a list in a SharePoint site.
**Parameters**
- **site** (`string`, required) Site ID, SharePoint URL, or site name to get lists from. Prefer using a site ID whenever available for optimal performance.
- **list_id** (`string`, required) The ID of the list to get items from.
## Sharepoint.GetPage
Retrieve metadata and the contents of a page in a SharePoint site.
**Parameters**
- **site** (`string`, required) Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance
- **page_id** (`string`, required) The ID of the page to retrieve.
- **include_page_content** (`boolean`, optional) Whether to include the page content in the response. Defaults to True. If set to False, the tool will return only the page metadata.
## Sharepoint.ListPages
Retrieve pages from a SharePoint site.
**Parameters**
- **site** (`string`, required) Site ID, SharePoint URL, or site name to retrieve base pages from. Prefer using a site ID whenever available for optimal performance.
- **limit** (`integer`, optional) The maximum number of pages to return. Defaults to 10, max is 200.
## Sharepoint.GetSite
Retrieve information about a specific SharePoint site by its ID, URL, or name.
**Parameters**
- **site** (`string`, required) Site ID, SharePoint URL, or site name to search for.
## Sharepoint.SearchSites
Search for SharePoint sites by name or description.
**Parameters**
- **keywords** (`string`, required) The search term to find sites by name or description.
- **limit** (`integer`, optional) The maximum number of sites to return. Defaults to 10, max is 100.
- **offset** (`integer`, optional) The offset to start from.
## Sharepoint.ListSites
List all SharePoint sites accessible to the current user.
**Parameters**
- **limit** (`integer`, optional) The maximum number of sites to return. Defaults to 10, max is 100.
- **offset** (`integer`, optional) The offset to start from.
## Sharepoint.GetFollowedSites
Retrieve a list of SharePoint sites that are followed by the current user.
**Parameters**
- **limit** (`integer`, optional) The maximum number of sites to return. Defaults to 10, max is 100.
## Sharepoint.GetDrivesFromSite
Retrieve drives / document libraries from a SharePoint site.
**Parameters**
- **site** (`string`, required) Site ID, SharePoint URL, or site name to get drives from. Prefer using a site ID whenever available for optimal performance.
## Sharepoint.ListRootItemsInDrive
Retrieve items from the root of a drive in a SharePoint site.
**Parameters**
- **drive_id** (`string`, required) The ID of the drive to get items from.
- **limit** (`integer`, optional) The number of items to get. Defaults to 100, max is 500.
- **offset** (`integer`, optional) The number of items to skip.
## Sharepoint.ListItemsInFolder
Retrieve items from a folder in a drive in a SharePoint site.
**Parameters**
- **drive_id** (`string`, required) The ID of the drive to get items from.
- **folder_id** (`string`, required) The ID of the folder to get items from.
- **limit** (`integer`, optional) The number of items to get. Defaults to 100, max is 500.
- **offset** (`integer`, optional) The number of items to skip.
## Sharepoint.SearchDriveItems
Search for items in one or more Sharepoint drives.
**Parameters**
- **keywords** (`string`, required) The keywords to search for files in the drive.
- **drive_id** (`string`, optional) Optionally, the ID of the drive to search items in. If not provided, the search will be performed in all drives.
- **folder_id** (`string`, optional) Optionally narrow the search within a specific folder by its ID. If not provided, the search will be performed in the whole drive. If a folder_id is provided, it is required to provide a drive_id as well.
- **limit** (`integer`, optional) The number of files to get. Defaults to 50, max is 500.
- **offset** (`integer`, optional) The number of files to skip.
## Auth
The Arcade Sharepoint MCP Sever uses the [Microsoft auth provider](/references/auth-providers/microsoft) to connect to users' Sharepoint accounts. Please refer to the [Microsoft auth provider](/references/auth-providers/microsoft) documentation to learn how to configure auth.