Hacker News MCP Server について
Hacker News MCP サーバーは、news.ycombinator.com のページを解析し、ストーリーを構造化データとして提供します。Claude などの MCP クライアントから会話を離れずに Hacker News を閲覧したいユーザーに向いています。
主な機能
- 01top、new、ask、show、jobs のストーリー取得
- 02タイトル、URL、ポイント、投稿者、コメント数の取得
- 031 から 30 の範囲で設定可能な取得件数
- 04TypeScript と MCP SDK による実装
活用シーン
- 01Claude に当日の人気 Hacker News ストーリーを問い合わせる
- 02最新の Ask HN や Show HN の投稿を閲覧する
MCP 対応
get_stories ツールを MCP クライアントに公開し、ストーリーの種類と件数を指定して取得できるようにします。クライアントの mcpServers 設定に登録して利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Hacker News MCP サーバー
Hacker News からストーリーを取得するツールを提供する Model Context Protocol(MCP)サーバーです。このサーバーは news.ycombinator.com の HTML コンテンツを解析し、さまざまな種類のストーリー(top、new、ask、show、jobs)の構造化データを提供します。
機能
- さまざまな種類のストーリー(top、new、ask、show、jobs)を取得
- タイトル、URL、ポイント、投稿者、タイムスタンプ、コメント数などの構造化データを取得
- 取得するストーリー数を設定可能
- 適切なエラー処理と検証
インストール
- リポジトリをクローンします:
git clone https://github.com/pskill9/hn-server
cd hn-server
- 依存関係をインストールします:
npm install
- サーバーをビルドします:
npm run build
- MCP 設定ファイルに追加します(場所はシステムによって異なります):
VSCode Claude 拡張機能の場合:
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
使い方
このサーバーは、Hacker News からストーリーを取得するために使用できる get_stories というツールを提供します。
ツール:get_stories
パラメーター:
type(string):取得するストーリーの種類- オプション:'top'、'new'、'ask'、'show'、'jobs'
- デフォルト:'top'
limit(number):取得するストーリーの数- 範囲:1~30
- デフォルト:10
使用例:
use_mcp_tool with:
server_name: "hacker-news"
tool_name: "get_stories"
arguments: {
"type": "top",
"limit": 5
}
出力例:
[
{
"title": "Example Story Title",
"url": "https://example.com/story",
"points": 100,
"author": "username",
"time": "2024-12-28T00:03:05",
"commentCount": 50,
"rank": 1
},
// ... more stories
]
Claude との連携
この MCP サーバーを Claude で使用するには、次の手順が必要です:
- Claude デスクトップアプリまたは VSCode Claude 拡張機能をインストールします
- 設定で MCP サーバーを構成します
- Claude の自然言語インターフェースを使って Hacker News を操作します
設定
Claude デスクトップアプリの場合は、サーバー設定を次の場所に追加します:
// ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
// %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
VSCode Claude 拡張機能の場合は、次の場所に追加します:
// VSCode Settings JSON
{
"mcpServers": {
"hacker-news": {
"command": "node",
"args": ["/path/to/hn-server/build/index.js"]
}
}
}
操作例
設定が完了したら、自然言語を使って Claude とやり取りし、Hacker News のストーリーを取得できます。例:
- 「Hacker News のトップ 5 ストーリーを表示して」
- 「最新の Ask HN の投稿は何ですか?」
- 「今日のトップの Show HN 投稿を取得して」
Claude は、希望するストーリーを取得するために適切なパラメーターを自動的に使用します。

ストーリーオブジェクトの構造
各ストーリーオブジェクトには、次の情報が含まれます:
title(string):ストーリーのタイトルurl(string、任意):ストーリーの URL(テキスト投稿の場合は内部 HN URL の場合があります)points(number):賛成票の数author(string):投稿者のユーザー名time(string):ストーリーが投稿された時刻commentCount(number):コメント数rank(number):リスト内の順位
開発
このサーバーは次のものを使用して構築されています:
- TypeScript
- Model Context Protocol SDK
- HTTP リクエスト用の Axios
- HTML 解析用の Cheerio
サーバーを変更するには:
src/index.tsを変更します- 再ビルドします:
npm run build
エラー処理
このサーバーには、次のような状況に対応する堅牢なエラー処理が含まれています:
- 無効なストーリーの種類
- ネットワーク障害
- HTML 解析エラー
- 無効なパラメーター値
エラーは適切なエラーコードと説明的なメッセージとともに返されます。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
MIT ライセンス - ご自身のプロジェクトで自由にご利用ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。