Skip to main content
Glama
ManiaSacha
by ManiaSacha

web-mcp

ci PyPI Python License: MIT

Semantische Suche über RSS/Atom-Feeds für KI-Agenten – ein Single-File-MCP-Server. Kein API-Schlüssel, keine Cloud, nur die Feeds Ihrer Wahl.

Richten Sie es auf ein paar RSS/Atom-Feeds aus und geben Sie einem Agenten Werkzeuge, um sie nach Bedeutung zu durchsuchen (TF-IDF + Aktualitäts-Boost), zu sehen, was angesagt ist, einen Digest zu erstellen und die Feed-Gesundheit zu überwachen – alles läuft lokal mit Feeds, die Sie kontrollieren.

web-mcp Demo

Funktionen

  • Feeds hinzufügen/entfernen/auflisten – RSS 2.0 und Atom

  • Ranking-Suche – TF-IDF-Kosinusähnlichkeit mit Aktualitäts-Boost, reine Standardbibliothek (keine Embeddings, keine Netzwerkaufrufe außer dem Abrufen der Feeds selbst)

  • Trendthemen – häufigste Begriffe in aktuellen Artikeln

  • Quellen-Gesundheit – kennzeichnet Feeds, die Fehler melden, still sind oder veraltet sind

  • Markdown-Digests – nach Feed gruppierte Zusammenfassung aktueller Artikel

  • Hintergrundaktualisierung – Feeds werden automatisch per Timer aktualisiert

Installation

Erfordert Python 3.10+.

Zum Paketnamen: Das Projekt heißt web-mcp, aber die PyPI-Distribution ist feed-mcp – PyPI lehnt web-mcp als zu ähnlich zu einem nicht verwandten bestehenden webmcp-Paket ab. Sie installieren also pip install feed-mcp, und es installiert sowohl einen web-mcp- als auch einen feed-mcp-Befehl; es ist dasselbe Programm, verwenden Sie, was Sie bevorzugen.

Option A – Claude-Code-Plugin (empfohlen)

Installiert den MCP-Server und die gebündelten Skills und Agenten in einem Schritt:

pip install feed-mcp

Dann, in Claude Code:

/plugin marketplace add ManiaSacha/web-mcp
/plugin install web-mcp@maniasacha-web-mcp

Das Plugin registriert den web-MCP-Server automatisch und fragt Sie nach einer Start-Feed-Liste. Wenn die Installationszusammenfassung Run /reload-plugins to activate. anzeigt, führen Sie das aus.

Der Schritt pip install ist erforderlich: Der MCP-Server des Plugins ruft den Befehl web-mcp auf, den pip in Ihren PATH legt.

Option B – Nur MCP-Server

pip install feed-mcp
claude mcp add web -- web-mcp --feeds https://hnrss.org/frontpage

Für Claude Desktop fügen Sie dies zu claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "web": {
      "command": "web-mcp",
      "args": ["--feeds", "https://hnrss.org/frontpage,https://github.blog/feed/"]
    }
  }
}

Option C – Aus dem Quellcode

git clone https://github.com/ManiaSacha/web-mcp.git
cd web-mcp
./install.sh          # Windows: .\install.ps1

Die Installationsskripte prüfen Ihre Python-Version, installieren das Paket und geben den genauen nächsten Befehl für Ihr Setup aus.

Schnellstart

Führen Sie den Server direkt aus, um zu prüfen, ob er funktioniert:

web-mcp --feeds https://hnrss.org/frontpage,https://github.blog/feed/

Er spricht MCP über stdio, wartet also still auf einen Client – das ist korrektes Verhalten, kein Hängenbleiben. Drücken Sie Strg+C zum Beenden.

Sobald verbunden, fragen Sie Ihren Agenten zum Beispiel:

  • „Was ist heute in meinen Feeds angesagt?"

  • „Durchsuche meine Feeds nach etwas über Postgres-Leistung."

  • „Gib mir einen Digest der letzten 24 Stunden."

  • „Sind irgendwelche meiner Feeds defekt?"

Enthalten

