Skip to main content
Glama
Sofias-ai

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.txtpyproject.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

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_nameYes
parent_folderNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation ('Create'), but lacks details on permissions required, error conditions (e.g., duplicate names), or what happens on success (e.g., returns a folder ID). For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('Create a new folder') and adds necessary context ('in the specified directory or root if not specified'). There is zero waste, and every word earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a mutation tool with 2 parameters), no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks information on return values, error handling, prerequisites (e.g., authentication), and detailed parameter usage. For a tool that creates resources, this leaves critical gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that 'parent_folder' defaults to root if not specified, which clarifies the optional parameter's behavior. However, it doesn't detail 'folder_name' constraints (e.g., length, invalid characters) or format for 'parent_folder' (e.g., path string). This provides some value but doesn't fully cover the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Create') and resource ('new folder'), specifying the action and target. It distinguishes from siblings like Delete_Folder or List_SharePoint_Folders by focusing on creation. However, it doesn't explicitly differentiate from Upload_Document, which might also create items, so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides basic context by mentioning 'specified directory or root if not specified,' but offers no guidance on when to use this tool versus alternatives like Upload_Document for files or List_SharePoint_Folders for checking existing folders. There are no explicit when/when-not instructions or named alternatives, leaving usage decisions unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Delete_DocumentC

Delete a document from a SharePoint directory

ParametersJSON Schema
NameRequiredDescriptionDefault
file_nameYes
folder_nameYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Delete' implies a destructive, irreversible mutation, but the description doesn't state whether this requires specific permissions, what happens on success/failure, if there's a confirmation step, or any rate limits. For a destructive tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without unnecessary words. It is appropriately sized and front-loaded, with every word earning its place. No structural issues or redundancy are present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's destructive nature, 2 parameters with 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks critical context like behavioral traits, parameter details, error handling, and output expectations. For a deletion tool, this minimal description poses risks for correct agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter descriptions. The description mentions 'document' and 'SharePoint directory', which loosely maps to file_name and folder_name, but adds no details on format (e.g., case sensitivity, path structure), constraints, or examples. With 2 undocumented parameters, the description fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete') and resource ('a document from a SharePoint directory'), making the purpose immediately understandable. It distinguishes from siblings like Delete_Folder by specifying 'document' rather than 'folder', though it doesn't explicitly contrast them. The description is specific but lacks explicit sibling differentiation for a full score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., document must exist), exclusions (e.g., cannot delete system files), or when to choose other tools like Update_Document or Delete_Folder. Without any usage context, the agent must infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Delete_FolderC

Delete an empty folder from SharePoint

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_pathYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the folder must be empty, which is a critical constraint, but fails to address permissions, irreversibility, error handling, or response format. For a destructive operation, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste—it states the action, resource, and key constraint directly. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's destructive nature, lack of annotations, no output schema, and 0% schema coverage, the description is incomplete. It misses critical details like permissions, error cases, and return values, which are essential for safe and effective use in a SharePoint context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it adds no parameter details beyond what's implied by the tool name. The single parameter 'folder_path' is undocumented in both schema and description, leaving its format and semantics unclear. Baseline 3 is given as it minimally meets expectations without adding value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete') and resource ('an empty folder from SharePoint'), making the purpose immediately understandable. It distinguishes from siblings like Delete_Document by specifying folder deletion, though it doesn't explicitly contrast with all alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance—it specifies the folder must be empty, but offers no explicit when-to-use rules, prerequisites, or comparisons to alternatives like Delete_Document. This leaves the agent with insufficient context for optimal tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Get_Document_ContentC

Get content of a document in SharePoint

ParametersJSON Schema
NameRequiredDescriptionDefault
file_nameYes
folder_nameYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves content, implying a read-only operation, but doesn't specify details like authentication requirements, rate limits, error handling, or output format (e.g., text, binary). This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to scan and understand quickly. Every word earns its place by conveying essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a document retrieval tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on parameters, behavioral traits (e.g., permissions, errors), and expected output, making it inadequate for the agent to use the tool effectively without additional context or trial-and-error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, meaning parameters are undocumented in the schema. The description adds no information about the parameters (file_name and folder_name), such as their purpose, format (e.g., paths, names), or constraints. It fails to compensate for the lack of schema documentation, leaving parameters ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get content') and resource ('document in SharePoint'), which is specific and unambiguous. However, it doesn't differentiate from potential siblings like 'List_SharePoint_Documents' or 'Update_Document', which might also involve document content in some way, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a document to exist), exclusions (e.g., not for editing), or compare to siblings like 'List_SharePoint_Documents' for browsing or 'Update_Document' for modifications, leaving the agent to infer usage from context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

List_SharePoint_DocumentsC

List all documents in a specified SharePoint folder

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_nameYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but only states the basic operation. It doesn't mention whether this is a read-only operation, what permissions are required, how results are returned (pagination, format), rate limits, or error conditions. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently communicates the core functionality without unnecessary words. It's appropriately sized for a simple list operation and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, 0% schema description coverage, and no output schema, the description is insufficiently complete. A list operation typically needs information about result format, pagination, sorting, filtering options, and error handling - none of which are addressed. The description only covers the most basic 'what' without the 'how' or 'what to expect.'

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for the single parameter 'folder_name', the description adds no semantic information about what this parameter represents, valid formats, examples, or constraints. The schema only provides a title 'Folder Name' with no description, so the tool definition lacks essential parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all documents') and resource ('in a specified SharePoint folder'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'List_SharePoint_Folders' or 'Get_Document_Content', which would require more specific scope clarification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'List_SharePoint_Folders' for folders or 'Get_Document_Content' for document details. There's no mention of prerequisites, limitations, or appropriate contexts for selecting this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

List_SharePoint_FoldersB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_folderNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the action ('List folders') and default behavior ('root if not specified'), but fails to describe critical aspects such as pagination, sorting, filtering, error handling, or authentication requirements. For a list operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('List folders') and includes essential details (location and default). There is no wasted verbiage, making it appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (listing folders in a SharePoint context), no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks information on return values (e.g., structure of folder list), error cases, permissions, or integration with sibling tools, leaving the agent with insufficient context for reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds some meaning by explaining that the parameter specifies a 'SharePoint directory' and defaults to 'root if not specified', which clarifies the optional nature and purpose of 'parent_folder'. However, with 0% schema description coverage and only 1 parameter, this provides basic context but doesn't fully compensate for the lack of schema details (e.g., format of the string).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('folders in the specified SharePoint directory'), making the purpose understandable. It distinguishes from siblings like List_SharePoint_Documents by specifying folders vs. documents, though it doesn't explicitly mention this distinction. However, it lacks full sibling differentiation (e.g., vs. Get_Document_Content).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating 'root if not specified', suggesting it can be used for both specific directories and the root, but it doesn't provide explicit guidance on when to use this tool over alternatives like List_SharePoint_Documents or other siblings. No when-not-to-use or prerequisite information is included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Update_DocumentC

Update an existing document in a SharePoint directory

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
file_nameYes
folder_nameYes
is_base64No

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool updates documents but fails to mention critical aspects like required permissions, whether the update overwrites or merges content, error handling, or any rate limits. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, straightforward sentence with no wasted words. It is appropriately sized and front-loaded, clearly stating the tool's purpose without unnecessary elaboration, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a document update operation, no annotations, no output schema, and 0% schema coverage, the description is inadequate. It lacks details on parameters, behavior, error cases, and output, making it incomplete for effective tool invocation by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions no parameters at all, failing to explain the meaning of 'content', 'file_name', 'folder_name', or 'is_base64'. This leaves all four parameters semantically unclear beyond their titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update') and resource ('an existing document in a SharePoint directory'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'Upload_Document', which might also modify documents, leaving room for ambiguity in sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'Upload_Document' or 'Delete_Document'. It lacks context about prerequisites (e.g., document must exist), exclusions, or comparisons to sibling tools, offering minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Upload_DocumentC

Upload a new file to a SharePoint directory

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
file_nameYes
folder_nameYes
is_base64No

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Upload a new file') but lacks details on permissions required, file size limits, error handling, or whether the operation is idempotent. For a mutation tool with zero annotation coverage, this leaves critical behavioral traits unspecified, though it doesn't contradict any annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and resource. Every word earns its place without redundancy, making it easy to parse quickly. There's no wasted text or unnecessary elaboration, which is ideal for tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a mutation operation with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication needs, error cases, or return values, nor does it fully explain parameter usage. For a file upload tool in a SharePoint context, more detail is warranted to ensure correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions uploading 'a new file to a SharePoint directory', which implies 'folder_name' and 'file_name', but doesn't explain 'content' (e.g., text or binary data) or 'is_base64' (e.g., encoding format). With 4 parameters and no schema descriptions, the description adds minimal semantic value beyond basic inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Upload') and resource ('a new file to a SharePoint directory'), making the purpose immediately understandable. It distinguishes from siblings like 'Create_Folder' or 'Delete_Document' by specifying file upload rather than folder creation or deletion. However, it doesn't explicitly differentiate from 'Upload_Document_From_Path', which handles uploads from a file path instead of content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites like authentication, compare with 'Upload_Document_From_Path' for path-based uploads, or indicate scenarios like handling large files or specific SharePoint permissions. Without such context, users must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Upload_Document_From_PathC

Upload a file directly from a file path to SharePoint

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes
folder_nameYes
new_file_nameNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the basic operation. It doesn't disclose behavioral traits such as required permissions, file size limits, overwrite behavior, error handling, or response format, leaving significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste, clearly front-loaded with the core action. It's appropriately sized for the tool's scope without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a file upload operation, no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on behavior, parameters, and outcomes, making it inadequate for safe and effective use by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but adds no parameter details. It doesn't explain what 'file_path', 'folder_name', or 'new_file_name' mean, their formats, or constraints, failing to address the undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Upload a file') and target resource ('to SharePoint') with a specific method ('directly from a file path'). It distinguishes from the sibling 'Upload_Document' by specifying the source method, though not explicitly contrasting them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'Upload_Document' or other siblings. The description implies usage for file uploads from local paths but lacks explicit context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.
    14 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.
    20 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
    11 npm
    3
    MIT