SharePoint Graph for AI agents

SharePoint Graph uses Microsoft Graph to reach SharePoint sites, document libraries, lists, and Excel workbooks stored there. Teams use it for deeper automation across files and structured data. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

DocumentsOAuth 2.0MCP + RESTsharepoint.com
AUDIT LOG · SHAREPOINT GRAPHPOLICY: acme-support
09:41:07 · claude · u_8f2read
sharepoint_graph.list_lists
List SharePoint Lists✓ allowed · 212ms
09:41:08 · claude · u_8f2read
sharepoint_graph.get_list
Get SharePoint List✓ allowed · 164ms
09:41:09 · claude · u_8f2write
sharepoint_graph.create_list
Create SharePoint List✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
sharepoint_graph.delete_list
Delete SharePoint List✕ blocked · policy: deny
EVERY SHAREPOINT GRAPH CALL, ON THE RECORD
01 · USE CASES

What agents do in SharePoint Graph.

01

Update a shared Excel table

Add a row to a workbook table stored in a document library, like a shared tracking sheet.

02

Create a new site page

Publish a new SharePoint site page with content for a team or announcement.

03

Confirm before deleting a drive item

Check a file's version history and get approval before deleting it from a document library.

02 · ACTIONS

162 SharePoint Graph actions, graded by risk.

Every SharePoint Graph action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

75

Look things up. Allowed by default.

  • sharepoint_graph.get_list
    Get SharePoint List
  • sharepoint_graph.get_site
    Get SharePoint Site
  • sharepoint_graph.get_drive
    Get SharePoint Drive
  • sharepoint_graph.get_shares
    Get SharePoint Shared Item
  • sharepoint_graph.list_lists
    List SharePoint Lists
  • sharepoint_graph.list_sites
    List SharePoint Sites
  • sharepoint_graph.get_my_site
    Get Signed-In User SharePoint My Site
  • sharepoint_graph.search_query
    Run Microsoft Graph Search Query
  • sharepoint_graph.get_all_sites
    Get All SharePoint Sites
  • sharepoint_graph.get_list_item
    Get SharePoint List Item
  • sharepoint_graph.get_root_site
    Get Root SharePoint Site
  • sharepoint_graph.get_site_page
    Get SharePoint Site Page
  • sharepoint_graph.list_subsites
    List SharePoint Subsites
  • sharepoint_graph.get_drive_item
    Get SharePoint Drive Item
  • sharepoint_graph.get_list_column
    Get SharePoint List Column
  • sharepoint_graph.get_site_column
    Get SharePoint Site Column
+ 59 MORE

write

67

Create and change things. Allow, or ask the user first.

  • sharepoint_graph.create_list
    Create SharePoint List
  • sharepoint_graph.update_list
    Update SharePoint List
  • sharepoint_graph.update_site
    Update SharePoint Site
  • sharepoint_graph.create_folder
    Create SharePoint Folder
  • sharepoint_graph.create_list_item
    Create SharePoint List Item
  • sharepoint_graph.create_site_page
    Create SharePoint Site Page
  • sharepoint_graph.update_list_item
    Update SharePoint List Item
  • sharepoint_graph.update_site_page
    Update SharePoint Site Page
  • sharepoint_graph.add_workbook_name
    Add SharePoint Workbook Named Item
  • sharepoint_graph.update_drive_item
    Update SharePoint Drive Item
  • sharepoint_graph.add_workbook_chart
    Add SharePoint Workbook Chart
  • sharepoint_graph.add_workbook_table
    Add SharePoint Workbook Table
  • sharepoint_graph.create_list_column
    Create SharePoint List Column
  • sharepoint_graph.create_site_column
    Create SharePoint Site Column
  • sharepoint_graph.update_list_column
    Update SharePoint List Column
  • sharepoint_graph.update_site_column
    Update SharePoint Site Column
+ 51 MORE

destructive

20

Delete, cancel or archive. Ask first, or deny outright.

  • sharepoint_graph.delete_list
    Delete SharePoint List
  • sharepoint_graph.delete_list_item
    Delete SharePoint List Item
  • sharepoint_graph.delete_site_page
    Delete SharePoint Site Page
  • sharepoint_graph.delete_drive_item
    Delete SharePoint Drive Item
  • sharepoint_graph.delete_list_column
    Delete SharePoint List Column
  • sharepoint_graph.delete_site_column
    Delete SharePoint Site Column
  • sharepoint_graph.delete_subscription
    Delete Microsoft Graph Subscription
  • sharepoint_graph.delete_workbook_table
    Delete SharePoint Workbook Table
  • sharepoint_graph.delete_site_permission
    Delete SharePoint Site Permission
  • sharepoint_graph.delete_share_permission
    Delete SharePoint Share Permission
  • sharepoint_graph.delete_list_content_type
    Delete SharePoint List Content Type
  • sharepoint_graph.delete_site_content_type
    Delete SharePoint Site Content Type
  • sharepoint_graph.delete_drive_item_version
    Delete SharePoint Drive Item Version
  • sharepoint_graph.delete_workbook_worksheet
    Delete SharePoint Workbook Worksheet
  • sharepoint_graph.delete_drive_item_permission
    Delete SharePoint Drive Item Permission
  • sharepoint_graph.workbook_clear_range
    Clear SharePoint Workbook Range
+ 4 MORE
03 · HOW IT WORKS

SharePoint Graph in three steps.

  1. 01Your users connect SharePoint GraphThey sign in to SharePoint Graph on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, writes like “create SharePoint List” can wait for the user, and “delete SharePoint List” can be denied outright.
  3. 03Any agent can actYour agent calls SharePoint Graph through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('sharepoint_graph', {
  read: 'allow',
  write: 'ask',        // create_list
  destructive: 'deny',  // delete_list
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How SharePoint Graph connects.

Users sign in to SharePoint Graph on Arc0 Connect and approve the scopes you request. Build with Arc0’s SharePoint Graph OAuth app, or bring your own so the SharePoint Graph consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same SharePoint Graph connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
OAuth 2.0 · OAuth 2.0 client credentials
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use SharePoint Graph from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

SharePoint Graph and Arc0, answered.

Q01

Can I use SharePoint Graph with Claude, ChatGPT or Cursor?

Yes. Connect SharePoint Graph to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the SharePoint Graph actions you allow.

Q02

How do users connect SharePoint Graph?

Users sign in to SharePoint Graph on Arc0 Connect and approve the scopes you request. Build with Arc0’s SharePoint Graph OAuth app, or bring your own so the SharePoint Graph consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which SharePoint Graph actions can my agent take?

162 in total: 75 read, 67 write and 20 destructive, such as “create SharePoint List”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in SharePoint Graph?

Yes. Actions like “delete SharePoint List” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call SharePoint Graph too?

Yes. The same SharePoint Graph connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug SharePoint Graph into your agent.

Your users connect SharePoint Graph once, under your brand. Your agent gets 162 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan