quartz-sharepoint-mcp
Mirrors a SharePoint document library to disk and enables AI assistants to search it via natural language queries using opencode.
README
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 client
Prerequisites
- Python 3.11+
opencodein yourPATH- An 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.py
The server starts on http://0.0.0.0:8001 by default.
Environment variables
| Variable | Required | Default | Description |
|---|---|---|---|
AZURE_TENANT_ID |
✓ | — | Azure AD tenant ID |
AZURE_CLIENT_ID |
✓ | — | App registration client ID |
AZURE_CLIENT_SECRET |
✓ | — | App registration client secret |
SHAREPOINT_HOSTNAME |
✓ | — | e.g. yourorg.sharepoint.com |
SHAREPOINT_SITE_PATH |
✓ | — | e.g. /sites/YourSite |
SHAREPOINT_ROOT_PATH |
✓ | — | Folder path within the site |
AUTH_TOKENS |
✓ | — | Bootstrap tokens: label:token,... |
ADMIN_USERNAME |
✓ | — | Admin panel username |
ADMIN_PASSWORD |
✓ | — | Admin panel password |
ADMIN_JWT_SECRET |
✓ | — | Secret for admin JWT signing |
Endpoints
| Path | Description |
|---|---|
GET / |
Admin UI (token management) |
POST /mcp |
MCP streamable-HTTP endpoint (bearer auth required) |
/admin/api/* |
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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。