Skip to main content
Glama
alozur
by alozur

Readeck MCP

Ein MCP-Server, der eine Readeck-Bibliothek in eine Schreib-/Lese-Wissensdatenbank für KI-Agenten verwandelt: Agenten können das von ihnen erzeugte HTML direkt in Readeck ablegen (vom LLM automatisch verschlagwortet) und diese Dokumente später wieder abrufen und lesen. Gebaut mit FastMCP – derselbe Code läuft als lokaler stdio-Server oder als entfernter HTTP-Server hinter einem Reverse-Proxy.

Anders als bestehende Readeck-MCPs (die reine Lese-Assistenten sind), nimmt dieser hier agentengeneriertes HTML auf und versieht es automatisch mit einem LLM-Label aus einer festen Taxonomie.

Werkzeuge

Werkzeug

Zweck

readeck_save(html, title, labels?, url?, auto_label?)

Speichert rohes HTML als lesbares Lesezeichen; vergibt automatisch Labels, wenn keine angegeben sind.

readeck_read(query, only_own?, max_results?, max_chars?)

Abruf: findet das/die am besten passende(n) Dokument(e) und gibt deren vollständigen lesbaren Text zurück.

readeck_search(query, limit?)

Durchsucht die Bibliothek (nur Metadaten).

readeck_list_labels()

Listet vorhandene Labels mit Anzahl auf.

readeck_save nutzt die JSON-Erstellungs-API von Readeck mit dem html-Feld für rohes HTML (Base64-/Data-URIs funktionieren nicht). Es sendet einen Browser-User-Agent, damit eine WAF (z. B. Cloudflare-Fehler 1010) es nicht blockiert, und fragt kurz nach, um die neue Lesezeichen-id, word_count und reading_url zurückzugeben.

Related MCP server: Doc Monitor MCP

Automatische Beschriftung

Wenn Sie readeck_save ohne labels aufrufen, klassifiziert ein LLM das Dokument. Es ist konstruktionsbedingt injektionsresistent: Das Modell darf nur aus einer festen Taxonomie (LABEL_TAXONOMY) wählen, und das Ergebnis wird serverseitig mit dieser Liste geschnitten, sodass nicht im Vokabular enthaltene Labels unmöglich sind. Ein Herkunftslabel (ORIGIN_LABEL, Standard propio) wird immer per Code hinzugefügt, nie vom LLM.

Anbieterunabhängig (OpenAI-kompatibel oder Anthropic). Funktioniert mit kostenlosen Stufen wie Groq – für Reasoning-Modelle wie gpt-oss setzen Sie großzügige LLM_MAX_TOKENS; der Server sendet automatisch reasoning_effort: low.

Schutzmaßnahmen

  • Fail-closed-HTTP-Authentifizierung: Über HTTP-Transport erfordert jeder Tool-Aufruf Authorization: Bearer $MCP_AUTH_TOKEN (Konstantzeitvergleich).

  • Eingabevalidierung: HTML-Größenlimit, Ablehnung von Nicht-HTML, URL-Schema-Whitelist, Label-Bereinigung + -Limit.

  • Token-Bucket-Ratenbegrenzung pro Prozess.

  • LLM-Aufrufe werden bei 429/5xx mit Backoff wiederholt und verschlechtern sich elegant (Beschriftung ist Best-Effort; ein Fehler blockiert das Speichern nie).

Konfiguration (Umgebung)

Variable

Standard

Hinweise

READECK_URL

http://localhost:8000

Readeck-Basis-URL.

READECK_TOKEN

Erforderlich. Readeck → Einstellungen → API-Tokens.

READECK_MCP_TRANSPORT

stdio

stdio oder http.

READECK_MCP_HOST / READECK_MCP_PORT

0.0.0.0 / 8787

Nur HTTP-Modus.

MCP_AUTH_TOKEN

Im HTTP-Modus erforderlich (Fail-closed-Bearer).

AUTO_LABEL

true

LLM-Autobeschriftung aktivieren.

ORIGIN_LABEL

propio

Immer hinzugefügtes Herkunftslabel.

LABEL_TAXONOMY

siehe config.py

Kommagetrenntes geschlossenes Vokabular.

MAX_AUTO_LABELS

3

Max. LLM-Themen pro Dokument.

LLM_PROVIDER

anthropic

anthropic oder openai (OpenAI-kompatibel).

LLM_BASE_URL

https://api.anthropic.com

Für openai Versionspräfix angeben (z. B. .../v1).

LLM_MODEL

claude-haiku-4-5

Beliebiges Chat-Modell des gewählten Anbieters.

LLM_API_KEY

Schlüssel für den LLM-Anbieter.

LLM_MAX_TOKENS / LLM_TEXT_CHARS

2000 / 3000

Ausgabebudget / gesendeter Eingabetext.

Lokal (stdio)

READECK_TOKEN=... uv run --script server.py --selftest   # smoke test

Bei einem MCP-Client (mcpServers) registrieren, z. B.:

{
  "mcpServers": {
    "readeck": {
      "command": "uv",
      "args": ["run", "--script", "/path/to/readeck-mcp/server.py"],
      "env": { "READECK_URL": "https://readeck.example.com", "READECK_TOKEN": "..." }
    }
  }
}

Remote (HTTP / Docker)

Mit READECK_MCP_TRANSPORT=http ausführen (siehe Dockerfile). Hinter dem eigenen Reverse-Proxy / Tunnel platzieren, z. B. https://mcp-readeck.example.com. Wenn Readeck auf demselben Host läuft, READECK_URL=http://readeck:8000 setzen, um den öffentlichen Umweg zu vermeiden. Clients auf den Endpunkt verweisen:

{
  "mcpServers": {
    "readeck": {
      "type": "http",
      "url": "https://mcp-readeck.example.com/mcp",
      "headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
    }
  }
}

Hinweis: Den Endpunktpfad ohne abschließenden Schrägstrich verwenden (/mcp, nicht /mcp/) – manche Proxys wandeln die Weiterleitung mit Schrägstrich in einen 307 um, der Streamable-HTTP-Clients stört.

Setzen Sie immer ein starkes MCP_AUTH_TOKEN, bevor Sie den Endpunkt freigeben – das Token gewährt Schreibzugriff auf Ihre Bibliothek.

Lizenz

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

  • Shared knowledge base for AI agents. Semantic search across agents, no setup required — just a URL.

View all MCP Connectors

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/alozur/readeck-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server