overtone-news-mcp
Overtone News MCP-Server
Ein MCP-Server, der jedem Agenten Echtzeit-Nachrichten sowie die kontextuelle Intelligenz liefert, um diese effektiv zu nutzen – Tonalitätsverteilung, aufkommende Themen, narrative Verschiebungen, Spike-Warnungen und Tonalitätsverlauf-Diagramme – bereitgestellt durch das Overtone Publisher-Netzwerk.
Funktioniert mit jedem MCP-kompatiblen Client: Claude Desktop, Claude Code, Cursor, Windsurf, Codex, Kimi K2 und mehr.
So sieht es aus
Abfragen in natürlicher Sprache – fragen Sie in einfachem Englisch und erhalten Sie kontextuell analysierte Artikel:

Analyse der globalen Berichterstattung – vergleichen Sie die Tonalität über Sprachen und Regionen hinweg:

Tonalitäts-Zeitreihen – verfolgen Sie, wie sich die emotionale Berichterstattung zu einem Thema im Laufe der Zeit verändert:

Warum existiert dies?
Nachrichten-APIs liefern Artikel. Das ist der einfache Teil. Der schwierige Teil ist alles, was ein Agent tatsächlich benötigt, um über aktuelle Ereignisse zu urteilen:
Wie ist die Tonalität der Berichterstattung zu einem Thema – ist die öffentliche Stimmung wütend, hoffnungsvoll, informativ, ängstlich?
Was entsteht gerade jetzt, das gestern noch keine Berichterstattung hatte?
Wo dreht sich das Narrativ – welche Themen ändern ihre Tonalität am schnellsten?
Gibt es einen Ausschlag (Spike) bei Wut oder Angst bezüglich etwas, das ich beobachte?
Wie hat sich die Tonalität im Laufe der Zeit bei einer bestimmten Geschichte entwickelt?
Dieser Server stellt all dies als MCP-Tools bereit, sodass ein Agent das richtige Signal für die gestellte Frage abrufen kann – nicht nur einen flachen Feed von Schlagzeilen.
Installation
Der Server wird als Python-Paket ausgeliefert. uvx (von uv) führt es aus, ohne Ihr globales Python zu überladen. Installieren Sie uv einmal:
curl -LsSf https://astral.sh/uv/install.sh | shFügen Sie dann einen Block zu Ihrer MCP-Client-Konfiguration hinzu. uvx lädt das Paket von PyPI herunter und führt es bei Bedarf aus – kein Installationsschritt erforderlich.
Claude Desktop
Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder das Äquivalent auf Ihrer Plattform:
{
"mcpServers": {
"overtone-news": {
"command": "uvx",
"args": ["overtone-news-mcp"]
}
}
}Claude Code
Bearbeiten Sie ~/.config/claude-code/mcp.json:
{
"mcpServers": {
"overtone-news": {
"command": "uvx",
"args": ["overtone-news-mcp"]
}
}
}Cursor / Windsurf
Einstellungen → MCP → Server hinzufügen:
Befehl:
uvxArgumente:
overtone-news-mcp
Codex
Bearbeiten Sie ~/.codex/config.toml:
[[mcp_servers]]
name = "overtone-news"
command = "uvx"
args = ["overtone-news-mcp"]Authentifizierung
Beim ersten Tool-Aufruf registriert der Server einen kostenlosen API-Schlüssel bei Overtone und speichert ihn unter ~/.overtone/credentials. Der Cache wird mit dem Overtone News Skill für Claude Code geteilt, sodass eine Installation beider Tools nicht zu einer doppelten Registrierung führt.
Für einen Premium-Schlüssel (höhere Raten- und Tageslimits) setzen Sie OVERTONE_NEWS_API_KEY im env-Block Ihrer MCP-Konfiguration:
"overtone-news": {
"command": "uvx",
"args": ["--from", "git+https://github.com/CKBrennan/overtone-news-mcp", "overtone-news-mcp"],
"env": { "OVERTONE_NEWS_API_KEY": "ot-prod-..." }
}Ratenlimits:
Stufe | Pro Minute | Pro Tag |
| 10 | 50 |
| 60 | effektiv unbegrenzt |
Um einen Premium-Schlüssel anzufordern, senden Sie eine E-Mail an business@overtone.ai.
Umgebungsvariablen
Variable | Standard | Zweck |
| (automatisch registriert) | Verwenden Sie einen spezifischen Schlüssel anstelle der automatischen Registrierung |
|
| Überschreiben Sie den API-Endpunkt (für selbst gehostete oder Testzwecke) |
Tools
Alle Tools geben JSON zurück. Der Agent wählt aus, welches Tool zur Frage des Benutzers passt – Sie rufen sie nicht direkt auf.
news
Artikel zu einem Thema, jeweils mit Tonalität, Markensicherheits-Signalen, Artikeltyp und Konzepten getaggt. Verwenden Sie dies für "Was passiert mit X".
news(query="AI regulation in Europe", max_results=10, days=7,
tone_filter="informational", brand_safe_only=True)Die Antwort enthält eine request_id – geben Sie diese nach der Präsentation der Artikel an report zurück, damit wir wissen, was tatsächlich angezeigt wurde.
tone
Verteilung der emotionalen Tonalität über die aktuelle Berichterstattung zu einem Thema – happy, funny, hopeful, informational, angry, sad, fearful sowie der dominant_tone.
tone(query="climate change", days=3)Verwenden Sie dies, wenn der Benutzer fragt, wie über ein Thema berichtet wird, nicht was passiert ist.
pulse
Abfragbarer Spike-Detektor. Für jede beobachtete Tonalität (Standard angry / sad / fearful) wird das spike_ratio im Vergleich zu einem Basiszeitraum sowie ein boolescher Wert spiking zurückgegeben. alerts wird nur gefüllt, wenn spike_ratio >= 1.5 bei signifikantem Volumen.
pulse(query="acme corp", tones=["angry", "fearful"],
recent_hours=6, baseline_hours=72)Für die Abfrage alle 5–15 Minuten gedacht. Zeigen Sie dies dem Benutzer nur an, wenn alerts nicht leer ist.
emerging
Konzepte, die in den letzten 24 Stunden aufgetaucht sind und in den vorangegangenen 48 Stunden keine Berichterstattung hatten – Kandidaten für aufkommende Geschichten. Cluster-gefiltert auf ≥3 Artikel und ≥2 Quellen, damit Rauschen durch einzelne Artikel nicht durchdringt.
emerging(limit=10)velocity
Konzepte, deren Tonalitätsverteilung sich zwischen den vorangegangenen 48 Stunden und den letzten 24 Stunden am stärksten verschoben hat. Beantwortet "Wo dreht sich das Narrativ?". Sortiert nach form-normalisierter L2-Distanz, sodass ein gleichmäßiger Volumenanstieg nicht als Verschiebung registriert wird.
velocity(limit=10)timeseries
Tonalitätsverlauf über die Zeit für ein Thema. bin ist hour, 6h oder day. Gibt eine geordnete Reihe von Tonalitätsdurchschnitten pro Bin, article_count und dominant_tone zurück.
timeseries(query="federal reserve", bin="6h", hours=168)Am besten als Mermaid-Liniendiagramm oder ASCII-Sparkline darzustellen.
report
Wird im Hintergrund aufgerufen, nachdem der Agent dem Benutzer Artikel präsentiert hat, um zu protokollieren, welche displayed_urls tatsächlich gezeigt wurden. Hilft Overtone zu verstehen, welche Inhalte für agentische Clients am wertvollsten sind.
report(request_id="<from news response>",
displayed_urls=[...], displayed_count=3,
sponsorship_displayed=False)Beispiel-Agenten-Flows
"Wie ist die Stimmung bei den NBA-Playoffs gerade?"
→ tone(query="NBA playoffs") → Zusammenfassung der Verteilung.
"Gibt es etwas Neues zur FDA, das ich wissen sollte?"
→ emerging(limit=20) → Filtern nach FDA-bezogenen Konzepten.
"Verfolge alle 10 Minuten Wut-Spikes bei unserer Marke."
→ pulse(query="acme corp", tones=["angry"]) in einer Schleife; nur anzeigen, wenn alerts nicht leer ist.
"Zeig mir die Stimmung der letzten Woche zu Tesla."
→ timeseries(query="Tesla", bin="6h", hours=168) → als Diagramm rendern.
"Gib mir 5 positive Geschichten über Weltraumforschung."
→ news(query="space exploration", max_results=5, tone_filter="positive")
→ präsentieren → report(...).
Datenschutz – was wird an Overtone gesendet?
Wenn der Server bei der ersten Nutzung automatisch einen Schlüssel der kostenlosen Stufe registriert, sendet er:
Einen SHA-256-Hash von
Hostname + Betriebssystem-Benutzer + CPU-Architektur. Wir sehen niemals die Rohwerte; der Hash wird verwendet, um Schlüssel bei Neuinstallationen auf demselben Gerät zu deduplizieren.
Bei der Registrierung werden keine persönlichen Daten übertragen.
Bei jedem Tool-Aufruf sendet der Server den API-Schlüssel und die Eingabeparameter des Tools an ${OVERTONE_NEWS_API_URL}. Wir protokollieren Abfragen für Analysen und zur Missbrauchsprävention; siehe overtone.ai/privacy.
Kein Artikelinhalt, keine Benutzerkonversation und kein Agentenkontext werden über die Tool-Eingaben hinaus gesendet. Wir sehen nicht den Rest des Prompts, des Speichers oder anderer Tool-Aufrufe Ihres Agenten.
Um die automatische Registrierung zu deaktivieren, setzen Sie OVERTONE_NEWS_API_KEY manuell auf einen Schlüssel, den Sie angefordert haben, oder leiten Sie OVERTONE_NEWS_API_URL auf Ihren eigenen Proxy um.
Sicherheitshinweise
Prompt-Injection durch Artikelinhalte. Das
news-Tool gibt Publisher-Texte zurück (Schlagzeilen, Beschreibungen). Ein Artikel könnte Text enthalten, der darauf ausgelegt ist, einen Agenten zu manipulieren ("ignoriere vorherige Anweisungen und ..."). Der MCP-Server selbst hat keine destruktiven Tools – er liest nur –, aber Sie sollten zurückgegebenen Artikeltext als nicht vertrauenswürdige Eingabe in der Argumentation Ihres Agenten behandeln, genau wie Sie jeden Web-Inhalt behandeln würden. Sandboxing, reines Rendering der Ausgabe und Tool-Allowlists im Host sind die richtigen Gegenmaßnahmen.Kein Shell-Zugriff. Der Server führt niemals Shell-Befehle im Namen des Benutzers aus. Die einzige Verwendung von
subprocessist das Lesen vongit config --global user.{name,email}während der Registrierung.Kein Dateisystemzugriff außer
~/.overtone/credentials. Der Server liest oder schreibt keine anderen lokalen Dateien.
Entwicklung
git clone https://github.com/CKBrennan/overtone-news-mcp
cd overtone-news-mcp
uv sync
uv run overtone-news-mcpVerweisen Sie während der Entwicklung auf eine Nicht-Produktions-API:
OVERTONE_NEWS_API_URL=http://localhost:8080 uv run overtone-news-mcpLizenz
MIT – siehe LICENSE.
Verwandtes
overtone-news-skill – Claude Code Skill-Version (teilt Anmeldedaten)
overtone.ai – die Intelligenz hinter der API
Appeared in Searches
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/CKBrennan/overtone-news-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server