SharePoint MCP Server
SharePoint MCP Server
A Model Context Protocol (MCP) server that provides Claude with access to Microsoft SharePoint via the Microsoft Graph API.
Features
Folder Management: List, create, delete folders and view folder tree structure
Document Operations: Upload, download, read, update, and delete documents
Metadata Support: Get and update file metadata fields
OAuth 2.0 Authentication: Secure user-based authentication via browser flow
Consistent Architecture: Same modular pattern as Outlook MCP for easy maintenance
Related MCP server: SharePoint Online MCP Server
Quick Start
1. Install Dependencies
cd sharepoint-mcp
npm install2. Azure AD Setup
Go to Azure Portal > App registrations > New registration
Name:
sharepoint-mcp(or your preferred name)Supported account types: "Accounts in this organizational directory only"
Redirect URI:
Web>http://localhost:3334/auth/callbackClick Register
After registration:
Copy the Application (client) ID
Copy the Directory (tenant) ID
Go to Certificates & secrets > New client secret
Copy the Value (not the Secret ID!)
Go to API permissions > Add a permission > Microsoft Graph > Delegated permissions
Add:
Sites.ReadWrite.All,Files.ReadWrite.All
Click Grant admin consent (requires admin)
3. Configure Environment
Create a .env file:
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 Documents4. Authenticate
# Start the auth server
npm run auth-server
# Open http://localhost:3334 in your browser and complete authentication5. Run the Server
npm startClaude Desktop Integration
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %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"
}
}
}
}Available Tools
Authentication
Tool | Description |
| Start the OAuth authentication flow |
| Check current authentication status |
| Clear stored tokens |
Folder Operations
Tool | Description |
| List folders in a directory |
| Create a new folder |
| Delete an empty folder |
| Get recursive folder structure |
Document Operations
Tool | Description |
| List documents in a folder |
| Read document content |
| Upload content as a new document |
| Upload a local file |
| Update an existing document |
| Delete a document |
| Download to local filesystem |
| Get file metadata fields |
| Update metadata fields |
Development
# Run with MCP Inspector for testing
npm run inspect
# Run in test mode (mock data)
npm run test-mode
# Run tests
npm testArchitecture
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 clientTroubleshooting
"Authentication required" error
Ensure you've run the auth server and completed browser authentication
Check that tokens are stored in
~/.sharepoint-mcp-tokens.json
"AADSTS7000215" error
You're using the Secret ID instead of the Secret Value
Go back to Azure and copy the actual secret value
"Access denied" error
Ensure admin consent was granted for the API permissions
Verify the site URL is correct
Port 3334 in use
npx kill-port 3334License
MIT
Available Tools
16 toolsauthenticateA
Start the SharePoint authentication process. Returns a URL that the user must open in a browser to authenticate. The auth server must be running first (npm run auth-server).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: it returns a URL for user browser authentication and requires a running auth server. However, it doesn't cover other aspects like error handling, timeouts, or what happens if the server isn't running. The description adds value but lacks comprehensive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: it starts with the core purpose, then adds essential details (returns a URL, server prerequisite). Every sentence earns its place with no wasted words, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0 parameters, the description is moderately complete. It explains the tool's purpose, output (a URL), and a prerequisite. However, for an authentication tool, it could benefit from more context, such as what the URL is used for or how to handle the authentication flow after opening it. It's adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter info, which is appropriate. Baseline is 4 for 0 parameters, as it doesn't need to compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Start the SharePoint authentication process.' It specifies the verb ('Start') and resource ('SharePoint authentication process'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'check_auth_status' or 'logout', which are related to authentication but serve different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: 'The auth server must be running first (npm run auth-server).' This gives a prerequisite condition. It doesn't explicitly state when not to use it or name alternatives, but the context implies it's for initiating authentication, not checking status or logging out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_auth_statusB
Check the current SharePoint authentication status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 checking authentication status but doesn't specify what the status includes (e.g., logged in, permissions, token validity), whether it's safe to call frequently, or what happens on failure. This leaves critical behavioral traits unclear for a tool that likely interacts with authentication systems.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words, front-loading the core action ('Check'). It's appropriately sized for a simple tool with no parameters, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of authentication tools and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the check returns (e.g., boolean status, detailed auth info, error codes) or prerequisites (e.g., must be initialized first). For a tool that likely informs other operations, this gap could hinder effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, but it could have mentioned implicit context like user or session if relevant. Baseline is 4 for zero parameters, as the schema fully covers the absence of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Check') and resource ('SharePoint authentication status'), making the purpose immediately understandable. It doesn't distinguish from siblings like 'authenticate' or 'logout', but it's specific enough to avoid confusion with other tools that manipulate documents or folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'authenticate' or 'logout', or in what context it's appropriate. The description only states what it does, not when it should be invoked, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_folderC
Create a new folder in SharePoint
| Name | Required | Description | Default |
|---|---|---|---|
| folder_name | Yes | Name of the folder to create | |
| parent_folder | No | Parent folder path. Leave empty to create in root. |
TDQS
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. It states the tool creates a folder but doesn't mention what happens on success (e.g., returns folder ID/path), failure modes (e.g., duplicate names, permissions errors), or side effects (e.g., whether it updates parent folder metadata). For a mutation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place by conveying essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., success confirmation, folder details), error conditions, or how it interacts with sibling tools (e.g., whether created folders appear in 'list_folders'). For a tool that modifies state, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly documented in the schema itself. The description adds no additional parameter semantics beyond what's already in the schema (e.g., no examples of valid folder names or parent folder paths). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and target resource ('new folder in SharePoint'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'upload_document' which might also create items, nor does it specify if this is for document libraries or general folders, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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' (which might create folders implicitly) or 'list_folders' (for checking existing folders). There's no mention of prerequisites (e.g., authentication status) or typical use cases, 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.
delete_documentC
Delete a document from SharePoint
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | Folder containing the document | |
| file_name | Yes | Name of the file to delete |
TDQS
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. While 'Delete' implies a destructive mutation, the description doesn't address critical aspects like whether deletion is permanent or reversible, what permissions are required, whether confirmation is needed, or what happens to related metadata. This leaves significant gaps for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple operation and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after deletion, whether there's confirmation or error handling, or what the response looks like. Given the complexity and risk of a delete operation, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly documented in the schema. The description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and target resource ('a document from SharePoint'), providing specific verb+resource pairing. However, it doesn't distinguish this tool from sibling 'delete_folder' which performs a similar destructive operation on a different resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like 'update_document' or 'delete_folder', nor about prerequisites like authentication status. The description offers no context about appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_folderA
Delete a folder from SharePoint. The folder must be empty.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | Yes | Path to the folder to delete |
TDQS
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 reveals a critical constraint ('The folder must be empty') which is valuable behavioral information. However, it doesn't disclose other important traits like authentication requirements, error conditions, whether deletion is permanent/reversible, or what happens on success/failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place: the first states the core purpose, the second provides a critical constraint. No wasted words, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description provides the essential constraint about empty folders but lacks other important context. It doesn't explain what happens after deletion, error conditions, authentication requirements, or return values, leaving significant gaps for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'folder_path' well-documented in the schema. The description doesn't add any parameter-specific information beyond what the schema already provides, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Delete') and resource ('a folder from SharePoint'), distinguishing it from sibling tools like 'delete_document' which handles different resource types. It provides precise scope information about what gets deleted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool ('The folder must be empty'), which implicitly suggests alternatives like deleting documents first or using other cleanup tools. However, it doesn't explicitly name alternative tools or specify when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_documentC
Download a document from SharePoint to the local filesystem
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | SharePoint folder containing the document | |
| file_name | Yes | Name of the file to download | |
| local_path | Yes | Local path to save the file (including filename) |
TDQS
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 action but lacks critical details: it doesn't specify if this overwrites existing local files, requires specific permissions, handles errors (e.g., missing files), or has rate limits. For a tool that writes to the local filesystem, this omission is significant and could lead to misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that efficiently conveys the core action without any fluff. It's front-loaded with the key verb ('Download') and resource, making it easy to parse. Every word earns its place, and there's no redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a file operation with no annotations and no output schema, the description is incomplete. It doesn't explain what happens on success (e.g., file saved, path returned) or failure, nor does it cover behavioral aspects like overwriting or permissions. For a tool that interacts with both SharePoint and the local filesystem, more context is needed to use it safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters ('folder_path', 'file_name', 'local_path') with clear descriptions. The description adds no additional meaning beyond implying a download operation, which is already evident from the tool name. This meets the baseline for high schema coverage but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Download') and resource ('a document from SharePoint to the local filesystem'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_document_content' (which might retrieve content without saving locally) or 'upload_document' (the inverse operation), leaving some ambiguity about when this specific tool is preferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. For example, it doesn't mention whether this is for saving files locally versus just viewing content (compared to 'get_document_content'), or if it requires authentication first (though 'authenticate' is a sibling). There's no context about prerequisites, exclusions, or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_contentB
Get the content of a document from SharePoint. Works best with text-based files (txt, json, md, etc).
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | Folder containing the document | |
| file_name | Yes | Name of the file to read |
TDQS
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 file type preferences but doesn't address critical aspects like authentication requirements, error handling for non-text files, rate limits, or whether this is a read-only operation. For a tool accessing external resources without 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two sentences, both of which add value. The first sentence states the core purpose, and the second provides important usage context about file types. There's no wasted verbiage or repetition, making it efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (accessing external document content) with no annotations and no output schema, the description provides basic purpose and file type guidance but lacks information about authentication requirements, return format, error conditions, or how it differs from similar tools. It's minimally adequate but has clear gaps that could hinder effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for both 'folder_path' and 'file_name' parameters. The description doesn't add any parameter-specific information beyond what's already in the schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the content') and resource ('a document from SharePoint'), making the purpose immediately understandable. It distinguishes from siblings like 'get_file_metadata' by focusing on content retrieval rather than metadata. However, it doesn't explicitly differentiate from 'download_document', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage guidance by specifying 'Works best with text-based files (txt, json, md, etc)', which helps the agent understand appropriate contexts. However, it doesn't explicitly state when to use this tool versus alternatives like 'download_document' or 'get_file_metadata', nor does it mention any prerequisites (e.g., authentication status). The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_metadataC
Get metadata fields for a SharePoint file
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | Folder containing the document | |
| file_name | Yes | Name of the file |
TDQS
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 metadata, implying a read-only operation, but doesn't specify authentication requirements, rate limits, error conditions, or what metadata fields are returned. This leaves significant gaps for an agent to understand 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what metadata is returned, authentication needs, or how it differs from siblings. Given the complexity of SharePoint operations and lack of structured data, more context is needed for an agent to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('metadata fields for a SharePoint file'), making the purpose understandable. However, it doesn't distinguish this tool from sibling tools like 'get_document_content' or 'update_file_metadata', which would require more specific differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor does it compare with siblings such as 'get_document_content' for content retrieval or 'update_file_metadata' for modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_folder_treeB
Get a recursive tree view of folders in SharePoint. Useful for understanding folder structure.
| Name | Required | Description | Default |
|---|---|---|---|
| parent_folder | No | Starting folder path. Leave empty for root. | |
| max_depth | No | Maximum depth to traverse (default: 3) |
TDQS
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 tool is 'recursive' and for 'understanding folder structure,' but fails to cover critical aspects like whether it requires authentication (implied by sibling tools but not stated), potential rate limits, error handling, or the format of the returned tree. This leaves significant gaps for a tool that likely interacts with an external API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that are front-loaded: the first states the core purpose, and the second adds usage context. There's no wasted text, making it efficient, though it could be slightly more informative without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of interacting with SharePoint (implied by sibling tools like 'authenticate'), no annotations, and no output schema, the description is incomplete. It doesn't address authentication requirements, error cases, or the structure of the returned tree view, which are essential for effective tool use in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents both parameters ('parent_folder' and 'max_depth') with clear descriptions. The description adds no additional parameter semantics beyond what's in the schema, but since the schema is comprehensive, a baseline score of 3 is appropriate as it doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Get a recursive tree view of folders in SharePoint' with a specific verb ('Get') and resource ('folders in SharePoint'), and distinguishes it from sibling tools like 'list_folders' by specifying it's a recursive tree view. However, it doesn't explicitly contrast with 'list_folders' beyond implying depth, which keeps it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some implied usage context with 'Useful for understanding folder structure,' suggesting when this tool might be preferred over simpler listing tools. However, it lacks explicit guidance on when to use this versus alternatives like 'list_folders' or prerequisites such as authentication, leaving room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsB
List all documents (files) in a specified SharePoint folder. Returns file names, sizes, and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | Folder path relative to document library root. Leave empty for root folder. |
TDQS
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 return format ('file names, sizes, and metadata') but lacks critical details such as pagination behavior, error handling for invalid paths, permissions required, or whether it's a read-only operation. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality and return values. There is no wasted language, and it directly communicates the tool's purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one optional parameter) and high schema coverage, the description is somewhat complete but lacks output schema and behavioral details. It covers the basic operation but misses context like authentication needs or error scenarios, which is adequate but leaves clear gaps for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'folder_path' well-documented in the schema. The description adds minimal value beyond the schema by implying the tool lists documents in a folder, but doesn't provide additional context like examples of valid paths or how empty paths are handled. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('documents/files in a specified SharePoint folder'), and specifies what information is returned ('file names, sizes, and metadata'). It distinguishes from siblings like 'list_folders' by focusing on documents, but doesn't explicitly contrast with tools like 'get_folder_tree' that might also list documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. For example, it doesn't mention when to choose 'list_documents' over 'list_folders' or 'get_folder_tree', nor does it specify prerequisites like authentication status or folder existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_foldersB
List all folders in a specified SharePoint directory. Returns folder names, IDs, and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| parent_folder | No | Parent folder path relative to document library root. Leave empty for root folder. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states this is a list operation (implying read-only) and mentions the return format, but lacks details on permissions required, pagination behavior, error handling, or rate limits. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and includes essential return information. There is no wasted verbiage or redundancy, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one optional parameter) and high schema coverage, the description is adequate but incomplete. It lacks output schema, so the return format ('folder names, IDs, and metadata') is helpful, but without annotations, it misses behavioral context like authentication needs or error conditions, leaving room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'parent_folder' well-documented in the schema itself. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without adding extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all folders') and resource ('in a specified SharePoint directory'), and specifies what information is returned ('folder names, IDs, and metadata'). However, it doesn't explicitly distinguish this tool from its sibling 'get_folder_tree', which might also list folders but with a different structure or scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'get_folder_tree' or 'list_documents'. It mentions the parent folder parameter but doesn't explain when to use it versus leaving it empty for the root, nor does it discuss prerequisites such as authentication status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logoutB
Clear SharePoint authentication tokens and log out
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 clearing tokens and logging out, which implies a destructive action affecting authentication state, but doesn't detail consequences like session termination effects, error handling, or whether this requires prior authentication. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any wasted words. It is front-loaded with the core action, 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.
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 with no parameters) and lack of annotations and output schema, the description is minimally adequate. It covers the basic action but lacks details on behavioral outcomes, error cases, or integration with sibling tools, leaving gaps in completeness for safe agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description appropriately doesn't discuss parameters, earning a baseline score of 4 for not adding unnecessary details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('clear authentication tokens and log out') and resource ('SharePoint'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'check_auth_status', which is why it doesn't reach a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in an authentication context but doesn't specify when to use this tool versus alternatives like 'authenticate' or 'check_auth_status'. No explicit guidance on prerequisites or exclusions is provided, leaving usage context inferred rather than stated.
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 SharePoint with new content
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | Folder containing the document | |
| file_name | Yes | Name of the file to update | |
| content | Yes | New file content | |
| is_base64 | No | Set to true if content is base64-encoded |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool updates content, implying mutation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, error handling (e.g., if file doesn't exist), or side effects (e.g., versioning). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Update an existing document in SharePoint') and adds essential detail ('with new content'). Every word earns its place, with zero waste or redundancy. It's appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (mutation operation with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects (e.g., permissions, errors), output expectations, or usage context. For a mutation tool in a SharePoint environment, more detail is needed to guide an agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters with clear descriptions. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain parameter interactions or provide examples). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 SharePoint') with specificity about the operation ('with new content'). It distinguishes from sibling tools like 'upload_document' (creates new) and 'update_file_metadata' (modifies metadata only), though it doesn't explicitly name these alternatives. The purpose is unambiguous but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., authentication, existing document), exclusions (e.g., cannot create new documents), or compare to siblings like 'upload_document' for new files or 'update_file_metadata' for metadata changes. Usage is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_file_metadataC
Update metadata fields for a SharePoint file
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | Folder containing the document | |
| file_name | Yes | Name of the file | |
| metadata | Yes | Object containing field names and values to update |
TDQS
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. While 'Update' implies a mutation operation, the description does not specify required permissions, whether changes are reversible, rate limits, or what happens to existing metadata not mentioned. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., permissions, reversibility), usage context, and expected outcomes, leaving significant gaps for an agent to operate effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (folder_path, file_name, metadata) with clear descriptions. The description adds no additional meaning or context beyond what the schema provides, such as examples of metadata fields or formatting details, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('metadata fields for a SharePoint file'), making the purpose immediately understandable. However, it does not explicitly differentiate from sibling tools like 'update_document' or 'get_file_metadata', which could cause confusion about when to use this specific tool versus alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'update_document' or 'get_file_metadata'. It lacks context about prerequisites (e.g., authentication status), exclusions, or specific scenarios where this tool is appropriate, leaving the agent to infer usage from the name alone.
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 document to SharePoint. For text content, provide the content directly. For binary files, provide base64-encoded content.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | No | Destination folder path | |
| file_name | Yes | Name for the uploaded file | |
| content | Yes | File content (text or base64-encoded) | |
| is_base64 | No | Set to true if content is base64-encoded |
TDQS
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. It mentions content format handling (text vs. base64) but omits critical behavioral aspects: whether this requires authentication, what permissions are needed, whether it overwrites existing files, error conditions, or what happens on success. For a mutation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences that directly address the core functionality and content handling. Every sentence serves a clear purpose with no wasted words, though it could be slightly more front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It covers basic functionality but lacks critical context about authentication requirements, error handling, return values, and differentiation from sibling tools. The agent would need to guess about important behavioral aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds minimal value by clarifying the 'content' parameter's dual format (text vs. base64) and implying the relationship with 'is_base64', but doesn't provide additional semantic context beyond what's in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Upload a new document') and target resource ('to SharePoint'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling 'upload_document_from_path' beyond the content handling distinction, which is more about implementation than purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_from_path' or 'update_document'. It mentions content format handling but doesn't address context-specific selection criteria, leaving the agent to infer usage scenarios.
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 from the local filesystem to SharePoint
| Name | Required | Description | Default |
|---|---|---|---|
| local_path | Yes | Local file path to upload | |
| folder_path | No | Destination folder in SharePoint | |
| new_file_name | No | Optional new name for the file in SharePoint |
TDQS
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 action ('Upload') but doesn't mention critical details like required permissions, file size limits, overwrite behavior, error handling, or response format. For a mutation tool with zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded with the key action and resources, making it easy to parse quickly. Every word earns its place, achieving optimal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a mutation tool (uploading files) with no annotations, no output schema, and incomplete behavioral transparency, the description is inadequate. It doesn't cover essential aspects like what happens on success/failure, authentication requirements, or how it differs from 'upload_document', 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the input schema already documents all three parameters thoroughly. The description doesn't add any additional meaning or context about the parameters beyond what's in the schema, such as file format restrictions or path syntax examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Upload') and resources involved ('a file from the local filesystem to SharePoint'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'upload_document', which appears to serve a similar function, so it doesn't achieve full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 other file-related tools. It lacks context about prerequisites (e.g., authentication status) or specific scenarios where this tool is preferred, leaving the agent to infer usage from the name alone.
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. Dates show when Glama detected each change.
16 tool updates
v1.0.0- First observed
authenticate - First observed
check_auth_status - First observed
create_folder - First observed
delete_document - First observed
delete_folder - First observed
download_document - First observed
get_document_content - First observed
get_file_metadata - First observed
get_folder_tree - First observed
list_documents - First observed
list_folders - First observed
logout - First observed
update_document - First observed
update_file_metadata - First observed
upload_document - First observed
upload_document_from_path
TDQS
Each tool has a clearly distinct purpose with no significant overlap. For example, list_documents and list_folders handle different resource types, while upload_document and upload_document_from_path offer distinct input methods. The authentication tools (authenticate, check_auth_status, logout) are also well-separated from document/folder operations.
All tool names follow a consistent verb_noun pattern with snake_case throughout. Examples include create_folder, delete_document, get_document_content, and update_file_metadata. This predictability makes it easy for agents to understand and select tools.
With 16 tools, this server provides comprehensive coverage for SharePoint operations without being overwhelming. The count aligns well with the domain's scope, covering authentication, folder management, document CRUD operations, and metadata handling, which is appropriate for a SharePoint integration.
The tool set offers complete CRUD/lifecycle coverage for SharePoint documents and folders, including create, read, update, delete, and list operations. It also handles authentication, metadata management, and file upload/download, leaving no obvious gaps for core SharePoint workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Give Claude only the Google Drive files you choose. Every action logged.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
An agent-first office suite Claude & ChatGPT read and write over one MCP URL.
PDF tools for Claude: merge, split, compress, convert, OCR & more. Requires a PDFHaul API key.
Related MCP Servers
- FlicenseDqualityDmaintenanceProvides access to organizational Sharepoint documents through the Microsoft Graph API, enabling search and retrieval of Sharepoint content for AI assistants.12221-
- AlicenseNot gradedqualityDmaintenanceAllows Claude to interact with SharePoint Online using the REST API, enabling users to query site information, lists, and list items through natural language commands.1833MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Microsoft SharePoint sites, document libraries, and files through the Microsoft Graph API. Supports browsing, searching, uploading/downloading files, managing lists, and creating sharing links with secure OAuth authentication.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables browsing and interacting with Microsoft SharePoint sites and documents through Microsoft Graph API, supporting file search, site listing, document library browsing, and file content retrieval with OAuth2 authentication.3910MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/peacockery-studio/sharepoint-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server