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.
Latest Blog Posts
- 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