Skip to main content
Glama
SharePoint MCP Server

SharePoint MCP Server

by Sofias-ai

SharePoint MCP 서버

라이센스: MIT

Microsoft SharePoint와의 원활한 통합을 지원하는 경량 MCP 서버로, MCP 클라이언트가 문서, 폴더 및 기타 SharePoint 리소스와 상호 작용할 수 있도록 지원합니다. sofias tech 에서 개발했습니다.

특징

이 서버는 문서 관리를 위한 최적화된 작업과 함께 모델 컨텍스트 프로토콜(MCP)을 통해 SharePoint 리소스에 대한 깔끔한 인터페이스를 제공합니다.

도구

서버는 다음 도구를 구현합니다.

  • List_SharePoint_Folders : 지정된 디렉토리 또는 루트에 있는 모든 폴더를 나열합니다.

  • List_SharePoint_Documents : 지정된 폴더 내의 모든 문서를 가져옵니다.

  • Get_Document_Content : 문서의 내용을 검색합니다(텍스트 또는 base64로 인코딩된 바이너리).

  • Create_Folder : 지정된 디렉토리 또는 루트에 새 폴더를 만듭니다.

  • Upload_Document : 지정된 폴더에 새 문서를 업로드합니다.

  • Upload_Document : 경로에서 대용량 문서를 업로드합니다.

  • Update_Document : 기존 문서의 내용을 업데이트합니다.

  • Delete_Document : 지정된 폴더에서 문서를 제거합니다.

  • Delete_Folder : SharePoint에서 빈 폴더를 삭제합니다.

Related MCP server: MCP Server

건축학

서버는 리소스 효율성을 염두에 두고 구축되었습니다.

  • 선택적 속성 로딩을 통한 효율적인 SharePoint API 사용

  • 더 깔끔한 코드를 위한 데코레이터를 통한 오류 처리

  • 리소스 관리와 도구 구현 간의 명확한 분리

  • 텍스트 및 바이너리 파일 모두에 대한 최적화된 콘텐츠 처리

설정

  1. 적절한 SharePoint 권한으로 Azure AD에 앱 등록

  2. 등록된 앱의 클라이언트 ID와 클라이언트 비밀번호를 얻으세요

  3. 작업하려는 SharePoint 사이트 URL과 문서 라이브러리 경로를 식별하세요.

환경 변수

서버에는 다음과 같은 환경 변수가 필요합니다.

  • SHP_ID_APP : Azure AD 애플리케이션 클라이언트 ID

  • SHP_ID_APP_SECRET : Azure AD 애플리케이션 클라이언트 비밀번호

  • SHP_SITE_URL : SharePoint 사이트의 URL

  • SHP_DOC_LIBRARY : 문서 라이브러리 경로(기본값: "Shared Documents/mcp_server")

  • SHP_TENANT_ID : Microsoft 테넌트 ID

빠른 시작

설치

지엑스피1

또는 게시된 후 PyPI에서 설치하세요.

pip install mcp-sharepoint-server

uv를 사용하여:

uv pip install mcp-sharepoint-server

Claude 데스크톱 통합

Claude Desktop과 통합하려면 구성 파일을 업데이트하세요.

Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json macOS의 경우: ~/Library/Application\ Support/Claude/claude_desktop_config.json

표준 통합

"mcpServers": {
  "sharepoint": {
    "command": "mcp-sharepoint",
    "env": {
      "SHP_ID_APP": "your-app-id",
      "SHP_ID_APP_SECRET": "your-app-secret",
      "SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
      "SHP_DOC_LIBRARY": "Shared Documents/your-folder",
      "SHP_TENANT_ID": "your-tenant-id"
    }
  }
}

uvx 사용