Komponente

Name

Zweck

MCP-Server

web

Die 9 unten aufgeführten Tools

Skill

feed-curation

Feeds hinzufügen, prüfen und bereinigen

Skill

feed-digest

Rohe Tool-Ausgabe in ein synthetisiertes Briefing verwandeln

Agent

pm

Grenzt Funktionen anhand der Single-File-Philosophie ein

Agent

security-reviewer

Prüft die SSRF/Fetch-Oberfläche

Agent

git-pipeline

Branching, Commits und Review-Übergabe

Tools

Tool

Beschreibung

add_feed(url)

Ein RSS/Atom-Feed hinzufügen und seine aktuellen Artikel indizieren

remove_feed(url)

Einen Feed und seine indizierten Artikel entfernen

list_feeds()

Konfigurierte Feeds mit Artikelanzahl auflisten

search(query, limit=10, max_days=30)

Ranking-Suche mit Aktualitäts-Boost

recent(limit=20)

Neueste Artikel aus allen Feeds

trending(hours=24, limit=10)

Trendbegriffe in den letzten N Stunden

digest(hours=24, limit=8)

Markdown-Digest nach Feed gruppiert

source_health()

Welche Feeds gesund, verspätet oder fehlerhaft sind

refresh()

Alle Feeds sofort aktualisieren

Sicherheitshinweise

add_feed(url) veranlasst den Server, eine URL abzurufen, die Ihren Agenten möglicherweise von einer Webseite erreicht hat und nicht von Ihnen. Dieser Pfad wird daher als nicht vertrauenswürdig behandelt:

  • Schema-Allowlist – nur http:// und https://. file://, ftp://, gopher:// und data: werden abgelehnt.

  • Nur öffentliche Adressen – Eine URL wird abgelehnt, es sei denn, jede Adresse, zu der sie aufgelöst wird, ist öffentlich erreichbar. Loopback-, private, link-lokale (einschließlich des Cloud-Metadaten-Endpunkts 169.254.169.254), Multicast- und reservierte Adressen sind blockiert, ebenso wie ihre IPv4-gemappten IPv6-Formen.

  • IP-Pinning bei der Verbindung – Die Adresse, die validiert wurde, ist die tatsächlich angewählte, sodass DNS nicht zwischen Prüfung und Verbindung unterschiedlich antworten kann (Rebinding). TLS validiert Zertifikate weiterhin gegen den Hostnamen.

  • Redirect-Validierung pro Sprung – Weiterleitungen werden manuell verfolgt und bei jedem Sprung erneut validiert, sodass eine öffentliche URL den Abruf nicht auf einen internen Host umleiten kann. Maximal 5 Sprünge.

  • Ressourcengrenzen – 5 MB pro Feed-Body, ein explizites Socket-Timeout und eine Begrenzung des limit jedes Tools.

Zwei Dinge, die es nicht tut: Es hat keine Authentifizierung (es ist für den lokalen Betrieb über stdio gedacht – setzen Sie es nicht einem Netzwerk aus) und es prüft keine Feed-Inhalte. Indizierter Artikeltext wird von dem geschrieben, der den Feed kontrolliert. Behandeln Sie ihn also als Daten, niemals als Anweisungen.

Weitere Details, einschließlich der verbleibenden Grenzen, finden Sie in docs/SECURITY-MODEL.md. Um eine Sicherheitslücke zu melden, lesen Sie SECURITY.md.

Entwicklung

pip install -e ".[dev]"
pytest              # 53 tests, no network access
ruff check .        # lint
python scripts/validate_plugin.py   # manifests, frontmatter, version sync

CI führt alle drei auf Python 3.10–3.13 aus (Linux, plus macOS und Windows auf 3.12) und installiert zusätzlich das gebaute Wheel, um zu bestätigen, dass die Konsolenskripte funktionieren.

Siehe CONTRIBUTING.md für den Workflow und CHANGELOG.md für den Versionsverlauf.

Lizenz

MIT

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
3Releases (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 Connectors

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/ManiaSacha/web-mcp'

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