mcpField
V
Vox Pop

Vox Pop

ローカル
github.com/mushfique-dgist検索16 週間前に更新

Vox Pop について

Vox Pop は公開ディスカッションを検索し、人々の意見やその変化を提示します。MCP サーバーはプラットフォーム検索、スレッドの確認、自動または呼び出し元指定のルーティングを備え、利用状況はプラットフォームごとに異なります。

主な機能

  1. 01公開ディスカッションの検索
  2. 02関連コミュニティへのクエリ振り分け
  3. 03過去と最近の意見の比較
  4. 04スレッド内の意見を確認
  5. 05プラットフォームの利用状況確認
  6. 06API キー不要のローカルなセマンティックルーティング

活用シーン

  1. 01製品選択に関するコミュニティの意見を比較
  2. 02話題に対する意見の変化を追跡
  3. 03具体的な質問への議論や回答を検索
  4. 04プラットフォームが現在利用可能か確認

MCP 対応

意見検索、時期ごとの見解比較、スレッド内の意見確認、利用可能なプラットフォームの一覧取得ツールを提供します。呼び出し元の LLM がルーティングヒントを指定するか、サーバーがクエリを自動で振り分けます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mushfique-dgist-vox-pop": {
"command": "uvx",
"args": [
"vox-pop"
]
}
}
}
起動コマンドuvx vox-pop

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

パッケージ
pypivox-pop0.2.0

ツール

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

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

詳細


VOX-POP
LLMは教科書に書かれていることを知っています。
これは、人々が実際にどう考えているかを伝えます。

9つのプラットフォーム • セマンティックルーティング • LLMインテリジェンスレイヤー • APIキーなしで動作

ライセンス:MIT Python 3.10+ MCP対応 キー不要

インストール • クイックスタート • プラットフォーム • ルーティングの仕組み • MCPサーバー • Claude Codeプラグイン • ロードマップ



なぜ?

vox-popなし

> How do I debloat my face?

Lymphatic drainage, reduce sodium,
cold compress, drink water,
sleep elevated...

(correct but soulless — same answer
 as every health blog since 2015)

vox-popあり

★ Searched: Reddit, 4chan /fit/, SE Fitness

Consensus (70%+ of threads):
 → Reduce sodium + 3L water/day
 → Sleep elevated on back

Controversial:
 → Gua sha: loved on Reddit,
   mocked on /fit/ as placebo

What actually worked:
 → "Cut dairy for 2 weeks — face
    visibly deflated" (847↑ r/SCA)
 → "Minox bloat is real, went away
    month 3" (/fit/, recurring)

⚠ Some suggestions are unvetted.

インストール

pip install vox-pop

以上です。9つのプラットフォームすべてが、APIキーなしで利用できます。オプションのLLMキーを使うと、よりスマートなルーティングを利用できます(ルーティングの仕組みを参照)。


クイックスタート

CLI — 1つのコマンドで9つのプラットフォームすべてを検索します:

vox-pop search "should I learn Rust or Go"

視点モード — 意見が時間とともにどのように変化したかを確認します:

vox-pop search "rust vs go" --perspective --platforms hackernews,reddit
## hackernews — Then vs Now

Historical (1+ year ago):
> "Rust vs. Go"
  — hackernews | +481 points | 580 replies | 2017-01-18

Recent (last 6 months):
> "Rust vs. Go: Memory Management"
  — hackernews | +2 points | 2025-11-15

## reddit — Then vs Now

Historical:
> "Experienced developer but total beginner in Rust..."
  — reddit | +124 points | 34 replies | 2025-03-14

Recent:
> "I rebuilt the same API in Java, Go, Kotlin, and Rust — here are the numbers"
  — reddit | +174 points | 59 replies | 2026-03-19

この変化が物語っています:2017年は炎上合戦でした。2026年は分野に特化した実用主義です。


標準検索 — すべてのプラットフォームの結果をフラットに表示します:

vox-pop search "should I learn Rust or Go" --limit 3
### hackernews (45 found)
> "I am a full stack TypeScript dev looking to broaden my skill set..."
  — hackernews | +78 points | 42 replies | by throwaway_dev
  Source: https://news.ycombinator.com/item?id=41907717

### 4chan /g/ (12 found)
> "Rust is a mass psychosis. Go is boring but you'll actually ship..."
  — 4chan /g/ | 129 replies | by Anonymous

### reddit (8 found)
> "After 2 years with both: Rust for systems, Go for services..."
  — reddit | +234 points | 87 replies | by senior_dev_42

Python — 独自のツールに組み込めます:

import asyncio
from vox_pop.core import search_multiple, format_context, get_default_providers

async def main():
    results = await search_multiple(
        "best laptop for programming",
        providers=get_default_providers(),
    )
    print(format_context(results))

asyncio.run(main())

## プラットフォーム

トークンも OAuth も、レート制限のわずらわしさもありません。ステータスは希望的観測ではなく、実際に計測されています — vox-pop platforms --check を実行すると、ライブエンドポイントに対して再チェックします。

