Lets Claude Desktop work with SharePoint Online sites, lists and files through the SharePoint REST API.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add sharepoint --env SHAREPOINT_CLIENT_ID='<SHAREPOINT_CLIENT_ID>' --env SHAREPOINT_CLIENT_SECRET='<SHAREPOINT_CLIENT_SECRET>' --env SHAREPOINT_TENANT_ID='<SHAREPOINT_TENANT_ID>' -- npx -y server-sharepoint~/.codex/config.toml
[mcp_servers.sharepoint]
command = "npx"
args = ["-y", "server-sharepoint"]
env = { SHAREPOINT_CLIENT_ID = "<SHAREPOINT_CLIENT_ID>", SHAREPOINT_CLIENT_SECRET = "<SHAREPOINT_CLIENT_SECRET>", SHAREPOINT_TENANT_ID = "<SHAREPOINT_TENANT_ID>" }
# codex mcp add sharepoint --env SHAREPOINT_CLIENT_ID='<SHAREPOINT_CLIENT_ID>' --env SHAREPOINT_CLIENT_SECRET='<SHAREPOINT_CLIENT_SECRET>' --env SHAREPOINT_TENANT_ID='<SHAREPOINT_TENANT_ID>' -- npx -y server-sharepoint~/.cursor/mcp.json
{
"mcpServers": {
"sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<SHAREPOINT_CLIENT_ID>",
"SHAREPOINT_CLIENT_SECRET": "<SHAREPOINT_CLIENT_SECRET>",
"SHAREPOINT_TENANT_ID": "<SHAREPOINT_TENANT_ID>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"sharepoint": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<SHAREPOINT_CLIENT_ID>",
"SHAREPOINT_CLIENT_SECRET": "<SHAREPOINT_CLIENT_SECRET>",
"SHAREPOINT_TENANT_ID": "<SHAREPOINT_TENANT_ID>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<SHAREPOINT_CLIENT_ID>",
"SHAREPOINT_CLIENT_SECRET": "<SHAREPOINT_CLIENT_SECRET>",
"SHAREPOINT_TENANT_ID": "<SHAREPOINT_TENANT_ID>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<SHAREPOINT_CLIENT_ID>",
"SHAREPOINT_CLIENT_SECRET": "<SHAREPOINT_CLIENT_SECRET>",
"SHAREPOINT_TENANT_ID": "<SHAREPOINT_TENANT_ID>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<SHAREPOINT_CLIENT_ID>",
"SHAREPOINT_CLIENT_SECRET": "<SHAREPOINT_CLIENT_SECRET>",
"SHAREPOINT_TENANT_ID": "<SHAREPOINT_TENANT_ID>"
}
}
}
}Environment variables
SHAREPOINT_CLIENT_IDSHAREPOINT_CLIENT_SECRETSHAREPOINT_TENANT_ID
Replace the placeholders with your own credentials and keep them out of version control.