"mcpServers": {
  "sharepoint": {
    "command": "uvx",
    "args": [
      "mcp-sharepoint"
    ],
    "env": {
      "SHP_ID_APP": "your-app-id",
      "SHP_ID_APP_SECRET": "your-app-secret",
      "SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
      "SHP_DOC_LIBRARY": "Shared Documents/your-folder",
      "SHP_TENANT_ID": "your-tenant-id"
    }
  }
}

개발

요구 사항

  • 파이썬 3.10+

  • requirements.txt 및 pyproject.toml 에 나열된 종속성

지역 개발

  1. 저장소를 복제합니다

  2. 가상 환경 만들기:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. 개발 종속성 설치:

    pip install -e .
  4. SharePoint 자격 증명을 사용하여 .env 파일을 만듭니다.

    SHP_ID_APP=your-app-id
    SHP_ID_APP_SECRET=your-app-secret
    SHP_SITE_URL=https://your-tenant.sharepoint.com/sites/your-site
    SHP_DOC_LIBRARY=Shared Documents/your-folder
    SHP_TENANT_ID=your-tenant-id
  5. 서버를 실행합니다:

    python -m mcp_sharepoint

디버깅

MCP 서버를 디버깅하려면 MCP Inspector를 사용할 수 있습니다.

npx @modelcontextprotocol/inspector -- python -m mcp_sharepoint

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

Copyright (c) 2025 소피아스테크

Available Tools

9 tools
Create_FolderC

Create a new folder in the specified directory or root if not specified

NameRequiredDescriptionDefault
folder_nameYes
parent_folderNo
Delete_DocumentC

Delete a document from a SharePoint directory

NameRequiredDescriptionDefault
file_nameYes
folder_nameYes
Delete_FolderC

Delete an empty folder from SharePoint

NameRequiredDescriptionDefault
folder_pathYes
Get_Document_ContentC

Get content of a document in SharePoint

NameRequiredDescriptionDefault
file_nameYes
folder_nameYes
List_SharePoint_DocumentsC

List all documents in a specified SharePoint folder

NameRequiredDescriptionDefault
folder_nameYes
List_SharePoint_FoldersB

List folders in the specified SharePoint directory or root if not specified

NameRequiredDescriptionDefault
parent_folderNo
Update_DocumentC

Update an existing document in a SharePoint directory

NameRequiredDescriptionDefault
contentYes
file_nameYes
folder_nameYes
is_base64No
Upload_DocumentC

Upload a new file to a SharePoint directory

NameRequiredDescriptionDefault
contentYes
file_nameYes
folder_nameYes
is_base64No
Upload_Document_From_PathC

Upload a file directly from a file path to SharePoint

NameRequiredDescriptionDefault
file_pathYes
folder_nameYes
new_file_nameNo

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv1.0.0
    • First observedCreate_Folder
    • First observedDelete_Document
    • First observedDelete_Folder
    • First observedGet_Document_Content
    • First observedList_SharePoint_Documents
    • First observedList_SharePoint_Folders
    • First observedUpdate_Document
    • First observedUpload_Document
    • First observedUpload_Document_From_Path

TDQS

B3.4/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have distinct purposes, but 'Upload_Document' and 'Upload_Document_From_Path' could cause confusion as they both handle document uploads with only a slight difference in source specification. The other tools clearly target different operations like creation, deletion, listing, and updating.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores, such as 'Create_Folder', 'Delete_Document', and 'List_SharePoint_Documents'. This uniformity makes the set predictable and easy to navigate for an agent.

Tool Count5/5

With 9 tools, the server is well-scoped for managing SharePoint documents and folders. It covers essential operations without being overly complex, making it appropriate for typical file management tasks in this domain.

Completeness4/5

The toolset provides strong coverage for document and folder management, including CRUD operations like create, read, update, and delete. A minor gap is the lack of a tool for moving or renaming items, which might require workarounds, but core workflows are well-supported.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
    16 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
    17 npm
    3
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides tools to interact with Folderr's API, specifically for managing and communicating with Folderr Assistants.
    7
    19 npm
    3
    MIT