🚀 HackerNews MCP Server
このプロジェクトは、HackerNews APIとシームレスに統合された包括的なModel Context Protocol (MCP) サーバーです。標準化されたMCPインターフェースを通じて、AIアシスタントがHackerNewsのコンテンツにアクセス、分析、理解できるようにします。
🚀 クイックスタート
npm install
npm run build
npm start
その後、MCP対応のクライアント(Cursorなど)を再起動してサーバーに接続します。
✨ 主な機能
🔧 ツール (5つのインタラクティブコマンド)
-
search_posts - HackerNewsの投稿を検索およびフィルタリングします。
- キーワード、投稿者、スコア、日付範囲でフィルタリングできます。
- 例: "スコアが100を超える 'AI' に関する記事を検索"
-
get_post - 投稿の詳細情報を取得します。
- メタデータ、コメントツリー、エンゲージメント指標が含まれます。
- 例: "記事ID 44473319の詳細とコメントを取得"
-
search_user - ユーザープロファイルと活動を分析します。
- ユーザー統計、トップ記事、投稿パターンが表示されます。
- 例: "ユーザー 'pg' の活動を分析"
-
search_trending - 現在のトレンドトピックを検索します。
- トップ記事からキーワードの頻度分析を行います。
- 例: "今日のHackerNewsでトレンドになっているトピックは何ですか?"
-
search_comments - コメントのエンゲージメントを分析します。
- コメント統計、トップコメント投稿者、ディスカッションパターンが表示されます。
- 例: "記事ID 44473319のコメントを分析"
📦 インストール
前提条件
インストール手順
-
クローンとインストール:
git clone <repository-url>
cd hackernews-mcp-server
npm install
-
プロジェクトのビルド:
npm run build
-
MCPクライアント (Cursor) の設定:
.cursor/mcp.json ファイルはすでに設定されています。
- Cursorを再起動してMCPサーバーを読み込みます。
-
使用開始:
npm start
💻 使用例
基本的な使用法
🔍 投稿の検索 - トピック別の記事検索
search_posts with query="AI", minScore=50, limit=10
- "'Positive review only': Researchers hide AI prompts in papers" (100 points, 52 comments)
- "Cops in [Spain] think everyone using a Google Pixel must be a drug dealer" (65 points, 50 comments)
使用例:
- 特定のトピックに関する高エンゲージメントの記事を検索します。
- 投稿者、スコアの閾値、または日付範囲でフィルタリングします。
- あなたの分野でトレンドになっているディスカッションを調査します。
📄 投稿詳細の取得 - 記事の詳細分析
get_post for story ID 44473319 (AI prompts story)
- 記事の完全なメタデータ (age: 3.2 hours, domain: asia.nikkei.com)
- 完全なコメントツリー (38人の投稿者からの57件のコメント)
- エンゲージメント指標とディスカッションの質
使用例:
- あなたが興味を持っている特定の記事を分析します。
- 完全なコメントディスカッションを取得します。
- ニュースに対するコミュニティの反応を理解します。
👤 ユーザーの検索 - プロファイル分析
search_user for "zczc" (Google Pixel story author)
- HNで8.6年の経歴、876のカルマ、安定した投稿者
- 研究志向: 一次資料を提供する
- クロスドメインの専門知識: テクノロジー、政策、プログラミング
- 質より量を重視するアプローチ
使用例:
- 興味深い投稿の投稿者を調査します。
- ドメインの専門家や考えのリーダーを見つけます。
- ユーザーの投稿パターンを理解します。
📈 トレンドの検索 - トピック分析
search_trending analyzing 49 current top stories
- "software", "game", "first" (それぞれ6.1%)
- "systems", "local", "google" (それぞれ4.1%)
- 宇宙技術: "satellite", "geostationary"
- ローカルファーストのソフトウェアとゲームに焦点を当てています。
使用例:
- テクノロジーコミュニティで議論されていることを追跡します。
- 新興のテクノロジートレンドを特定します。
- コミュニティの興味の変化を監視します。
💬 コメントの検索 - ディスカッション分析
search_comments on the Google Pixel Spain story
- 38人の一意の投稿者からの56件のコメント
- 活発なディスカッション (4件以上のコメントを投稿した複数のユーザー)
- プライバシー/監視に関する国際的な視点
- 質の高いモデレーション (5件削除、1件フラグ付き)
使用例:
- トピックに対するコミュニティの感情を分析します。
- 最も積極的な議論参加者を見つけます。
- ディスカッションの質とパターンを理解します。
🔧 技術詳細
スマートキャッシュシステム
- 3層キャッシュ: アイテム、ユーザー、記事リスト
- 設定可能なTTL: デフォルトは5分、調整可能
- LRUエビクション: キャッシュがいっぱいになったときに自動的にクリーンアップ
- パフォーマンス: API呼び出しを約80%削減
APIクライアント機能
- 包括的なカバレッジ: すべてのHackerNews APIエンドポイント
- バッチ操作: 複数のアイテムを効率的に読み込む
- エラーハンドリング: 堅牢なリトライとタイムアウトロジック
- レート制限: APIを適切に使用する
拡張データ
- 記事メタデータ: 記事の年齢、ドメイン、コメント数の計算
- ユーザー統計: 平均スコア、トップ記事、活動パターン
- コメント分析: エンゲージメント指標、ディスカッションツリー
- トレンド分析: キーワード頻度、トピック抽出
🔧 設定
環境変数 (オプション):
# サーバー設定
SERVER_NAME=hackernews-mcp-server
SERVER_VERSION=1.0.0
# API設定
HACKERNEWS_API_BASE_URL=https://hacker-news.firebaseio.com/v0
HACKERNEWS_API_TIMEOUT=10000
# キャッシュ設定
CACHE_TTL_SECONDS=300
CACHE_MAX_SIZE=1000
# ロギング
LOG_LEVEL=info
🧪 開発
npm run dev
npm test
npm run lint
npm run lint:fix
npm run build
📊 MCPツールと機能
実際に使用できるテスト済みのツールとその機能:
| 属性 |
详情 |
| MCPツール |
機能 |
search_posts |
条件に基づいて記事を検索します。 |
get_post |
記事の完全な詳細を取得します。 |
search_user |
ユーザープロファイルを分析します。 |
search_trending |
トピック分析を行います。 |
search_comments |
ディスカッション分析を行います。 |
リソースアクセスパターン:
hackernews://stories/top → 現在のトップ記事
hackernews://user/username → ユーザープロファイル
hackernews://item/12345 → 個々の投稿
hackernews://comments/12345 → コメントツリー
🤝 実際のユースケース (テストに基づく)
📰 コンテンツの調査と分析
- 最新のテクノロジー記事を見つける: 論文にAIプロンプトを隠す研究の記事 (100点、活発なディスカッション) のようなものを見つけます。
- 論争の的となるトピックを追跡する: Google Pixelのプロファイリングに関するプライバシー問題のようなトピックを追跡します。
- ディスカッションの質を分析する: 38人の投稿者からの57件のコメントは、本当のエンゲージメントを示しています。
- 新興のトレンドを監視する: 宇宙技術、ローカルファーストのソフトウェア、ゲームの開発を監視します。
👥 コミュニティインテリジェンス
- 質の高い投稿者を特定する: 研究志向でクロスドメインの専門家である "zczc" を見つけます。
- ユーザーのパターンを理解する: 8.6年の経歴、安定したカルマの増加、情報源の検証習慣を理解します。
- ドメインの専門家を見つける: 一貫して高品質な投稿を行うユーザーを見つけます。
- 考えのリーダーを追跡する: 特定のテクノロジー分野で活発なユーザーを追跡します。
📈 トレンドと感情分析
- 現在のテクノロジーの焦点: "software"、"systems"、"game" がそれぞれ6.1%でトレンドになっています。
- 新興のテクノロジー: 衛星/宇宙技術に関するディスカッションが増えています。
- コミュニティの感情: 国際的なプライバシー問題、学術的な誠実さに関する議論。
- ディスカッションパターン: 質の高いモデレーション、国際的な視点。
🔍 研究アプリケーション
- 学術研究: テクノロジーコミュニティのディスカッションと感情を研究します。
- 市場調査: 開発者とテクノロジーコミュニティの興味を理解します。
- 競争力分析: テクノロジーや企業に関するディスカッションを監視します。
- コンテンツ戦略: 高いエンゲージメントを生み出すトピックを見つけます。
🚀 パフォーマンス
- キャッシュ: API呼び出しを80%削減します。
- バッチ操作: 複数のアイテムの読み込みが3倍速くなります。
- スマートフィルタリング: クライアント側の検索によりサーバーの負荷が軽減されます。
- 並行リクエスト: 並列処理により効率化されます。
🔒 プライバシーと倫理
- 公開データのみ: 個人情報にはアクセスしません。
- 適切な使用: レート制限とキャッシュを使用します。
- データの保存なし: 一時的なキャッシュのみ使用します。
- 透明性: オープンソースの実装です。
🐛 トラブルシューティング
一般的な問題
-
サーバーが起動しない場合
node --version
npm run build
-
MCP接続に問題がある場合
- MCPクライアント (Cursor) を再起動します。
.cursor/mcp.json の設定を確認します。
npm start でサーバーが実行されていることを確認します。
-
APIエラーが発生した場合
- ネットワーク接続を確認します。
- HackerNews APIにアクセスできることを確認します。
- キャッシュ設定を確認します。
デバッグモード
LOG_LEVEL=debug npm start
📈 ロードマップ
- [ ] リアルタイムWebSocket更新
- [ ] 高度な感情分析
- [ ] ユーザーネットワーク分析
- [ ] エクスポート機能
- [ ] カスタムフィルタリングルール
- [ ] パフォーマンスダッシュボード
🤝 コントリビューション
- リポジトリをフォークします。
- 機能ブランチを作成します (
git checkout -b feature/amazing-feature)。
- 変更をコミットします (
git commit -m 'Add amazing feature')。
- ブランチにプッシュします (
git push origin feature/amazing-feature)。
- プルリクエストを作成します。
🎉 これまでにない方法でHackerNewsを探索しましょう!
🚀 クイックスタートコマンド
npm run build && npm start
💬 最初の会話を始めましょう
AIアシスタントに次のような質問をしてみてください。
- "現在、HackerNewsで最も人気のあるAI記事は何ですか?"
- "今日のテクノロジーコミュニティでトレンドになっているトピックを見つけてください"
- "今週最も議論されている記事を分析してください"
🙏 謝辞とクレジット
🧡 HackerNewsに特別な感謝
"最高の技術ディスカッションがここで行われます"
私たちは、HackerNews と Y Combinator に以下の点について心から感謝しています。
🌟 世界最高のテクノロジーコミュニティを築いてくれた
📡 無料でリアルタイムのAPIアクセスを提供してくれた
🔥 革新を促す素晴らしいディスカッションを育んでくれた
🚀 毎日テクノロジーの未来が議論されるプラットフォームを構築してくれた
⚡ 動力源
📄 ライセンス
🆓 このMCPサーバー
MITライセンス - 使用、変更、共有が可能です。詳細は LICENSE ファイルを参照してください。
作成者: Traves Theberge Traves.Theberge@gmail.com
📊 HackerNews API
非商用利用は無料 - コンテンツを作成するコミュニティを尊重してください。
商用利用: Y Combinatorの利用規約 を確認してください。
🌟 コミュニティに参加しましょう
バグを見つけた場合 は、イシューを作成してください!
アイデアがある場合 は、ディスカッションを始めてください!
コントリビュートしたい場合 は、プルリクエストを歓迎します!
🔗 接続先
- 📧 メール: Traves.Theberge@gmail.com
- 🐙 GitHub: このリポジトリ
- 🗨️ ディスカッション: HackerNewsに関する洞察を共有しましょう!
🧡 ハッキングを続け、探索を続けましょう! 🧡
HackerNewsコミュニティのために愛を込めて作成されました
⭐ このリポジトリをスターする • 🍴 フォークする • 📝 コントリビュートする