mcpField
O
Overtone News Mcp

Overtone News Mcp

ローカル
github.com/CKBrennanデータ・分析125 週間前に更新

Overtone News Mcp について

Overtone News MCP Serverは、ニュースに加え、報道のトーン、新興トピック、ナラティブの変化、急増を分析してエージェントに提供します。記事一覧以上の時事シグナルを必要とする用途に向いています。

主な機能

  1. 01トーンとブランド安全性付きニュース
  2. 02報道トーンの分布分析
  3. 03新興トピックの検出
  4. 04ナラティブ変化のランキング
  5. 05トーン急増アラートと時系列
  6. 06記事表示のレポート

活用シーン

  1. 01トピックの報道トーンを確認
  2. 02新たに浮上した話題を発見
  3. 03ブランドに関する怒りや不安の急増を監視
  4. 04報道トーンの経時変化を追跡

MCP 対応

ニュース取得や、トーン、新興トピック、急増、ナラティブ変化、時系列、表示レポートの機能をMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"overtone-news": {
"command": "uvx",
"args": [
"overtone-news-mcp"
],
"env": {
"OVERTONE_NEWS_API_KEY": "<OVERTONE_NEWS_API_KEY>"
}
}
}
}
起動コマンドuvx overtone-news-mcp
設定が必要な環境変数
OVERTONE_NEWS_API_KEYシークレットOvertone API key (auto-registers a free key if not set)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiovertone-news-mcp0.1.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Overtone News MCP Server

あらゆるエージェントに、リアルタイムニュースと、それを効果的に活用するための文脈に基づく情報を提供する MCP サーバーです。トーンの分布、新たなニュース、ナラティブの変化、急増アラート、トーンの経時変化を示すチャートを、Overtone のパブリッシャーネットワークを活用して提供します。

あらゆる MCP 互換クライアントで動作します:Claude Desktop、Claude Code、 Cursor、Windsurf、Codex、Kimi K2 など。


使用イメージ

自然言語でのクエリ — 平易な英語で質問すると、文脈を踏まえて分析された記事が返ってきます:

自然言語によるニュースのデモ

グローバルな報道分析 — 言語や地域ごとのトーンを比較できます:

グローバル報道のトーン比較

トーンの時系列 — トピックに関する報道の感情的な傾向が、時間とともにどう変化するかを追跡できます:

AI トーンの時系列


このサーバーを作った理由

ニュース API は記事を返します。簡単なのはそこまでです。難しいのは、エージェントが時事問題について考えるために実際に必要とする情報をすべて得ることです:

  • あるトピックの報道のトーンはどうなっているか — 世間のムードは怒り、希望、情報提供、恐怖のどれでしょうか?
  • 昨日は報道がまったくなかったのに、今まさに新たに浮上している話題は何でしょうか?
  • ナラティブが転換しているのはどこか — 最も速くトーンが変化しているトピックは何でしょうか?
  • 注目している事柄について、怒りや恐怖が急増しているでしょうか?
  • あるニュースについて、トーンは時間とともにどのように推移してきたでしょうか?

このサーバーは、これらすべてを MCP ツールとして公開するため、エージェントは単なる見出しの一覧ではなく、質問に応じた適切な情報を取得できます。


インストール

このサーバーは Python パッケージとして提供されます。uv に含まれる uvx を使えば、グローバルの Python 環境を散らかさずに実行できます。まず uv を一度インストールしてください:

curl -LsSf https://astral.sh/uv/install.sh | sh

次に、MCP クライアントの設定にブロックを 1 つ追加します。uvx が PyPI からパッケージを取得し、必要に応じて実行するため、インストール作業は不要です。

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)またはご利用のプラットフォームにおける同等のファイルを編集します:

{
  "mcpServers": {
    "overtone-news": {
      "command": "uvx",
      "args": ["overtone-news-mcp"]
    }
  }
}
Claude Code

~/.config/claude-code/mcp.json を編集します:

{
  "mcpServers": {
    "overtone-news": {
      "command": "uvx",
      "args": ["overtone-news-mcp"]
    }
  }
}
Cursor / Windsurf

設定 → MCP → サーバーを追加:

  • コマンド:uvx
  • 引数:overtone-news-mcp
Codex

~/.codex/config.toml を編集します:

[[mcp_servers]]
name = "overtone-news"
command = "uvx"
args = ["overtone-news-mcp"]

認証

最初のツール呼び出し時に、サーバーは Overtone に無料プランの API キーを登録し、~/.overtone/credentials にキャッシュします。このキャッシュは Claude Code 用の Overtone News スキルと共有されるため、両方をインストールしても登録が二重に行われることはありません。

プレミアムキー(より高いレート制限と 1 日あたりの上限)を利用するには、MCP 設定の env ブロックに OVERTONE_NEWS_API_KEY を設定します:

"overtone-news": {
  "command": "uvx",
  "args": ["--from", "git+https://github.com/CKBrennan/overtone-news-mcp", "overtone-news-mcp"],
  "env": { "OVERTONE_NEWS_API_KEY": "ot-prod-..." }
}

レート制限:

プラン1 分あたり1 日あたり
auto(無料、自動で割り当て)1050
manual(プレミアム)60実質無制限

プレミアムキーをご希望の場合は、[email protected] にメールでお問い合わせください。


環境変数

変数デフォルト用途
OVERTONE_NEWS_API_KEY(自動登録)自動登録の代わりに、指定したキーを使用します
OVERTONE_NEWS_API_URLhttps://agentic-skills.overtone.aiAPI エンドポイントを上書きします(セルフホストまたはテスト用)

ツール

すべてのツールは JSON を返します。ユーザーの質問に合ったツールはエージェントが選択するため、ツールを直接呼び出す必要はありません。

news

