Microsoft SharePoint

Microsoft SharePoint MCP Connector for Claude

A+

Explore SharePoint sites and read, search, create, and update the rows inside their lists — structured site data for any AI agent.

8 tools Official Updated Oct 1, 2026 Official Vinkius Partner

Connect your SharePoint sites to any AI agent through the Microsoft Graph API. SharePoint stores a huge amount of business data in lists — projects, requests, records, inventories — and this server lets an agent read and maintain that data without a browser.

What you can do

  • Site Discovery — List the sites the user can access and resolve a site by hostname, subsite path, or GUID
  • List Exploration — See which lists a site contains, then read the rows with their field values
  • Row Search — Search across all lists and documents of a site with one query
  • Row Creation & Updates — Add new rows and change fields on existing rows using the exact column names

How it works

  1. Register an Entra application with Microsoft Graph delegated permissions (Sites.Read, Sites.ReadWrite, Sites.Manage)
  2. Subscribe to this server and connect through OAuth 2.0
  3. Point your agent at a site address and ask it to read or maintain the data — rows are paged so large lists never flood the context

Who is this for?

  • Operations Teams — keep request and task lists current, mark items progressed, and surface what changed without opening the portal
  • Analysts & Assistants — pull structured site data for reporting, or find a specific record across dozens of lists
sharepointmicrosoft-365listssite-contentstructured-data

8 tools expose this connector's capabilities to your AI agent.

create_list_item

The fields parameter is a JSON object mapping column internal names to values, for example {"Title":"Onboarding","Status":"Open"} — use list_lists and an existing item to learn the exact column names first. Lookup and person columns need special value shapes; when unsure, read a sample item and mirror its shape. The new item ID is returned for later updates. Create a new row in a SharePoint list

list_sites

Use for site discovery when the user is unsure which site holds the data. Page with top and skip when the tenant has many sites. List the SharePoint sites the connected user has access to

get_site

Use when the user names a SharePoint site by its hostname like contoso.sharepoint.com, by a sub-site path, or by its GUID. This is the starting point for any list work — it confirms the site resolves before drilling into its lists. Get details for a SharePoint site

list_lists

Use when the user wants to explore a site or to find the list that holds a piece of data before reading it. The site parameter is the same address form get_site accepts. List the lists inside a SharePoint site

update_list_item

Use to fix or progress a row found via list or search results. The item ID comes from those results, and column names follow the same shape as create_list_item fields. Update fields on an existing SharePoint list item

get_list_item

Use when a specific row was located via list_list_items or search_site_items and the user wants everything stored on that row. The item ID comes from those list/search results. Read one SharePoint list item with all its fields

list_list_items

Use when the user wants rows from a known list. The list parameter accepts the list display name or its ID. Add a CML filter expression to narrow rows, and page with top and skip for large lists. Read items from a SharePoint list

search_site_items

Use when the user describes data they cannot locate by walking lists. This is site-wide, not per-list, so it can be slower — cap results with top. Search across the lists and documents of a SharePoint site

See how to talk to your AI agent using Microsoft SharePoint.

List the lists on the company site and show the 5 most recent items in the Tasks list.

The site has 12 lists: Tasks, Projects, Requests, Documents, Assets… In Tasks, the 5 most recently modified items are: #48 'Migrate invoice import to v2' (modified 2h ago, Status: Open), #45 'Update vendor contract' (1d ago, Done), #44 'Security questionnaire' (2d ago, In progress), #42 'Quarterly review deck' (3d ago, Open), #41 'Clean up stale access' (4d ago, Open).

Find everything mentioning 'Q3 budget' on the finance site.

Searched the finance site across all lists and documents. Found 3 rows in the Budgets list: #12 'Q3 budget plan v4' (updated 5 days ago, Owner: Dana), #9 'Q3 budget approvals' (updated 12 days ago, Status: In review), and a document 'Q3-budget-assumptions.xlsx' in the Shared Documents library. Want me to open the approvals row in full?

Mark item #44 in the Tasks list as Done and set the Status and CompletedBy fields.

I read item #44 to mirror its field shapes, then updated it: Status='Done', CompletedBy='Dana R.'. The row now shows Status Done, last modified just now. No other fields changed.

Delegated permissions: Sites.Read, Sites.ReadWrite and Sites.Manage, plus openid/profile/offline_access. You consent once at the OAuth step; the agent then works only inside the sites your account can access.

Related Connectors