study-mcp
Allows saving summaries and flashcards to a Notion database.
Provides a cloud vector store backend using pgvector, enabling scalable semantic search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@study-mcpSearch my materials for the concept of entropy"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
📚 study-mcp
A Model Context Protocol (MCP) server that turns any study material into a searchable, AI-powered knowledge base — directly inside Claude Desktop.
✨ What it does
Upload a PDF, slide deck, DOCX, image, or HTML file and instantly:
🔍 Search semantically — ask questions in natural language across all your materials
🧠 Generate summaries — get structured summaries saved directly to Notion
🃏 Create flashcards — auto-generate Q&A cards saved to Notion
📂 Manage materials — list and organize everything you've indexed
Related MCP server: Personal Research Assistant MCP
🏗️ Architecture
study-mcp/
├── src/study_mcp/
│ ├── core/
│ │ ├── config.py # All settings via environment variables
│ │ ├── embeddings.py # HuggingFace Transformers (local, no API cost)
│ │ └── chunker.py # Markdown-aware smart text chunker
│ ├── db/
│ │ ├── chroma.py # Local vector store (ChromaDB)
│ │ └── pgvector.py # Cloud vector store (Supabase / Postgres)
│ ├── tools/
│ │ ├── ingest.py # File ingestion via Docling
│ │ ├── search.py # Semantic search
│ │ ├── notion.py # Notion integration
│ │ ├── list_materials.py
│ │ └── help.py # Tools registry
│ └── server.py # FastMCP server entry point
├── tests/
└── docs/
└── claude_desktop_config.json🛠️ Available Tools
Tool | Description |
| Convert and index any file (PDF, PPTX, DOCX, HTML, images) |
| Semantic search across all indexed materials |
| List all indexed materials |
| Save a summary to Notion |
| Save flashcards to Notion |
| List all tools with descriptions and usage examples |
🚀 Quick Start
1. Clone and install
git clone https://github.com/italoo97/study-mcp.git
cd study-mcp
poetry install2. Configure Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"study-mcp": {
"command": "poetry",
"args": [
"--directory", "/absolute/path/to/study-mcp",
"run", "python", "-m", "study_mcp.server"
],
"env": {
"EMBEDDING_MODEL": "intfloat/multilingual-e5-small",
"EMBEDDING_DIM": "384",
"CHROMA_PATH": "./chroma_db",
"CHROMA_COLLECTION": "study_chunks",
"CHUNK_SIZE": "512",
"CHUNK_OVERLAP": "64",
"NOTION_TOKEN": "secret_...",
"NOTION_DATABASE_ID": "your-database-id",
"DATABASE_URL": ""
}
}
}
}Vector backend is auto-detected:
DATABASE_URLempty → uses ChromaDB locally (zero setup)
DATABASE_URLset → uses pgvector on Supabase (free tier works)
3. Restart Claude Desktop
The tools will appear automatically in Claude Desktop.
🧠 Embedding Models
Set EMBEDDING_MODEL to any HuggingFace feature-extraction model:
Model | Languages | Dims |
| PT + EN + more | 384 |
| EN only | 384 |
| PT only | 768 |
Update
EMBEDDING_DIMif you change models.
📋 Notion Setup
Go to notion.so/my-integrations and create an integration
Create a database with these properties:
Name→ TitleType→ Select (Summary,Flashcards)Material→ Rich textContent→ Rich textTags→ Multi-select
Share the database with your integration
Set
NOTION_TOKENandNOTION_DATABASE_IDin the config
💡 Example Usage in Claude
"Ingest this file: /Users/me/Downloads/algorithms_lecture.pdf"
"Search my materials for: what is dynamic programming?"
"Generate 10 flashcards from material abc-123 and save to Notion"
"Summarize material abc-123 and save to Notion with tags: algorithms, CS"
"List all materials I've ingested"🔧 Development
# Install dependencies
poetry install
# Run lint
poetry run task lint
# Run type check
poetry run task type_check
# Run tests
poetry run task test
# Format code
poetry run task format📄 License
MIT
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/italoo97/study-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server