fitwiki-mcp
Scrapes course materials, exam variants, and notes from Fit-Wiki, converting them to Markdown and PDF for integration with LLM clients.
README
Fit-Wiki Scraper & MCP Server
Python tool for extracting course materials, exam variants, and notes from Fit-Wiki. Includes an MCP server for integration with LLM clients (Claude, AGY, OpenCode).
Requirements
- Python 3.12+
- Liberation Sans and Liberation Mono fonts (for correct Czech diacritics in PDFs)
Setup
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
Configuration
Copy .env.example to .env and fill in your cookies:
cp .env.example .env
Alternatively, pass FITWIKI_COOKIES as an environment variable in the MCP client config.
CLI Usage
Scrape a course to Markdown
./venv/bin/python scraper.py [course_code]
Convert Markdown to PDF
./venv/bin/python convert_to_pdf.py
Compiles all files in markdown_output/ to pdfs/.
Pipeline (single page)
./venv/bin/python index_page.py bi-osy # download index
./venv/bin/python scraper.py # scrape to Markdown
./venv/bin/python convert_to_pdf.py # compile PDFs
MCP Server
The MCP server exposes Fit-Wiki tools to LLM clients. It runs via stdio or streamable-http.
Client Configuration
Add the following to your client's MCP config file. Cookies are loaded from the .env file (see .env.example).
{
"mcpServers": {
"fitwiki": {
"command": "/path/to/fitwiki/venv/bin/python",
"args": ["/path/to/fitwiki/mcp_server.py"]
}
}
}
Config File Locations
| Client | Path |
|---|---|
| Claude Desktop | ~/.config/Claude/claude_desktop_config.json |
| AGY (CLI) | ~/.gemini/antigravity-cli/mcp_config.json |
| AGY (IDE / 2.0) | ~/.gemini/config/mcp_config.json |
| OpenCode | .opencode.json in the workspace root |
Restart the client after saving. For AGY, verify with /mcp in chat.
Transports
- stdio (default) – the client spawns the server as a subprocess. Use for Claude Desktop, AGY, OpenCode.
- streamable-http – for Docker or remote setups. Set
MCP_TRANSPORT=streamable-httpand point the client tohttp://host:8000/mcp.
Docker
Build & Run
docker compose up -d
The container exposes the MCP server on port 8000 via streamable-http. Mounted volumes persist markdown_output/ and pdfs/ on the host.
GitHub Container Registry
The Docker image is built automatically on push (see .github/workflows/docker-build.yml) and published to ghcr.io/<your-username>/fitwiki-mcp. Tags: latest, master, short SHA.
Exposed MCP Tools
list_courses– List all courses on the FIT platform.list_course_sections– List sections (e.g.zkouska,test1) for a course.list_section_pages– List pages within specific sections.download_page– Scrape a page to Markdown and compile to PDF in one step.compile_pdf– Compile a Markdown file to PDF.compile_category_pdfs– Compile all Markdown files in a category to PDFs.read_saved_file– Read a previously saved Markdown file by path.scrape_index– Parse a course index and list discovered links.scrape_page– Scrape a single page to Markdown and return its content.scrape_course– Download all pages in selected categories for a course.download_page– Scrape a page to Markdown, compile to PDF, and return the content.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.