mcp-server-microsoft365-filesearch
Eine mcp servers-Implementierung, die erweiterte Dateisuchfunktionen innerhalb von Microsoft 365 bereitstellt. Dieser Server ermöglicht eine effiziente Dateisuche, Metadatenanalyse und die Integration in Geschäftsprozesse, indem er Inhalte aus SharePoint/OneDrive verfügbar macht.
MCP Server - Microsoft 365 File Search (SharePoint & OneDrive)
Overview
A Model Context Protocol (MCP) server implementation that provides advanced file search capabilities within Microsoft 365. This server enables efficient file discovery, metadata analysis, and integration with business workflows by making available the content from SharePoint/OneDrive.
https://github.com/user-attachments/assets/bbe63c02-f6d9-4c9b-8f98-36fc22a081cc
Components
Tools
The server offers 2 core tools:
-
search_m365_files
Perform a file search within the M365 environment.
Input:query(string): The search term or criteria.
Returns: Array of file metadata objects. Metadata includes the file content summary, drive ID, and file ID, among other details.
-
get_file_content
Retrieve content from a specific file.
Input:driveid(string): The unique identifier of the parent drive.fileid(string): The unique identifier of the file.
Returns: File content as a binary stream.
Note: Uses a local cache to speed up repeat access.
Caching
To improve performance and reduce redundant API calls, the server caches downloaded files locally. This is particularly useful when working with large documents or frequently accessed files.
- Cached files are stored in the
./src/mcp_m365_filesearch/.local/downloadsdirectory (relative to the project root). - When a file is requested via
get_file_content, the server first checks the cache. - If the file is already cached, it is returned directly from disk without a new API call.
This feature ensures faster response times and efficient use of API rate limits.
Usage with Claude Desktop
To integrate the server with Claude Desktop, update your claude_desktop_config.json:
"mcpServers": {
"M365 File Search (SharePoint/OneDrive)": {
"command": "uv",
"args": [
"--directory",
"full_path_to_parent_directory",
"run",
".\\\\src\\\\mcp_m365_filesearch\\\\server.py"
],
"env": {
"CLIENT_ID": "MSGraph Client ID",
"CLIENT_SECRET": "MS Graph Client Secret",
"TENANT_ID": "TENANT ID",
"REGION": "SEARCH REGION"
}
}
}
Microsoft Graph App Registration
To use this server, you'll need to register an application in the Azure Portal:
- Register a new application.
- Note down the Client ID and Tenant ID.
- Create a Client Secret under Certificates & Secrets.
- Under API permissions, add the following delegated or application permissions:
Sites.Read.AllFiles.Read.All
- Click Grant admin consent for these permissions.
Ensure these values are correctly set in your env configuration for the MCP server.
License
This project is licensed under the MIT License.
You are free to use, modify, and distribute it with proper attribution.
Recommend MCP Servers 💡
pab1it0/chess-mcp
A Model Context Protocol server for Chess.com's Published Data API. This provides access to Chess.com player data, game records, and other public information through standardized MCP interfaces, allowing AI assistants to search and analyze chess information.
hunter-mcp
Integrates Hunter API with LLM providers via MCP, enabling natural language interaction with Hunter's B2B data for tasks like domain search, email verification, and lead creation.
simple-mcp-fileserver
A lightweight MCP server enabling AI agents to interact with local file systems through JSON-RPC interface
OpsLevel
OpsLevel is an internal developer portal that acts as an MCP server, providing real-time, unified context from your entire tech stack to power AI assistants and streamline software development.
mcp-panther
Write detections, investigate alerts, and query logs—all from your favorite AI agents
alexissinglaire/filesystemcustom-test
Filesystem operations MCP server with read/write capabilities and directory management