mcpField
H
Hacker News MCP Server

Hacker News MCP Server

ローカル
github.com/pskill9ソーシャルメディア4095 週間前に更新

Hacker News MCP Server について

Hacker News MCP サーバーは、news.ycombinator.com のページを解析し、ストーリーを構造化データとして提供します。Claude などの MCP クライアントから会話を離れずに Hacker News を閲覧したいユーザーに向いています。

主な機能

  1. 01top、new、ask、show、jobs のストーリー取得
  2. 02タイトル、URL、ポイント、投稿者、コメント数の取得
  3. 031 から 30 の範囲で設定可能な取得件数
  4. 04TypeScript と MCP SDK による実装

活用シーン

  1. 01Claude に当日の人気 Hacker News ストーリーを問い合わせる
  2. 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)の構造化データを提供します。

Hacker News MCP server

機能

  • さまざまな種類のストーリー(top、new、ask、show、jobs)を取得
  • タイトル、URL、ポイント、投稿者、タイムスタンプ、コメント数などの構造化データを取得
  • 取得するストーリー数を設定可能
  • 適切なエラー処理と検証

インストール

  1. リポジトリをクローンします:
git clone https://github.com/pskill9/hn-server
cd hn-server
  1. 依存関係をインストールします:
npm install
  1. サーバーをビルドします:
npm run build
  1. 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 で使用するには、次の手順が必要です:

  1. Claude デスクトップアプリまたは VSCode Claude 拡張機能をインストールします
  2. 設定で MCP サーバーを構成します
  3. 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 は、希望するストーリーを取得するために適切なパラメーターを自動的に使用します。

Claude が Hacker News MCP サーバーを使用している様子

ストーリーオブジェクトの構造

各ストーリーオブジェクトには、次の情報が含まれます:

  • 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

サーバーを変更するには:

  1. src/index.ts を変更します
  2. 再ビルドします:
npm run build

エラー処理

このサーバーには、次のような状況に対応する堅牢なエラー処理が含まれています:

  • 無効なストーリーの種類
  • ネットワーク障害
  • HTML 解析エラー
  • 無効なパラメーター値

エラーは適切なエラーコードと説明的なメッセージとともに返されます。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

MIT ライセンス - ご自身のプロジェクトで自由にご利用ください。

コメント

MCP は初めてですか?

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

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