Skip to main content
Glama
CKBrennan

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:

Demo für Nachrichten in natürlicher Sprache

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

Vergleich der Tonalität der globalen Berichterstattung

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

KI-Tonalitäts-Zeitreihe


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 | sh

Fü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: uvx

  • Argumente: 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

auto (kostenlos, automatisch bereitgestellt)

10

50

manual (Premium)

60

effektiv unbegrenzt

Um einen Premium-Schlüssel anzufordern, senden Sie eine E-Mail an business@overtone.ai.


Umgebungsvariablen

Variable

Standard

Zweck

OVERTONE_NEWS_API_KEY

(automatisch registriert)

Verwenden Sie einen spezifischen Schlüssel anstelle der automatischen Registrierung

OVERTONE_NEWS_API_URL

https://agentic-skills.overtone.ai

Ü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 subprocess ist das Lesen von git 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-mcp

Verweisen Sie während der Entwicklung auf eine Nicht-Produktions-API:

OVERTONE_NEWS_API_URL=http://localhost:8080 uv run overtone-news-mcp

Lizenz

MIT – siehe LICENSE.


Verwandtes

Install Server
A
license - permissive license
A
quality
C
maintenance

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