Reddit と Lobsters は現在ブロックされています。 どちらも Anubis の プルーフ・オブ・ワークのインタースティシャルの背後にあり、コンテンツの代わりに チャレンジページを表示します。これは設定の問題ではなく、ヘッダーを変更しても回避できません。Reddit の サポートは公式 OAuth API に移行中です。Lobsters は空の結果を返すのではなく、 ブロックされたことを明示的に報告するようになりました。

プラットフォームステータスソース時間フィルタースレッド
HNHackerNews動作中Algolia Search APIありあり
RedditRedditブロック中Pullpush + Arctic Shift + Redlib のフォールバックあり—
4chan4chan動作中公式 JSON API(2012 年以降)—あり
SEStack Exchange動作中公式 API — 180 以上のコミュニティありあり
TGTelegram最近の投稿のみ公開チャンネルのウェブプレビュー(t.me/s/)——
LobstersLobstersブロック中lobste.rs の JSON API + 検索スクレイピングあり—
LemmyLemmy動作中公開 REST API — フェデレーションされたインスタンスありあり
LWLessWrong動作中GraphQL APIありあり
ForumsXenForo Forums不安定HTML スクレイピング(Head-Fi、AnandTech など)——

ルーティングの仕組み

クエリは一語でも、段落でも、D&D のルールに関するエッセイほど長い質問でもかまいません。vox-pop は4 段階のルーティングシステムですべてに対応します。

User query: "i was looking into a solid laptop for linux
             something from hp, what would a savvy person pick"
                                    │
    ┌───────────────────────────────▼──────────────────────────────┐
    │  Tier 1: MCP Hints                                           │
    │  Calling LLM provides routing_hints directly                 │
    │  (skips all other tiers)                                     │
    ├──────────────────────────────────────────────────────────────┤
    │  Tier 2: LLM Query Rewrite          ← like Perplexity        │
    │  Cheap LLM call rewrites query to search-optimized form      │
    │  "hp laptop linux compatibility" + routes to communities     │
    │  Supports: Anthropic, OpenAI, Ollama (local/free)            │
    ├──────────────────────────────────────────────────────────────┤
    │  Tier 3: Semantic Embeddings         ← free, no API key      │
    │  FastEmbed (33MB model) understands meaning, not keywords    │
    │  Dynamic catalog: 77 4chan boards + 180 SE sites + static    │
    │  "contradictory spell behaviour" → SE:rpg, r/DnD, /tg/       │
    ├──────────────────────────────────────────────────────────────┤
    │  Tier 4: Broad Defaults                                      │
    │  Search popular destinations everywhere                      │
    └──────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
    Routes to: r/buildapc, r/linux, r/hardware │ /g/
               SE:hardwarerecs, SE:askubuntu │ lemmy:[email protected]

Tier 2 は Perplexity/ChatGPT Search のように動作します — LLM が会話形式のクエリを明確な検索文字列に書き換え、適切なコミュニティを選びます。有効にするには、以下の環境変数のいずれかを設定します。

ANTHROPIC_API_KEY=...   # Uses Claude Haiku (~$0.0003/query)
OPENAI_API_KEY=...      # Uses GPT-4o Mini
OLLAMA_HOST=...         # Uses local Ollama (free)

Tier 3 は API キーなしで完全にローカル実行されます。33MB の埋め込みモデルが、「生き物に対する矛盾した呪文の挙動」がテーブルトップ RPG のルールを意味すると理解します — 共通のキーワードは一切必要ありません。初回実行時に、4chan のすべてのボードと Stack Exchange のサイトを動的に取得して、すべてを埋め込み、ディスクにキャッシュします。

コールドスタートウォームスタート単一クエリ
Tier 3 の所要時間約 7 秒約 1.3 秒即時

設定は不要です。 LLM キーが設定されていれば Tier 2 が使われます。設定されていない場合は Tier 3 が処理します。fastembed がインストールされていない場合も、Tier 4(広範検索)は引き続き利用できます。

ルーティングの例
クエリルーティング先
"best hp laptop for linux"r/buildapc、r/linux、r/hardware、/g/、SE:hardwarerecs、SE:askubuntu
"contradictory spell effects on a creature"r/dndnext、r/DnD、/tg/、SE:rpg
"best mechanical keyboard for programming"r/MechanicalKeyboards、/g/、SE:hardwarerecs
"what are the risks of yield farming"r/CryptoCurrency、SE:tezos、telegram:ethereum
"how to make authentic kimchi jjigae"r/Cooking、/ck/

## MCP サーバー

Claude Code、Cursor、Windsurf、および MCP 互換のすべてのクライアントで動作します。

{
  "mcpServers": {
    "vox-pop": {
      "command": "python",
      "args": ["-m", "vox_pop.server"]
    }
  }
}

LLM は 4 つのツールを利用できます。

