ZimAgent
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., "@ZimAgentsearch for quantum mechanics articles"
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.
🤖 ZimAgent Desktop
Offline CRUD + Semantic Search for Wikipedia ZIM Archives
A production-grade PyQt5 desktop application that lets you read, write, edit,
and semantically search any Kiwix .zim archive — with local LLM question
answering, animated pipeline visualisation, and a built-in MCP server for
Claude Desktop / LangChain integration.
Fully offline. No internet connection required after initial model download.
📸 Screenshot
Related MCP server: kiwix-mcp
🚀 Quick Start
1. Clone & Install
git clone https://github.com/yourname/zim-agent-gui
cd zim-agent-gui
# Create virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate.bat # Windows
# Install dependencies
pip install -r requirements.txt2. Download a ZIM file
# Small Wikipedia excerpt for testing (~90 MB)
wget https://download.kiwix.org/zim/wikipedia/wikipedia_en_wp1_2023-11.zim \
-O data/test.zim3. Download GGUF Models (for RAG + LLM)
Place models in the models/ folder:
File | Purpose | Source |
| Sentence embeddings | HuggingFace |
| Answer generation | HuggingFace |
# Install TurboRag
pip install turborag-ahx474. Launch
python run_app.py
# or
python -m zimagent📦 File Structure
zim-agent-gui/
├── zimagent/ # Main Python package
│ ├── __init__.py
│ ├── __main__.py # python -m zimagent
│ ├── main.py # App entry-point (QApplication)
│ ├── main_window.py # Full PyQt5 UI (~600 lines)
│ ├── zim_reader.py # ZIM article reading (libzim)
│ ├── zim_manager.py # CRUD + SQLite overlay
│ ├── mcp_server.py # FastMCP tool server
│ ├── indexer.py # ZIM → TurboRag indexer
│ ├── agent.py # High-level ZimAgent orchestrator
│ ├── semantic_search.py # TurboRag adapter
│ ├── worker_threads.py # QThread workers (index, MCP, stats)
│ └── resources/
│ └── style.qss # Dark cyberpunk QSS theme
│
├── models/ # GGUF models (user-provided)
│ ├── embeddinggemma-300m-q4_k_m.gguf
│ └── qwen-0.5b-q4_k_m.gguf
│
├── data/ # ZIM files + index
│
├── scripts/
│ ├── build_exe.bat # Windows .exe via PyInstaller
│ ├── build_deb.sh # Linux .deb package
│ └── DEBIAN/control
│
├── run_app.py # Standalone launcher
├── requirements.txt
├── setup.py
└── README.md🧩 Features
Dashboard
ZIM Archive Input & CRUD — open any
.zim, see file size + article countPipeline Visualization — animated dashed-arrow diagram:
ZIM Reader → Chunking → Gemma Embedding → TurboVec Index + SQLite FTS5Query & Results — ask a question, see semantic results + LLM answer
MCP Server mini-panel — one-click toggle with live status
CRUD Operations
Full article tree (namespaces A/, B/, …)
HTML viewer (
QWebEngineViewor plain text fallback)Write new articles, edit existing, soft-delete with restore
Every change stored in SQLite overlay (base ZIM untouched)
Full action log
Semantic Search
Semantic search powered by TurboRag vector index
Relevance bar for each result
LLM-generated answer with source attribution
Runs in background thread (UI never blocks)
MCP Server
Exposes 8 MCP tools to Claude Desktop / any MCP client
SSE or stdio transport
Configurable host + port
Live server log
⚙️ Configuration
Open ⚙ Settings in the sidebar to configure:
Embedding model path
LLM model path
Vector index path
These are saved for the current session (persistent config coming in v1.1).
📦 Building Installers
Windows .exe
pip install pyinstaller
scripts\build_exe.bat
# Output: dist\ZimAgent.exeLinux .deb
sudo apt install fakeroot dpkg-dev
bash scripts/build_deb.sh
# Output: zimagent_1.0.0_amd64.deb
sudo dpkg -i zimagent_1.0.0_amd64.deb🔌 MCP Integration (Claude Desktop)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"zimagent": {
"command": "python",
"args": ["-m", "zim_agent.mcp_server",
"--zim", "/path/to/wikipedia.zim",
"--transport", "stdio"]
}
}
}Or start SSE server from the MCP Server tab and connect via:
http://127.0.0.1:8002/sse
📋 MCP Tools Reference
Tool | Parameters | Description |
|
| Read article by URL path |
|
| Full-text + prefix search |
|
| Create or replace article |
|
| Edit article content |
|
| Soft-delete article |
|
| Restore deleted article |
| — | List all overlay changes |
| — | Archive + index statistics |
🧱 Dependencies
Package | Purpose |
| GUI framework |
| HTML article rendering |
| ZIM file reading |
| Semantic search + RAG |
| MCP server |
| CPU/RAM monitoring |
📄 License
MIT — see LICENSE.
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
- 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/AHX47/Zim-Agent-Gui'
If you have feedback or need assistance with the MCP directory API, please join our Discord server