使用说明
SharePoint MCP服务器
模型上下文协议(MCP)服务器,通过Microsoft Graph API为Claude提供对Microsoft SharePoint的访问。
特性
- 文件夹管理:列出、创建、删除文件夹和查看文件夹树结构
- 文档操作:上传、下载、阅读、更新和删除文档
- 元数据支持:获取和更新文件元数据字段
- OAuth 2.0身份验证:通过浏览器流进行安全的基于用户的身份验证
- 一致的架构:与Outlook MCP相同的模块化模式,便于维护
快速开始
1.安装依赖项
cd sharepoint-mcp
npm install
2.Azure AD设置
- 首选 Azure门户 > 应用程序注册 > 新注册
- 姓名:
sharepoint-mcp(或您喜欢的名字) - 支持的帐户类型:“仅此组织目录中的帐户”
- 重定向URI:
Web>http://localhost:3334/auth/callback - 点击 注册
注册后:
- 复制 应用程序(客户端)ID
- 复制 目录(租户)ID
- 首选 证书和秘密 > 新客户机密
- 复制 价值 (不是秘密ID!)
- 首选 API权限 > 添加权限 > 微软图形 > 委托权限
- 添加:
Sites.ReadWrite.All,Files.ReadWrite.All
- 添加:
- 点击 授予管理员同意 (需要管理员)
3.配置环境
创建一个 .env 文件:
SHAREPOINT_CLIENT_ID=your-client-id
SHAREPOINT_CLIENT_SECRET=your-client-secret-value
SHAREPOINT_TENANT_ID=your-tenant-id
SHAREPOINT_SITE_URL=https://your-tenant.sharepoint.com/sites/your-site
SHAREPOINT_DOC_LIBRARY=Shared Documents
4.身份验证
# Start the auth server
npm run auth-server
# Open http://localhost:3334 in your browser and complete authentication
5.运行服务器
npm start
Claude桌面集成
添加到您的Claude Desktop配置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"sharepoint-assistant": {
"command": "node",
"args": ["/path/to/sharepoint-mcp/index.js"],
"env": {
"SHAREPOINT_CLIENT_ID": "your-client-id",
"SHAREPOINT_CLIENT_SECRET": "your-client-secret",
"SHAREPOINT_TENANT_ID": "your-tenant-id",
"SHAREPOINT_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
"SHAREPOINT_DOC_LIBRARY": "Shared Documents"
}
}
}
}
可用工具
认证
| 工具 | 说明 |
|---|---|
authenticate |
启动OAuth身份验证流程 |
check_auth_status |
检查当前身份验证状态 |
logout |
清除存储的令牌 |
文件夹操作
| 工具 | 说明 |
|---|---|
list_folders |
列出目录中的文件夹 |
create_folder |
创建新文件夹 |
delete_folder |
删除空文件夹 |
get_folder_tree |
获取递归文件夹结构 |
文档操作
| 工具 | 说明 |
|---|---|
list_documents |
列出文件夹中的文档 |
get_document_content |
读取文档内容 |
upload_document |
将内容上传为新文档 |
upload_document_from_path |
上传本地文件 |
update_document |
更新现有文档 |
delete_document |
删除文档 |
download_document |
下载到本地文件系统 |
get_file_metadata |
获取文件元数据字段 |
update_file_metadata |
更新元数据字段 |
发展
# Run with MCP Inspector for testing
npm run inspect
# Run in test mode (mock data)
npm run test-mode
# Run tests
npm test
建筑
sharepoint-mcp/
├── index.js # Main MCP server entry point
├── config.js # Configuration settings
├── sharepoint-auth-server.js # OAuth callback server
├── auth/ # Authentication module
│ ├── index.js
│ ├── token-manager.js # Token storage & refresh
│ └── tools.js # Auth tools
├── folder/ # Folder operations
│ ├── index.js
│ └── tools.js
├── document/ # Document operations
│ ├── index.js
│ └── tools.js
└── utils/ # Shared utilities
├── index.js
└── graph-api.js # Graph API client
故障排除
“需要身份验证”错误
- 确保您已运行身份验证服务器并完成浏览器身份验证
- 检查令牌是否存储在
~/.sharepoint-mcp-tokens.json
“AADST7000215”错误
- 您正在使用Secret ID而不是Secret值
- 返回Azure并复制实际的秘密值
“拒绝访问”错误
- 确保已授予API权限管理员同意
- 验证网站URL是否正确
端口3334正在使用中
npx kill-port 3334
许可证
麻省理工学院