100+ integrations are ready to connect to your AI.Connect your first MCP

SharePoint MCP server for your AI

Pull the open items out of a team's task list, sum up the newest proposal in a document library, add a row for a new client, and draft a news post for the intranet.

PopMCPSharePoint

List the open items in the Marketing team's Project tasks list and who owns each one

Supported SharePoint tools

All of SharePoint in Microsoft Graph for a signed-in work or school account, from sites, lists, columns and content types to document libraries, pages, permissions and the term store, plus the list changes PopMCP can watch.

264 tools in the full catalog: 148 read and 116 write. 43 load by default, and the rest are found with tool search.

sharepoint_create_list_item

Add a row to a list.

sharepoint_create_list_items

Add many rows to a list in one call, up to 100.

sharepoint_delete_list_item

Delete a row (it goes to the site's recycle bin).

sharepoint_get_list_item

Read one row with its column values under fields.

sharepoint_list_item_changes

See which rows changed since last time: the first call pages through all rows and ends with @odata.deltaLink (deltaCursor); keep it, and pass it as cursor next time to get only what changed.

sharepoint_list_items

Read rows of a list, with their column values under fields.

sharepoint_update_list_item

Change column values of a row.

sharepoint_create_list_column

Add a column to a list.

sharepoint_get_root_site

Get the organization's home site (https://contoso.sharepoint.com): id, displayName, webUrl and the SharePoint host name.

sharepoint_get_site

Get one site: id, displayName, description, webUrl, siteCollection hostname, created and modified dates.

sharepoint_list_followed_sites

List the sites the signed-in person follows (the star in SharePoint): a quick way to find the sites they use.

sharepoint_list_list_columns

List a list's columns: name (the internal name to use in fields and filters), displayName, and the type facet (text, choice with its choices, lookup...).

sharepoint_list_subsites

List the subsites directly under a site (not the whole tree).

sharepoint_resolve_url

Work out what a SharePoint link points to and get the ids every other tool takes.

sharepoint_search_sites

Find SharePoint sites by keyword.

sharepoint_copy_item

Copy a file or folder (with everything in it) into a folder, optionally under a new name.

sharepoint_create_folder

Create a folder inside a folder.

sharepoint_delete_item

Delete a file or folder (with everything in it).

sharepoint_ensure_folder

Make sure a folder path exists in a document library, creating each missing level: path /Clients/Acme/2026 gives that folder (with its id) whether it was there or not.

sharepoint_get_item

One file or folder's details: name, size, file type, folder childCount, created and modified (when and by whom), parentReference (folder and path), sharepointIds and webUrl.

sharepoint_list_files

List the files and folders in a document library, going straight from a site.

sharepoint_move_item

Move a file or folder into another folder of the same library, optionally renaming it.

sharepoint_update_item

Rename a file or folder, or move it to another folder in the same library.

sharepoint_create_page

Create a SharePoint page from a title and its content.

sharepoint_delete_page

Delete a page (to the site's recycle bin).

sharepoint_get_page

Get a modern page with its layout and web parts.

sharepoint_list_pages

List a site's pages: id, name (home.aspx), title, webUrl, publishingState, modified date.

sharepoint_publish_page

Publish a page so everyone who can open the site sees the latest version.

sharepoint_read_page

Read a SharePoint page the way a person does: its title, words in reading order, and what other web parts it has (images, links, people...).

sharepoint_update_page

Change a page: title, description, showComments, showRecommendedPages, thumbnailWebUrl, titleArea, canvasLayout.

sharepoint_create_list

Create a list.

sharepoint_create_sharing_link

Create a link to a file or folder that people can open.

sharepoint_describe_list

Get everything needed to work with a list in one call: its id and address, every visible column (name is the internal name to use in fields and filters, with displayName, type, choices, whether required, indexed), its content types and a few sample rows.

sharepoint_get_list

Get one list.

sharepoint_list_lists

List the lists and document libraries of a site: id, name, displayName, webUrl, list { template, hidden }.

sharepoint_list_permissions

Who can open a file or folder: each permission's id, roles (read, write, owner), the people or group it was granted to, and sharing links (link.webUrl, type, scope).

sharepoint_share_with_people

Share a file or folder with specific people by email: recipients ("ada@example.com, bob@example.com" or a list), roles read (default) or write, an optional message.

sharepoint_read_file

Read a file's contents: plain text, CSV, JSON, Markdown, HTML and code as text; Word (.docx), PowerPoint (.pptx) and Excel (.xlsx) as their text; PNG, JPEG, GIF and WebP as the image.

sharepoint_upload_file

Create a file in a document library, or replace one, from text or base64 bytes.

sharepoint_list_site_libraries

List a site's document libraries: each id is the driveId the file tools take, with name and webUrl.

sharepoint_list_versions

A file's earlier versions, newest first: id, lastModifiedDateTime, lastModifiedBy, size.

sharepoint_search_files

Search one document library for files and folders whose name, content or metadata match the words in q.

sharepoint_search

Search everything the signed-in person can read across SharePoint, ranked by Microsoft: files and their contents, list rows, and lists.

sharepoint_add_column_to_content_type

Add a column to a site content type: pass "sourceColumn@odata.bind" with the site column's URL, or define a new one.

sharepoint_add_column_to_list_content_type

Add a column to a content type on a list.

sharepoint_add_content_type_from_hub

Add or sync a published content type from the organization's content type hub to this site.

sharepoint_add_list_content_type_from_hub

Add or sync a content type from the hub to a list.

sharepoint_associate_content_type_with_hub_sites

Associate a published content type with hub sites.

sharepoint_copy_content_type_to_list

Attach a site content type to a list: contentType is the site content type's URL.

sharepoint_copy_content_type_to_site

Copy a content type onto a site from another site: contentType is the source's full URL or id.

sharepoint_copy_file_to_default_content_location

Copy a file to a content type's default content location (a template or a document set's default content).

sharepoint_create_list_content_type

Create a content type on a list directly.

sharepoint_create_site_content_type

Create a content type on a site.

sharepoint_delete_list_content_type

Remove a content type from a list.

sharepoint_delete_site_content_type

Delete a site content type.

sharepoint_get_content_type_base

Get the content type this one inherits from.

sharepoint_get_content_type_base_type

Get one content type from the inheritance chain.

sharepoint_get_content_type_column

Get one column of a site content type.

sharepoint_get_content_type_column_link

Get one column link of a content type.

sharepoint_get_content_type_column_position

Get one column by its position entry.

sharepoint_get_list_content_type

Get one content type of a list.

sharepoint_get_list_content_type_column

Get one column of a content type on a list.

sharepoint_get_site_content_type

Get one content type of a site.

sharepoint_is_content_type_published

Whether a content type is published to the hub.

sharepoint_list_applicable_content_types

List the site content types that can be added to a list.

sharepoint_list_content_type_base_types

List the whole chain of content types this one inherits from.

sharepoint_list_content_type_column_links

List the column links of a content type (which site columns it includes).

sharepoint_list_content_type_column_positions

List a content type's columns in the order the form shows them.

sharepoint_list_content_type_columns

List the columns of a site content type.

sharepoint_list_hub_content_types

List content types from the organization's hub that can be added to this site.

sharepoint_list_hub_content_types_for_list

List content types from the hub that can be added to this list.

sharepoint_list_list_content_type_columns

List the columns of a content type on a list.

sharepoint_list_list_content_types

List the content types attached to a list.

sharepoint_list_site_content_types

List the content types of a site: id (0x...), name, description, group, parentId, hidden.

sharepoint_publish_content_type

Publish a content type in a content type hub so other sites can use it.

sharepoint_remove_column_from_content_type

Remove a column from a site content type.

sharepoint_remove_column_from_list_content_type

Remove a column from a content type on a list.

sharepoint_unpublish_content_type

Unpublish a content type from a content type hub.

sharepoint_update_content_type_column

Change a column of a site content type.

sharepoint_update_list_content_type

Change a content type on a list.

sharepoint_update_list_content_type_column

Change a column of a content type on a list.

sharepoint_update_site_content_type

Change a site content type: name, description, group, hidden, readOnly, sealed.

sharepoint_add_section_column_web_part

Add a web part to a column of a horizontal section.

sharepoint_add_vertical_section_web_part

Add a web part to a page's vertical section.

sharepoint_create_page_section

Add a horizontal section to a page.

sharepoint_create_page_vertical_section

Add a vertical section (side column) to a page.

sharepoint_delete_page_section

Remove a horizontal section from a page.

sharepoint_delete_page_vertical_section

Remove a page's vertical section.

sharepoint_delete_page_web_part

Remove a web part from a page.

sharepoint_delete_section_column_web_part

Remove a web part from a column.

sharepoint_delete_vertical_section_web_part

Remove a web part from the vertical section.

sharepoint_get_page_layout

Get a page's layout: its horizontal sections, columns, web parts, and the vertical section.

sharepoint_get_page_section

Get one horizontal section of a page.

sharepoint_get_page_section_column

Get one column of a horizontal section.

sharepoint_get_page_vertical_section

Get a page's vertical section (the side column), if it has one.

sharepoint_get_page_web_part

Get one web part of a page by its instance id.

sharepoint_get_page_web_part_position

Where a web part sits on a page: horizontal section, column and index, or the vertical section.

sharepoint_get_page_web_parts_by_position

Get the web parts at a position on a page.

sharepoint_get_section_column_web_part

Get one web part in a column, by its index.

sharepoint_get_section_column_web_part_position

Where a web part sits: section, column and index.

sharepoint_get_vertical_section_web_part

Get one web part of the vertical section, by its index.

sharepoint_get_vertical_section_web_part_position

Where a web part of the vertical section sits.

sharepoint_list_page_section_columns

List the columns of a horizontal section.

sharepoint_list_page_sections

List a page's horizontal sections: id, layout, emphasis.

sharepoint_list_page_web_parts

List every web part on a page, in order: text ones carry innerHtml.

sharepoint_list_section_column_web_parts

List the web parts in a column of a horizontal section.

sharepoint_list_vertical_section_web_parts

List the web parts in a page's vertical section.

sharepoint_update_page_section

Change a horizontal section: layout, emphasis, columns.

sharepoint_update_page_vertical_section

Change a page's vertical section.

sharepoint_update_page_web_part

Change a web part on a page.

sharepoint_update_section_column_web_part

Change a web part in a column.

sharepoint_update_vertical_section_web_part

Change a web part of the vertical section.

sharepoint_create_child_term

Create a term under another term.

sharepoint_create_term

Create a top-level term in a set.

sharepoint_create_term_group

Create a group in the term store.

sharepoint_create_term_relation

Create a pin or reuse relation on a term.

sharepoint_create_term_set

Create a term set.

sharepoint_delete_term

Delete a term.

sharepoint_delete_term_group

Delete a term group.

sharepoint_delete_term_set

Delete a term set.

sharepoint_get_term

Get one term: labels, descriptions, properties.

sharepoint_get_term_group

Get one term group.

sharepoint_get_term_relation

Get one relation of a term.

sharepoint_get_term_set

Get one term set.

sharepoint_get_term_set_relation

Get one relation of a set.

sharepoint_get_term_store

Get the term store of a site: id, defaultLanguageTag, languageTags.

sharepoint_list_term_children

List the terms directly under a term.

sharepoint_list_term_groups

List the groups of a term store: id, displayName, scope.

sharepoint_list_term_relations

List a term's pin and reuse relations.

sharepoint_list_term_set_children

List the top-level terms of a set: id, labels.

sharepoint_list_term_set_relations

List the pin and reuse relations of a set.

sharepoint_list_term_set_terms

List every term of a set, at any level.

sharepoint_list_term_sets

List the term sets of a group: id, localizedNames, description.

sharepoint_update_term

Change a term: labels, descriptions, properties.

sharepoint_update_term_set

Change a term set: description, localizedNames, properties.

sharepoint_update_term_store

Change the term store: defaultLanguageTag, languageTags.

sharepoint_delete_list_item_permission

Take away a permission on a list item.

sharepoint_delete_list_permission

Take away a permission on a list.

sharepoint_get_list_item_permission

Get one permission on a list item.

sharepoint_get_list_permission

Get one permission on a list.

sharepoint_get_site_permission

Get one application permission on a site.

sharepoint_grant_app_access_to_list

Grant an application a role on a list (for Lists/ListItems.SelectedOperations.Selected apps).

sharepoint_grant_app_access_to_list_item

Grant an application a role on a list item (for Lists/ListItems.SelectedOperations.Selected apps).

sharepoint_grant_app_access_to_site

Grant an application a role on a site, for apps using Sites.Selected.

sharepoint_grant_list_item_link_access

Give named people access through an existing sharing link on a list item.

sharepoint_grant_list_link_access

Give named people access through an existing sharing link on a list.

sharepoint_grant_site_link_access

Give named people access through a sharing link on a site.

sharepoint_list_list_item_permissions

See who can open a list item: roles and the person, group, link or app each permission goes to.

sharepoint_list_list_permissions

See who can open a list: roles and the person, group, link or app each permission goes to.

sharepoint_list_site_permissions

List which applications have access to a site through Sites.Selected.

sharepoint_revoke_list_item_link_access

Remove named people from a sharing link on a list item.

sharepoint_revoke_list_link_access

Remove named people from a sharing link on a list.

sharepoint_revoke_site_link_access

Remove named people from a sharing link on a site.

sharepoint_update_list_item_permission

Change a permission's roles on a list item.

sharepoint_update_list_permission

Change a permission's roles on a list.

sharepoint_get_list_item_activity_by_interval

Views and edits of a row or file per day, week or month.

sharepoint_get_list_item_analytics

Get the analytics object for a row or file: allTime and lastSevenDays via $expand.

sharepoint_get_list_item_analytics_all_time

How often a row or file was used over its lifetime: access { actionCount, actorCount }.

sharepoint_get_list_item_analytics_last_seven_days

How often a row or file was used in the last seven days: access { actionCount, actorCount }.

sharepoint_get_site_activity_by_interval

Views and edits of a site per day, week or month, between two dates.

sharepoint_get_site_activity_stat

Get one period of a site's activity statistics.

sharepoint_get_site_activity_stat_activity

Get one activity from a period of a site's statistics.

sharepoint_get_site_analytics

Get a site's analytics object; allTime and lastSevenDays are expanded by default: access counts and unique viewers.

sharepoint_get_site_analytics_all_time

How often a site was used over its lifetime: access { actionCount, actorCount }.

sharepoint_get_site_analytics_last_seven_days

How often a site was used in the last seven days: access { actionCount, actorCount }.

sharepoint_list_list_activities

List recent activity on a list: who did what and when.

sharepoint_list_list_item_activities

List recent activity on a row or file: who did what and when.

sharepoint_list_site_activity_stat_activities

List the individual activities in one period of a site's statistics.

sharepoint_list_site_activity_stats

List a site's activity statistics by period.

sharepoint_create_list_item_link

Create a sharing link to a list item.

sharepoint_get_list_item_fields

Read only the column values of a row.

sharepoint_get_list_item_file

Get the file behind a row of a document library, with driveId and id for the file tools.

sharepoint_get_list_item_file_content

Read the file behind a row of a document library: text, Office files as text, images as the image.

sharepoint_replace_list_item_file_content

Replace the contents of the file behind a row of a document library, up to 4 MB.

sharepoint_update_list_item_properties

Change a list item's own properties (rarely needed).

sharepoint_create_site_column

Create a column on a site.

sharepoint_delete_list_column

Delete a list column and the values in it.

sharepoint_delete_site_column

Delete a site column.

sharepoint_follow_sites

Follow one or more sites for the signed-in person.

sharepoint_get_group_site

Get the team site of a Microsoft 365 group or Team, by the group's id.

sharepoint_get_list_column

Get one column of a list.

sharepoint_get_site_column

Get one site column.

sharepoint_get_site_external_column

Get one external column of a site.

sharepoint_get_site_item

Get any item in a site by its id, whatever it is (a list, a list item, a file).

sharepoint_get_site_operation

Check one long-running operation: status (notStarted, running, succeeded, failed), percentageComplete, resourceId.

sharepoint_list_site_columns

List the columns defined on a site (usable by every list under it): name, displayName, type facet, required.

sharepoint_list_site_external_columns

List columns a site can use from its parent or a content type hub (not defined on the site itself).

sharepoint_list_site_operations

List long-running operations on a site (for example a list being provisioned), with status and percentageComplete.

sharepoint_unfollow_sites

Stop following one or more sites.

sharepoint_update_list_column

Change a list column: displayName, description, required, hidden, indexed, choices.

sharepoint_update_site_column

Change a site column: displayName, description, required, hidden, indexed and its type facet.

sharepoint_get_root_folder

The top folder of the library: id, childCount, size, webUrl.

sharepoint_list_children

List the files and folders inside a folder of a document library.

sharepoint_permanently_delete_item

Delete a file or folder permanently, skipping the recycle bin: it cannot be restored.

sharepoint_create_page_raw

Create a page from a full sitePage object: name (ending .aspx), title, pageLayout (article or home), promotionKind (page or newsPost), titleArea, canvasLayout.

sharepoint_get_page_metadata

Get a page's metadata only: name, title, webUrl, publishingState.

sharepoint_list_site_pages

List a site's modern pages only, with promotionKind (page or newsPost), showComments and more.

sharepoint_create_permission

Add a permission object directly.

sharepoint_create_subscription

Get notified when a list changes.

sharepoint_delete_list

Delete a list and all its items.

sharepoint_delete_permission

Stop sharing: remove a person's access or delete a sharing link.

sharepoint_delete_subscription

Stop a subscription.

sharepoint_get_list_operation

Check one long-running operation on a list.

sharepoint_get_list_subscription

Get one change-notification subscription on a list.

sharepoint_get_permission

One permission on a file or folder: roles, who it was granted to, and its sharing link if it is one.

sharepoint_get_shared_file_content

Download the file a sharing link points to, read like sharepoint_read_file (text, Office text, or the image).

sharepoint_get_shared_folder_item

One item inside a folder that a sharing link shares.

sharepoint_get_shared_folder_item_content

Download a file inside a shared folder, read like sharepoint_read_file.

sharepoint_get_shared_item

What a sharing link points to, in brief: name and owner.

sharepoint_get_shared_root

The top item of what a sharing link shares (the shared folder itself, or the file).

sharepoint_get_sharing_link_permission

The permission behind a sharing link: its type (view or edit), scope and roles.

sharepoint_get_subscription

Get one subscription.

sharepoint_grant_sharing_link_access

Give specific people access through an existing sharing link.

sharepoint_list_list_operations

List long-running operations on a list.

sharepoint_list_list_subscriptions

List change-notification subscriptions on a list.

sharepoint_list_subscriptions

List this app's active change-notification subscriptions: id, resource, changeType, expiry.

sharepoint_open_sharing_link

Open a SharePoint sharing link (shareId is the link itself): returns the shared file or folder with its id, name, size and parentReference.driveId.

sharepoint_reauthorize_subscription

Reauthorize a subscription after Microsoft sends a reauthorizationRequired lifecycle notice.

sharepoint_renew_subscription

Extend a subscription before it expires.

sharepoint_revoke_link_grants

Remove specific people from a sharing link without deleting the link.

sharepoint_update_list

Rename a list or change its description: displayName, description.

sharepoint_update_permission

Change what a permission allows: roles ["read"] or ["write"], or a link's expirationDateTime.

sharepoint_check_in_file

Check in a checked-out file so others see the new version (document libraries that require check-out).

sharepoint_check_out_file

Check out a file so others cannot edit it until it is checked in again.

sharepoint_create_document_set_version

Capture a new version of a document set.

sharepoint_delete_document_set_version

Delete a version of a document set.

sharepoint_discard_checkout

Undo a check-out: changes made since are discarded.

sharepoint_follow_item

Follow (favorite) a file or folder so it shows in the person's followed list.

sharepoint_get_document_set_version

Get one version of a document set.

sharepoint_get_document_set_version_fields

Read the column values stored in a document set version.

sharepoint_get_preview_url

A short-lived URL that shows a preview of the file in a browser (getUrl), without changing anything.

sharepoint_list_document_set_versions

List the versions of a document set.

sharepoint_restore_document_set_version

Restore a document set to this version.

sharepoint_unfollow_item

Stop following a file or folder.

sharepoint_create_upload_session

Start a resumable upload that replaces an existing file's contents in parts (for programs that upload the bytes themselves: PUT ranges of 320 KiB multiples to the returned uploadUrl, without an Authorization header).

sharepoint_get_activities_by_interval

View and edit counts of a file per day, week or month between two dates (startDateTime, endDateTime as ISO dates; interval day, week or month).

sharepoint_get_file_content

Download a file.

sharepoint_get_item_analytics_all_time

How often a file was viewed, and by how many people, since it was created.

sharepoint_get_item_analytics_last_seven_days

How often a file was viewed, and by how many people, in the last seven days.

sharepoint_list_drive_activities

Recent activity in the library (who created, edited, renamed, moved, shared or deleted what, and when).

sharepoint_list_item_activities

Recent activity on one file or folder (and inside a folder): who edited, renamed, moved, shared or commented, and when.

sharepoint_replace_file_content

Replace an existing file's contents.

sharepoint_extract_sensitivity_labels

Read the sensitivity labels applied to a file and refresh the file's label details.

sharepoint_get_item_version

Get one version of a row, with $expand=fields for its values.

sharepoint_get_item_version_fields

Read the column values a row had in one version.

sharepoint_get_library_for_list

Get the document library behind a list (only document libraries have one): its driveId for the file tools.

sharepoint_get_retention_label

The retention label on a file or folder (name, whether it is a record and locked, retention settings).

sharepoint_get_site_default_library

Get a site's default document library (usually Documents): its driveId, name, webUrl and quota.

sharepoint_get_site_library

Get one document library of a site by its driveId.

sharepoint_get_version

One version of a file: when and by whom it was saved, and its size.

sharepoint_get_version_content

The contents of an earlier version of a file, read like sharepoint_read_file (text, Office text, or the image).

sharepoint_list_item_versions

List the versions of a row or file: id (the version label like 2.0), who changed it and when.

sharepoint_remove_retention_label

Remove the retention label from a file or folder.

sharepoint_restore_item_version

Bring back an earlier version of a row or file, as a new version.

sharepoint_restore_version

Make an earlier version the current one (a new version is added with its contents; nothing is lost).

sharepoint_set_retention_label

Apply a retention label (body: name of a label published to the user), or lock or unlock a record (body: retentionSettings: { isRecordLocked: true }).

sharepoint_get_thumbnail_content

See a file's thumbnail image (photos, videos, Office documents and PDFs have one): returns the image.

sharepoint_get_thumbnail_set

One thumbnail set of a file (thumbnailSetId 0 is the file's own): small, medium and large with url, width and height.

sharepoint_list_thumbnails

Thumbnail images of a file (small, medium, large), each with a short-lived url, width and height.

sharepoint_get_drive

A document library's details: id (the driveId), name, driveType (documentLibrary), owner, quota (total, used, remaining, state) and webUrl.

sharepoint_get_group_drive

The document library of a Microsoft 365 group or team (its Files tab), by group id: returns the library's id.

sharepoint_get_tenant_settings

Read the organization's SharePoint and OneDrive settings: sharing capability, allowed domains, idle sign-out and more.

sharepoint_list_changes

Track changes in a library: the first call lists every item; keep the @odata.deltaLink (deltaCursor) from the last page and pass it as cursor later to get only what changed since (deleted items carry deleted).

sharepoint_update_tenant_settings

Change organization-wide SharePoint and OneDrive settings.

Connect SharePoint to Claude, ChatGPT and Claude Code

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the SharePoint side.

Register an app in the Microsoft Entra admin center, add PopMCP's Redirect URI under Authentication as a Web platform, copy the Application (client) ID and a client secret Value into PopMCP, then click Sign in with Microsoft and approve access on Microsoft's own page. In most organizations an administrator approves SharePoint once.

Application (client) ID00001111-aaaa-2222-bbbb-3333cccc4444
Client secret Value••••••••••••3f7a
Directory (tenant) IDLeave empty unless your app is single tenant
Authorize PopMCP on SharePointAuthorize

Then just ask for the work

  • “List the open items in the Marketing team's Project tasks list and who owns each one”

    • search_sites
    • describe_list
    • list_items
  • “Find our latest pricing proposal anywhere in SharePoint and tell me what it promises”

    • search
    • read_file
  • “Here is a link to a SharePoint folder: what is in it, and which file changed last?”

    • resolve_url
    • list_files
  • “Add these twelve new clients as rows in the Clients list”

    • describe_list
    • create_list_items
  • “Save these meeting notes in the Documents library of the Sales site, under Meetings”

    • upload_file
  • “Draft a news post about the office move on the intranet, but do not publish it yet”

    • create_page
    • read_page

Use SharePoint from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

SharePoint MCP server questions

What teams ask before putting SharePoint behind an AI client.

How do I connect SharePoint to PopMCP?

Sign in with your work or school Microsoft account and approve access on Microsoft's own page, so your password never reaches PopMCP. Today that sign-in runs through an app you register once in the Microsoft Entra admin center: add PopMCP's Redirect URI under Authentication as a Web platform, then copy the Application (client) ID and a client secret Value into the connect form. Tokens renew on their own after that, and every Microsoft connector uses the same Redirect URI.

Do I need an administrator?

In most organizations, yes, once. Since 2025 Microsoft's default consent settings stop people approving an app that asks for Sites.Read.All or Sites.ReadWrite.All on their own, and nothing narrower reaches SharePoint sites. An administrator approves it on Microsoft's approval screen, or under API permissions on the app, and after that everyone can connect. The term store, site administration and organization settings are separate boxes under More options, and always need an administrator.

Which sites can the AI see?

The sites you can open yourself, and nothing more. The connection acts as you, so SharePoint's own permissions apply to every call, and a site you cannot open stays closed to the AI too. There is no site to choose when connecting: the AI finds the right one by name, by search, or from a link you give it.

Can I just paste a SharePoint link?

Yes. Sites, lists, library folders, files, pages and rows can all be named by their link, and resolve_url says what any link points to. Short sharing links are the one exception on a read-only connection: Microsoft opens those only for a connection with write permission, so open the link once and pass the full address instead.

Can it read Word, Excel and PDF files?

read_file returns the text of Word, PowerPoint and Excel files, plain text, CSV, JSON, Markdown and HTML, and shows PNG, JPEG, GIF and WebP images. It reads files up to 10 MB, and long ones in parts. PDFs are described rather than read, with a link to open them.

Will a new page go live by itself?

No. create_page saves a draft unless you ask for it to be published, because a published page shows to everyone who can open the site. publish_page is a separate step, and only runs on a connection you have allowed to write.

Does it work with a personal Microsoft account?

No. SharePoint exists only in Microsoft 365 work and school accounts, so the sign-in only accepts those. For a personal account's files, use the OneDrive connector.

Do I have to run or host the SharePoint MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect SharePoint to Claude Code?

Connect SharePoint in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking SharePoint on the consent screen. The SharePoint tools are then available in that session, and no SharePoint credential is stored on your machine.

Why do only 43 of the 264 tools load by default?

Loading 264 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 43-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 264 here. A trigger is something PopMCP watches for you: 14 SharePoint events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into SharePoint.

Connect SharePoint to your AI in minutes

Launch a hosted MCP endpoint for SharePoint, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP