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 installed
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 Servers
- FlicenseDqualityDmaintenanceProvides access to organizational Sharepoint documents through the Microsoft Graph API, enabling search and retrieval of Sharepoint content for AI assistants.Last updated13021
- Alicense-qualityDmaintenanceEnables 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.Last updated22MIT
- Flicense-qualityDmaintenanceEnables searching and retrieving files from SharePoint and OneDrive within Microsoft 365, with local caching for efficiency.Last updated11
- 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.Last updated1410MIT
Related MCP Connectors
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
An MCP server that gives your AI access to the source code and docs of all public github repos
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/husnainsr/quartz-mcp-sharepoint'
If you have feedback or need assistance with the MCP directory API, please join our Discord server