kalvium-livebooks

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.

Category
访问服务器

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/default automatically.

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/default as the browser profile and migrate a legacy playwright-profile directory 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

  1. Restart Claude Desktop after running python setup.py.
  2. Start a new chat in Claude Desktop.
  3. Ask Claude to use your Kalvium Livebooks.

Example prompts:

  • List my livebooks
  • List lessons in Full Stack Web Development
  • Explain Request Response Lifecycle
  • Summarize lesson 1.4
  • Open 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选