ZimAgent
БесплатноНе проверенEnables offline CRUD and semantic search on Wikipedia ZIM archives via MCP tools for reading, writing, editing, deleting, and searching articles.
Описание
Enables offline CRUD and semantic search on Wikipedia ZIM archives via MCP tools for reading, writing, editing, deleting, and searching articles.
README
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

🚀 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.txt
2. 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.zim
3. Download GGUF Models (for RAG + LLM)
Place models in the models/ folder:
| File | Purpose | Source |
|---|---|---|
embeddinggemma-300m-q4_k_m.gguf |
Sentence embeddings | HuggingFace |
qwen-0.5b-q4_k_m.gguf |
Answer generation | HuggingFace |
# Install TurboRag
pip install turborag-ahx47
4. 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 count - Pipeline Visualization — animated dashed-arrow diagram:
ZIM Reader → Chunking → Gemma Embedding → TurboVec Index + SQLite FTS5 - Query & 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.exe
Linux .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 |
|---|---|---|
zim_read_article |
path |
Read article by URL path |
zim_search |
query, max_results |
Full-text + prefix search |
zim_write_article |
path, title, html |
Create or replace article |
zim_edit_article |
path, new_html, [new_title] |
Edit article content |
zim_delete_article |
path |
Soft-delete article |
zim_restore_article |
path |
Restore deleted article |
zim_list_modified |
— | List all overlay changes |
zim_stats |
— | Archive + index statistics |
🧱 Dependencies
| Package | Purpose |
|---|---|
PyQt5 |
GUI framework |
PyQtWebEngine |
HTML article rendering |
libzim |
ZIM file reading |
turborag-ahx47 |
Semantic search + RAG |
fastmcp |
MCP server |
psutil |
CPU/RAM monitoring |
📄 License
MIT — see LICENSE.
Установка ZimAgent
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/AHX47/zim-agent-guiFAQ
ZimAgent MCP бесплатный?
Да, ZimAgent MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для ZimAgent?
Нет, ZimAgent работает без API-ключей и переменных окружения.
ZimAgent — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить ZimAgent в Claude Desktop, Claude Code или Cursor?
Открой ZimAgent на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare ZimAgent with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
