quartz-sharepoint-mcp
quartz-sharepoint-mcp
An MCP server that mirrors a SharePoint document library to disk and lets AI assistants search it via the Model Context Protocol.
How it works
On startup, all files under your configured SharePoint path are downloaded locally.
A background thread polls Microsoft Graph for changes every
POLL_INTERVALseconds, keeping the mirror in sync.A single MCP tool —
search_sharepoint(query)— runsopencodeagainst the local files and returns the result.
SharePoint (Graph API) → local mirror → opencode → MCP clientRelated MCP server: MCP Document Indexer
Prerequisites
Python 3.11+
opencodein yourPATHAn Azure AD App Registration with
Sites.Read.All(or equivalent) granted as an application permission
Setup
# 1. Install dependencies
pip install -r requirements.txt
# 2. Configure environment
cp .env.example .env
# Fill in your Azure and SharePoint credentials
# 3. Run
python server.pyThe server starts on http://0.0.0.0:8001 by default.
Environment variables
Variable | Required | Default | Description |
| ✓ | — | Azure AD tenant ID |
| ✓ | — | App registration client ID |
| ✓ | — | App registration client secret |
| ✓ | — | e.g. |
| ✓ | — | e.g. |
| ✓ | — | Folder path within the site |
| ✓ | — | Bootstrap tokens: |
| ✓ | — | Admin panel username |
| ✓ | — | Admin panel password |
| ✓ | — | Secret for admin JWT signing |
Endpoints
Path | Description |
| Admin UI (token management) |
| MCP streamable-HTTP endpoint (bearer auth required) |
| Admin REST API |
MCP tool
search_sharepoint — accepts a natural-language query, runs it against the local mirror via opencode, and returns the answer as plain text.
To connect from an MCP client:
{
"mcpServers": {
"sharepoint": {
"url": "http://localhost:8001/mcp",
"headers": { "Authorization": "Bearer <your-token>" }
}
}
}Admin panel
Visit http://localhost:8001 to manage bearer tokens — create, enable/disable, or revoke access without restarting the server.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
- KumbukaOAuthai.kumbuka
Governed, auditable knowledge your team curates for its AI assistants, self-hostable
Self-hosted AI-native knowledge workspace with hybrid search, GraphRAG, and MCP.
Related MCP Servers
- FlicenseDqualityCmaintenanceProvides access to organizational Sharepoint documents through the Microsoft Graph API, enabling search and retrieval of Sharepoint content for AI assistants.134 npm21-
- AlicenseNot gradedqualityDmaintenanceEnables real-time indexing and semantic search of local documents (PDF, Word, text, Markdown, RTF) using vector embeddings and local LLMs. Monitors folders for changes and provides natural language search capabilities through Claude Desktop integration.21MIT
- FlicenseBqualityDmaintenanceEnables searching and retrieving files from SharePoint and OneDrive within Microsoft 365, with local caching for efficiency.211-
- AlicenseAqualityFmaintenanceA production-grade Model Context Protocol (MCP) server for Microsoft SharePoint that connects AI agents to read files, manage folders, and reason over organizational knowledge.1412MIT