llm-wiki-kiss
Enables Perplexity AI agents to manage a local Markdown wiki, providing tools to list, read, search, write, and append notes.
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., "@llm-wiki-kisssearch for MCP integration"
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.
llm-wiki-kiss
Un wiki KISS self-hosted per agenti AI β file Markdown su filesystem, accesso uniforme via MCP (stdio) e fallback REST/HTTP opzionale. Stesso contenuto, qualunque sia l'agente: Claude Code, Open Cloud, Perplexity, script Python, browser.
PerchΓ©
Le conoscenze condivise tra agenti AI oggi vivono sparse: in tool, in notebook, in conversazioni che si perdono. Questo progetto offre una base di conoscenza persistente, portabile e controllabile al 100%:
π File
.mdo.htmlleggibili con qualsiasi editorπ§ Un server MCP standardizzato che qualunque agente puΓ² usare
π Una REST API minimale come fallback per i client che non supportano MCP
πͺΆ Nessun database, nessun CMS, versionamento con Git
π Funziona ovunque: locale, server privato, container, Codespace
Related MCP server: llm-wiki-mcp
Indice
Caratteristiche
Storage filesystem: una cartella con file Markdown e link relativi.
Server MCP con cinque tool:
list_pages,read_page,search,write_page,append_note.API REST FastAPI specchio dei tool MCP, con OpenAPI su
/docs.Sicurezza base: validazione percorsi (no
.., no NUL), limite 2 MiB per pagina, scope limitato alla root del wiki.Skill SKILL.md pronte per essere caricate da agenti compatibili (TRAE, Claude Code, β¦).
Script shell che gestiscono venv, dipendenze, port checking, pid e log.
Architettura
llm-wiki-kiss/
βββ wiki/ # dati Markdown (il tuo wiki)
β βββ index.md
β βββ projects/ notes/ decisions/ references/ assets/ logs/
βββ wiki_core/ # logica filesystem (WikiStorage, validazione, search)
βββ mcp_server/ # server MCP stdio (5 tool)
βββ rest_api.py # fallback HTTP FastAPI
βββ scripts/ # wrapper shell (setup, start, stop, status, deploy)
βββ tests/ # pytest + smoke test MCP via stdio
βββ .trae/skills/ # SKILL.md per agenti AI
βββ pyproject.toml, requirements*.txt, .env.example, .gitignore
βββ LICENSE # MIT
βββ README.mdQuick start (5 minuti)
Prerequisito: Python 3.10+.
# 1. Clona e configura
git clone https://github.com/hor-net/llm-wiki-kiss.git
cd llm-wiki-kiss
# 2. Crea venv e installa dipendenze (+ dev)
scripts/setup.sh --with-dev
# 3. Avvia la REST API (default: 127.0.0.1:8765)
scripts/start-rest.sh
# 4. Verifica
scripts/status.sh
curl http://127.0.0.1:8765/health
open http://127.0.0.1:8765/docsPer integrare con Claude Code / Claude Desktop / Open Cloud / Perplexity:
scripts/install-mcp-client.sh --client claude-codeCopia l'output nel file di configurazione del tuo client e riavvialo.
Installazione manuale
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt # + requirements-dev.txt per devI 5 tool MCP
Tool | Cosa fa |
| Elenca pagine, opzionale |
| Legge il contenuto di una pagina dato il percorso. |
| Full-text case-insensitive con snippet e numero di riga. |
| Crea o sovrascrive una pagina. Aggiunge |
| Aggiunge testo. Di default accoda al log |
Tutti i percorsi sono relativi alla root del wiki e separati da /.
Esempi rapidi
// list_pages
{ "subdir": "notes" }
// read_page
{ "path": "notes/esempio-nota.md" }
// search
{ "query": "MCP", "max_results": 20 }
// write_page
{ "path": "notes/idea.md", "content": "# Idea\n\n...", "overwrite": false }
// append_note (path opzionale: default = log del giorno)
{ "content": "Refactor iniziato.", "heading": "Refactor" }API REST
Metodo | Endpoint | Descrizione |
GET |
| Health check |
GET |
| Statistiche wiki |
GET |
| Lista pagine |
GET |
| Leggi pagina |
PUT |
| Scrivi pagina |
GET |
| Ricerca full-text |
POST |
| Append nota (default log giornaliero) |
GET |
| OpenAPI interattivo (Swagger UI) |
Configurazione del client MCP
Esempio di frammento per Claude Code / Claude Desktop / Open Cloud /
Perplexity (generato da scripts/install-mcp-client.sh):
{
"mcpServers": {
"wiki-kiss": {
"command": "/percorso/al/progetto/.venv/bin/python",
"args": ["-m", "mcp_server", "--root", "/percorso/al/progetto/wiki"],
"cwd": "/percorso/al/progetto",
"env": {
"WIKI_ROOT": "/percorso/al/progetto/wiki",
"WIKI_LOG_LEVEL": "INFO"
}
}
}
}Client | File di configurazione |
Claude Code |
|
Claude Desktop |
|
Open Cloud | sezione |
Perplexity | sezione MCP delle impostazioni del client (dove supportato) |
Dopo la configurazione, riavvia il client perchΓ© ricarichi l'elenco dei server MCP.
Skill per agenti
In .trae/skills/ trovi due skill SKILL.md pronte
per essere caricate da TRAE, Claude Code e altri agenti compatibili:
Skill | Quando l'agente la usa |
| Leggere, cercare, scrivere, citare contenuti del wiki. |
| Installare, avviare, fermare, integrare o fare troubleshooting. |
Copia le cartelle in ~/.claude/skills/ (o nel percorso previsto dal
tuo client) per usarle localmente.
Script di gestione
Tutti accettano --help. I log vanno in var/log/, i PID in var/run/.
Script | Scopo |
| Crea/aggiorna venv e installa dipendenze. |
| + pytest, ruff, httpx. |
| Ricrea il venv da zero. |
| Avvia server MCP in foreground (per client MCP). |
| Avvia REST API in background. |
| Avvia REST in foreground. |
| ModalitΓ sviluppo con auto-reload. |
| Ferma uno o piΓΉ servizi. |
| Mostra stato, PID, log. |
| Genera config MCP per i vari client. |
| Wrapper su |
Variabili d'ambiente riconosciute: WIKI_ROOT, WIKI_LOG_LEVEL,
DEFAULT_HOST, DEFAULT_PORT, NO_COLOR. Possono essere salvate in
.env o .wiki-kiss.env (auto-caricati).
Test e qualitΓ
scripts/run-tests.sh -q
.venv/bin/python -m pytest -q
.venv/bin/python tests/smoke_mcp.py # smoke test del server MCP via stdio
.venv/bin/ruff check wiki_core mcp_server rest_api.py testsStruttura del wiki
Esempio di organizzazione della cartella wiki/:
wiki/
βββ index.md
βββ projects/ # documentazione di progetto
βββ notes/ # appunti, idee, osservazioni
βββ decisions/ # ADR (NNNN-titolo.md)
βββ references/ # link e fonti esterne
βββ assets/ # immagini, allegati
βββ logs/ # log append-only (YYYY-MM-DD.md)Convenzioni:
File in Markdown puro, UTF-8.
Nomi in
kebab-case.Ogni pagina inizia con un titolo di primo livello (
# Titolo).Link interni relativi:
[altra pagina](../notes/idea.md).Nessun frontmatter obbligatorio: solo se serve metadata reale.
Filosofia
KISS prima di tutto.
Il wiki conserva conoscenza stabile: decisioni, progetti, riferimenti.
La memoria conversazionale Γ¨ gestita a parte (es. QMD): serve per il contesto dinamico e di breve durata, non per la conoscenza di lungo periodo.
MCP rende quella conoscenza accessibile a tutti gli agenti: un solo contratto, infinite integrazioni.
Niente database:
tar czf wiki-$(date +%F).tgz wiki/Γ¨ il backup.Niente lock-in: tutto Γ¨ testo, tutto Γ¨ versionabile con Git.
Vantaggi e limiti
Vantaggi: controllo totale, backup banale, migrazione immediata, debug semplice, compatibilitΓ con piΓΉ agenti AI, crescita per gradi.
Limiti: nessun backlink automatico, nessun database nativo, nessuna UI ricca. La qualitΓ dipende dalla disciplina nella scrittura e nelle convenzioni di naming.
Contribuire
Issue e PR benvenuti. Linee guida:
Codice in stile ruff (configurato in
pyproject.toml).Test obbligatori per le modifiche al core (
wiki_core).Stile del wiki: ADR in
decisions/, regole di naming inwiki/decisions/0001-storage-filesystem.md.
Licenza
MIT β Copyright (c) 2026 Hornet SRL.
Crediti
Progetto ispirato al paper del Model Context Protocol (https://modelcontextprotocol.io) e alla filosofia Unix "do one thing and do it well".
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
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/hor-net/llm-wiki-kiss'
If you have feedback or need assistance with the MCP directory API, please join our Discord server