sad-mcp
v1.0.3
Published
MCP server for Software Analysis and Design course materials at BGU
Maintainers
Readme
sad-mcp
MCP server that gives students access to Software Analysis and Design course materials through Claude Desktop. Materials are served from a shared Google Drive folder.
What it does
- Exposes course materials (lectures, transcripts, exams) as MCP resources
- Provides
search_materialsandlist_materialstools for Claude to query course content - Extracts text from PPTX, PDF, DOCX, XLSX, and plain text files
- Caches files locally to avoid repeated downloads
- Tracks anonymous usage for research purposes
Student setup
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"sad-course": {
"command": "npx",
"args": ["-y", "sad-mcp@latest"]
}
}
}On Windows, use the full path to npx.cmd:
{
"mcpServers": {
"sad-course": {
"command": "C:\\Program Files\\nodejs\\npx.cmd",
"args": ["-y", "sad-mcp@latest"]
}
}
}On first run, a browser window will open for Google authentication. Sign in with your @post.bgu.ac.il account. After that, the server connects automatically.
Tools
| Tool | Description |
|------|-------------|
| search_materials(query) | Full-text search across all course materials |
| list_materials(category?) | List available materials, optionally filtered by lectures, transcripts, exams, or all |
Resources
All extractable files from the course Google Drive folder are exposed as MCP resources with URIs like sad://lectures/filename.pptx or sad://transcripts/filename.txt. Claude can read these directly.
Local data
The server stores data in ~/.sad-mcp/:
| File | Purpose |
|------|---------|
| tokens.json | Google OAuth refresh token |
| anonymous-id.txt | Random UUID for usage tracking |
| usage-log.jsonl | Local usage event log |
| cache/ | Downloaded file cache (1-hour TTL) |
| cache-index.json | Cache metadata |
Development
npm install
npm run build # compile TypeScript
npm run dev # watch modePublishing
# bump version in package.json
npm publishStudents get the latest version automatically via npx -y sad-mcp@latest.
License
MIT