トピックに関する記事を取得します。各記事には、トーン、ブランドセーフティのシグナル、記事タイプ、コンセプトがタグ付けされます。「X の状況は?」といった質問に使います。

news(query="AI regulation in Europe", max_results=10, days=7,
     tone_filter="informational", brand_safe_only=True)

応答には request_id が含まれます。記事を提示した後にこれを report に渡すと、実際に何が表示されたかを把握できます。

tone

トピックに関する最近の報道における感情的なトーンの分布です。happy、funny、hopeful、informational、angry、sad、fearful に加えて、dominant_tone が含まれます。

tone(query="climate change", days=3)

何が起きたかではなく、トピックがどのように報道されているかをユーザーが尋ねたときに使います。

pulse

ポーリング可能な急増検出ツールです。監視対象の各トーン(デフォルトは angry/sad/fearful)について、ベースラインの ウィンドウに対する spike_ratio と、急増中かどうかを示すブール値の spiking を返します。alerts が設定されるのは、 spike_ratio >= 1.5 かつ有意なボリュームがある場合のみです。

pulse(query="acme corp", tones=["angry", "fearful"],
      recent_hours=6, baseline_hours=72)

5~15分ごとのポーリングを想定しています。alerts が空でない場合にのみ ユーザーに表示してください。

emerging

過去24時間に出現し、それ以前の48時間にはまったく取り上げられていない概念です。新たな話題の候補となります。単一記事のノイズが混入しないよう、3件以上の記事と2つ以上のソースにクラスターフィルターを適用しています。

emerging(limit=10)
velocity

直前の48時間と最新の24時間の間で、トーンの分布が最も大きく変化した概念です。「ナラティブはどこで転換しているか?」に答えます。一様なボリュームの増加が変化として記録されないよう、形状で正規化した L2 距離に基づいて順位付けします。

velocity(limit=10)
timeseries

トピックのトーンの経時的な推移です。bin は hour、6h、または day です。各ビンのトーン平均、article_count、dominant_tone を含む、順序付けされた時系列を返します。

timeseries(query="federal reserve", bin="6h", hours=168)

Mermaid の折れ線グラフまたは ASCII のスパークラインで表示するのが最適です。

report

エージェントがユーザーに記事を提示した後、どの記事を実際に表示したかを記録するため、通知なしで呼び出されます。エージェント型クライアントにとって最も価値のあるコンテンツを Overtone が把握するのに役立ちます。

report(request_id="<from news response>",
       displayed_urls=[...], displayed_count=3,
       sponsorship_displayed=False)

エージェントのフロー例

「現在、NBA プレーオフはどのようなムードですか?」 → tone(query="NBA playoffs") → 分布を要約します。

「FDA に関して、知っておくべき速報はありますか?」 → emerging(limit=20) → FDA 関連の概念に絞り込みます。

「ブランドに対する怒りの急増を10分ごとに追跡してください。」 → ループ内で pulse(query="acme corp", tones=["angry"]) を実行し、alerts が空でない場合にのみ表示します。

「Tesla に関する過去1週間のセンチメントを見せてください。」 → timeseries(query="Tesla", bin="6h", hours=168) → グラフとして表示します。

「宇宙探査に関するポジティブな記事を5件ください。」 → news(query="space exploration", max_results=5, tone_filter="positive") → 表示 → report(...)。


プライバシー — Overtone に送信される情報

初回使用時にサーバーが無料枠のキーを自動登録する際、次の情報を送信します。

  • hostname + OS user + CPU arch の SHA-256 ハッシュ。元の値は一切取得しません。このハッシュは、同じマシンで再インストールした際にキーを重複排除するために使用されます。

登録時に個人データは送信されません。

ツールを呼び出すたびに、サーバーは API キーとツールの入力パラメーターを ${OVERTONE_NEWS_API_URL} に送信します。分析と不正利用防止のためにクエリをログに記録します。詳しくは overtone.ai/privacy をご覧ください。

記事のコンテンツ、ユーザーとの会話、エージェントのコンテキストが、ツールへの入力以外に送信されることはありません。 エージェントのプロンプト、メモリ、その他のツール呼び出しは一切確認しません。

自動登録を無効にするには、OVERTONE_NEWS_API_KEY に取得済みのキーを手動で設定するか、OVERTONE_NEWS_API_URL を独自のプロキシに指定してください。


セキュリティに関する注意事項

  • 記事コンテンツを介したプロンプトインジェクション。 news ツールは、見出しや説明などのパブリッシャーのテキストを返します。記事にはエージェントを操作するよう設計されたテキスト(「以前の指示を無視して……」など)が含まれる可能性があります。MCP サーバーには破壊的なツールはなく、読み取りのみを行いますが、返された記事のテキストは、他のウェブコンテンツと同様に、エージェントの推論における信頼できない入力として扱ってください。ホスト側でサンドボックス化、出力のみのレンダリング、ツールの許可リストを使用するのが適切な緩和策です。
  • シェルへのアクセスはありません。 サーバーがユーザーに代わってシェルコマンドを実行することはありません。唯一の subprocess の使用箇所は、登録時に git config --global user.{name,email} を読み取る処理です。
  • ~/.overtone/credentials 以外のファイルシステムへのアクセスはありません。 サーバーが他のローカルファイルを読み書きすることはありません。

開発

git clone https://github.com/CKBrennan/overtone-news-mcp
cd overtone-news-mcp
uv sync
uv run overtone-news-mcp

開発時には、本番環境以外の API を指定してください。

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

ライセンス

MIT — LICENSE を参照してください。


関連

  • overtone-news-skill — Claude Code スキル版(認証情報を共有します)
  • overtone.ai — API を支えるインテリジェンス
  • MCP バッジ mcp-name: io.github.CKBrennan/overtone-news-mcp

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。