ツール機能
search_opinionsあらゆるプラットフォームを対象に、トピックについての意見を検索します
search_opinions_perspective当時と現在 — 過去と最近の意見を並べて表示します
get_thread_opinions特定のスレッドのコメントを詳しく調べます
list_available_platforms利用可能なプラットフォームと稼働状況を確認します

routing_hints パラメーターを使うと、呼び出し元の LLM が検索対象を正確に指定できます。

routing_hints: "reddit:MechanicalKeyboards,4chan:g,stackexchange:hardwarerecs"

ヒントが指定されていない場合は、ルーティングシステムが自動で処理します。


Claude Code プラグイン

claude plugin add /path/to/vox-pop

実際の意見が役立つ質問をすると、このスキルが自動的に起動します。自然な言葉で質問するだけです。

> "What do people think about living in Berlin?"    → activates
> "Should I use Next.js or Remix?"                  → activates
> "Best gym routine for beginners?"                 → activates
> "What's the capital of France?"                   → does not activate

手動で検索する場合:/vox-search "your query"


アーキテクチャ

┌──────────────────────────────────────────────────────────┐
│  Layer 3: Claude Code / MCP Client                       │
│  Auto-triggering skill + /vox-search                     │
├──────────────────────────────────────────────────────────┤
│  Layer 2: MCP Server                                     │
│  search_opinions · perspectives · threads · list         │
├──────────────────────────────────────────────────────────┤
│  Layer 1: Python Library                                 │
│  ┌────────────────────────────────────────────────────┐  │
│  │  Smart Router (4-tier)                             │  │
│  │  MCP hints → LLM rewrite → FastEmbed → broad      │  │
│  └────────────────────────────────────────────────────┘  │
│  ┌────────────────────────────────────────────────────┐  │
│  │  9 Providers with fallback chains                  │  │
│  │  HN · Reddit · 4chan · SE · Telegram               │  │
│  │  Lobsters · Lemmy · LessWrong · XenForo Forums     │  │
│  └────────────────────────────────────────────────────┘  │
│  ┌────────────────────────────────────────────────────┐  │
│  │  Dynamic Catalog                                   │  │
│  │  77 4chan boards + 180 SE sites fetched from APIs   │  │
│  │  + 120 static destinations · cached to disk         │  │
│  └────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────┘

各プロバイダーは自動フォールバックを実装しています。1 つのソースがダウンした場合、次のソースが試されます。Reddit には、3 つのフォールバックソースがあります(Pullpush → Arctic Shift → Redlib)。


ロードマップ

バージョンステータス内容
v0.1リリース済み5 つのプロバイダー(HN、Reddit、4chan、SE、Telegram)、MCP サーバー、Claude Code プラグイン
v0.2現在9 つのプロバイダー、4 層のスマートルーティング、LLM クエリ書き換え、FastEmbed セマンティックルーティング、動的カタログ
v0.3進行中公式 OAuth API 経由の Reddit — ブロックされた Redlib 経由の経路を置き換えます
v0.4未着手地域対応 — DC Inside(韓国)、Naver、5ch(日本)

コントリビューション

New provider?          → Subclass Provider in src/vox_pop/providers/base.py
New routing destination → Add to DESTINATIONS in router.py (one line)
Dynamic catalog source → Add a _fetch_*_destinations() function in router.py
Better LLM prompt?     → Improve _LLM_SYSTEM in router.py
Multilingual support?  → Swap FastEmbed model to bge-m3 in SemanticRouter
Dead instance?         → Open an issue with the instance URL
Regional platform?     → DC Inside, Naver, 5ch, VK, Bilibili — all welcome

セキュリティ

データアクセス公開データのみ — 公式 API と公開ウェブエンドポイントを使用します。ログインが必要なページのスクレイピングは行いません。
認証情報保存されません。任意の LLM キーは実行時に環境変数経由で渡され、ディスクに書き込まれることはありません。
LLM ルーティングANTHROPIC_API_KEY または OPENAI_API_KEY が設定されている場合、ルーティングのみを目的として、クエリテキスト(最大 4000 文字)が該当する LLM API に送信されます。明示的な API キーなしでクエリが外部に送信されることはありません。キーがない場合、ルーティングは FastEmbed を使ってすべてローカルで実行されます。
レート制限プラットフォームごとの制限を遵守します。組み込みの同時実行ガードがあります。
ユーザーエージェント透過的です。すべてのリクエストで vox-pop/0.2 を使用します。
キャッシュAPI レスポンス(7 日間)と埋め込みは ~/.cache/vox-pop/ にローカル保存されます。サードパーティにデータが送信されることはありません。埋め込みは JSON 形式で保存され、シリアライズの依存関係はありません。
個人を特定できる情報(PII)公開投稿の投稿者名は、帰属表示のみに使用されます。レスポンスの後に保存されることはありません。


vox populi, vox dei
民の声は神の声


MIT ライセンス

コメント

MCP は初めてですか?

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

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