kalvium-livebooks
A read-only MCP server that lets you browse Kalvium Livebooks using your existing browser session, listing livebooks and lessons and retrieving lesson content as Markdown.
README
Kalvium MCP
Kalvium MCP is a Model Context Protocol server for Claude Desktop that lets authenticated Kalvium students access their own Livebooks through Playwright browser automation. It uses your local Chrome profile to retrieve the Livebooks and lessons available to your Kalvium account, then returns lesson content as Markdown for use in Claude.
Features
- ✓ List the Livebooks available to your Kalvium account.
- ✓ List lessons within a selected Livebook.
- ✓ Fetch individual lesson content.
- ✓ Convert lesson HTML into readable Markdown.
- ✓ Integrate directly with Claude Desktop through MCP.
- ✓ Install dependencies, Playwright, Chromium, and the MCP registration with
setup.py. - ✓ Migrate an existing browser profile to
profiles/defaultautomatically.
Demo
A GIF or screenshot demonstrating Kalvium MCP in Claude Desktop will be added here.
Requirements
- Windows 10 or Windows 11
- Python 3.11 or later
- Claude Desktop
- An active Kalvium account
Installation
Clone the repository and create a virtual environment:
git clone https://github.com/L-Sandeep/kalvium-mcp
cd kalvium-mcp
python -m venv .venv
Activate the environment on Windows:
.venv\Scripts\Activate.ps1
Install dependencies and run the installer:
pip install -r requirements.txt
python setup.py
First-Time Setup
setup.py checks your environment before changing anything and skips work that is already complete. It will:
- verify Python, pip, FastMCP, Playwright, Claude Desktop, the Claude configuration, and your browser profile;
- install missing Python dependencies, including Playwright;
- install Playwright Chromium when it is not already available;
- create a valid empty Claude Desktop configuration if one is missing;
- register Kalvium MCP with Claude Desktop without removing other MCP servers;
- use
profiles/defaultas the browser profile and migrate a legacyplaywright-profiledirectory when present.
After setup, open the browser profile when prompted by the server and sign in to https://app.kalvium.community if you are not already authenticated. Keep the profile closed while Claude is using Kalvium MCP, because Chrome cannot share the same profile concurrently.
Usage
- Restart Claude Desktop after running
python setup.py. - Start a new chat in Claude Desktop.
- Ask Claude to use your Kalvium Livebooks.
Example prompts:
List my livebooksList lessons in Full Stack Web DevelopmentExplain Request Response LifecycleSummarize lesson 1.4Open lesson 2.3
Claude will invoke the MCP tools when the request requires your Kalvium content. The server only accesses app.kalvium.community and uses the authentication already stored in your local browser profile.
Project Structure
kalvium-mcp/
├── auth.py # Persistent Playwright profile and browser lifecycle
├── browser.py # Browser debugging utility
├── markdown.py # HTML-to-Markdown conversion helpers
├── scraper.py # Kalvium Livebook and lesson scraping logic
├── server.py # FastMCP server entry point
├── setup.py # Idempotent Windows installer for Claude Desktop
├── tools.py # MCP tool definitions
├── requirements.txt # Runtime dependencies
├── pyproject.toml # Package metadata and build configuration
├── dev/ # Development and inspection scripts
├── docs/ # Project documentation
├── installer/ # Installer-related assets
├── profiles/ # Local browser profiles (not committed)
├── samples/ # Saved sample output for development
└── src/kalvium_mcp/ # Python package namespace
How It Works
Claude Desktop
↓
FastMCP Server
↓
Playwright
↓
Authenticated Kalvium Browser Profile
↓
Lesson Extraction
↓
Markdown Response
Claude Desktop calls the FastMCP server over the MCP protocol. The server opens a persistent Chrome context with Playwright, using the local authenticated profile in profiles/default. It reads accessible Livebook pages, extracts the requested lesson information, converts lesson HTML to Markdown, and sends the result back to Claude.
Troubleshooting
Claude Desktop is not installed
Install Claude Desktop from the official download page, open it once, and run python setup.py again.
Browser profile is missing
The server creates profiles/default automatically. Sign in to Kalvium in the Chrome window opened by the server, then close the browser window before using Claude Desktop again.
Login has expired
Run the server or a browser utility, sign in again at https://app.kalvium.community, and close Chrome cleanly so the updated session is saved in profiles/default.
Playwright is not installed
Activate the virtual environment and run:
python setup.py
The installer checks for Playwright and installs missing dependencies.
Kalvium MCP does not appear in Claude
Restart Claude Desktop after installation. If it is still unavailable, run python setup.py again and confirm that its Claude Desktop configuration check succeeds. Ensure the configured Python executable is the same virtual environment where dependencies were installed.
Roadmap
- [x] GitHub repository
- [x] MCP server
- [x] Playwright automation
- [x] Lesson extraction
- [x] Automatic installer
- [ ] Automatic login flow
- [ ] Self-test after installation
- [ ] Search lessons
- [ ] Search lesson content
- [ ] Package for pip installation
- [ ] macOS support
- [ ] Linux support
Contributing
Contributions are welcome. Please open an issue to discuss significant changes, then submit a focused pull request with a clear description and appropriate tests or manual verification notes.
License
MIT License. A license file will be added to the repository.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。