Auto-index PowerPoint presentations into a central agents.md — queryable by any AI
Project description
slidesmd
Auto-index your PowerPoint presentations into a central
agents.md— queryable by any AI.
Save a .pptx to your folder — agents.md updates automatically. Ask Claude, Copilot, or a local Ollama model anything across all your decks.
How it works
- Point
slidesmdat a folder containing.pptxfiles - It extracts metadata — title, slide topics, full slide content, to-dos
- It generates
agents.md— a single Markdown index any AI can read - Ask your AI: "What was that presentation I did about data pipelines?"
Installation
Requires Python 3.10+.
pip install slidesmd
Or with Poetry:
git clone https://github.com/chanukyapekala/slidesmd
cd slidesmd
poetry install
Usage
Watch mode (recommended)
Set it once, forget it. Auto-updates agents.md whenever you add or remove presentations.
slidesmd watch ~/Documents/Presentations
Manual index
Manually scan and regenerate the index.
slidesmd index ~/Documents/Presentations
Search from CLI
Search across all presentations without opening an AI.
slidesmd search ~/Documents/Presentations "data pipelines"
Querying with an AI
agents.md is plain Markdown — any AI can read it. Point your AI at the folder, or feed it directly from the terminal.
Ollama (local, offline)
First generate the index:
slidesmd index ~/Documents/Presentations
Then query it:
ollama run llama3 "$(cat ~/Documents/Presentations/agents.md)"
Then ask anything:
>>> What presentations have I done about data pipelines?
>>> Summarise my Iceberg talk in 3 bullet points.
Claude / ChatGPT / Copilot
# macOS — copy to clipboard
pbcopy < ~/Documents/Presentations/agents.md
# Linux
xclip -selection clipboard < ~/Documents/Presentations/agents.md
Paste into any chat window and start asking questions.
Output — agents.md
# Presentations Index
_Auto-generated by slidesmd on 2025-04-04 09:00_
---
## Q3 Sales Review
- **File:** `/Users/you/Documents/Presentations/Q3-Sales-Review.pptx`
- **Slides:** 18
- **Topics:** Introduction, Market Overview, Pipeline, Forecast, Next Steps
- **To-dos:**
- TODO: Follow up with Nordic accounts by end of month
- Action item: Update forecast numbers with finance team
**Slide content:**
- **Introduction**: What we covered last quarter and what changed
- **Market Overview**: EMEA growth 12% YoY · Pipeline up 18%
- **Next Steps**: Submit revised forecast by Friday
Configuration
Works with any local folder, including cloud-synced ones. Recurses into subfolders automatically.
slidesmd watch ~/Documents/Presentations # macOS/Linux
slidesmd watch "C:\Users\you\Documents\Slides" # Windows
MCP Server
SlidesMD ships an MCP server so Claude Desktop, Cursor, and any other MCP client can query your presentations natively — no scripting required.
Start the server
slidesmd mcp # via the CLI
# or
slidesmd-mcp # direct entry point
Claude Desktop config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"slidesmd": {
"command": "slidesmd-mcp"
}
}
}
Available tools
| Tool | What it does |
|---|---|
index_folder |
Index all .pptx in a folder and write agents.md |
search_presentations |
Keyword search across titles, topics, todos, and slide content |
get_presentation |
Get metadata for a single .pptx file |
query_content |
Ask a question against a file or folder using a local Ollama model |
All tools return compact, factual responses by default. Pass detailed=true to get full slide-level content — useful when the AI needs to drill deeper after an initial answer.
Example interaction
You: What are the key features of Apache Iceberg?
AI: [calls get_presentation, compact]
Apache Iceberg · 31 slides · Topics: Introduction, Agenda, Iceberg Layout...
You: Give me the full slide content on the layout
AI: [calls get_presentation, detailed=true]
[metadata.json]: Snapshot details · Partition details · Schema details...
Stack
watchdog— file system monitoringpython-pptx— PowerPoint extractiontyper— CLI frameworkrich— terminal outputfastmcp— MCP server framework
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slidesmd-0.3.1.tar.gz.
File metadata
- Download URL: slidesmd-0.3.1.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa3360c66cc4ce20caded0e10de9bfaaa44646da87eb78f7747dbf802c12c96b
|
|
| MD5 |
8d45475bb284573cb834c05b37482c6f
|
|
| BLAKE2b-256 |
d998bc7554e264f95b936a18c6162085c8a8ed12338291732aab9e3d6305bf90
|
File details
Details for the file slidesmd-0.3.1-py3-none-any.whl.
File metadata
- Download URL: slidesmd-0.3.1-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c815439b1cbeb827bcc4d2aa798961961d686cba6b84e5f803fbb747daba971
|
|
| MD5 |
44abcdbadb0b232a8fe92206a89c5f72
|
|
| BLAKE2b-256 |
23401edba52a87dee79453d8c3dde5406fa226456c3f5723f3f9de3435011459
|