mcpField
G
GeekNews MCP Server

GeekNews MCP Server

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

GeekNews MCP Server について

GeekNews MCP Server は、GeekNews から記事と週刊ニュースを取得する Python 製サーバーです。解析データをキャッシュし、定期的に更新してサイトへのリクエストを抑えます。

主な機能

  1. 01top、new、ask、show の記事取得
  2. 02記事のメタデータとリンクの返却
  3. 03ID 指定または最新の週刊ニュース取得
  4. 04キャッシュと定期更新

活用シーン

  1. 01種類を指定した GeekNews 記事の閲覧
  2. 02指定号または最新号の週刊ニュース取得

MCP 対応

`get_articles` と `get_weekly_news` ツールを通じて、GeekNews の記事と週刊ニュースを MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"GeekNews-MCP-Server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

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

パッケージ
npm@smithery/cli

ツール

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

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

詳細

GeekNews MCP サーバー

smithery badge

このプロジェクトは、GeekNewsから記事を取得する Model Context Protocol(MCP)サーバーです。Python で実装されており、BeautifulSoup を使用してウェブスクレイピングを行います。サーバーへの負荷を軽減するため、1 日に 1 回自動的にデータを解析してキャッシュに保存する機能を備えています。

機能

tool1tool2
exampleexample
ツール
  • get_articles ツール:GeekNews から記事を取得します

    • 記事の種類(top、new、ask、show)と、取得する記事数を指定できます
    • 各応答には、タイトル、URL、ポイント、投稿者、時間、コメント数、ランキング情報が含まれます
    • キャッシュされたデータを使用してサーバーへの負荷を軽減します
  • get_weekly_news ツール:GeekNews から週間ニュースを取得します

    • 特定の週間ニュース ID を指定するか、最新の週間ニュースを取得できます
    • 週間ニュースのタイトル、番号、ID、内容、URL、アイテム一覧などの情報を提供します
    • 各アイテムには、タイトル、URL、ランキング情報が含まれます
    • キャッシュされたデータを使用してサーバーへの負荷を軽減します
キャッシュ機能
  • 1 日に 1 回、自動的にデータを解析してキャッシュに保存します
  • キャッシュされたデータが有効な場合、GeekNews サーバーにリクエストせず、キャッシュされたデータを使用します
  • キャッシュデータは 24 時間有効で、その後自動的に更新されます
  • スケジューラーが定期的にキャッシュの有効性を確認し、必要に応じて更新します

使用方法

  • Smithery を使用したインストール

    🚀 geeknews-mcp-server

  • MCP 設定ファイルにサーバー情報を追加

    {
    "mcpServers": {
       "geeknews-mcp-server": {
          "command": "npx",
          "args": [
          "-y",
          "@smithery/cli@latest",
          "run",
          "@the0807/geeknews-mcp-server",
          "--key",
          "smithery에서 발급 받은 키"
          ]
       }
    }
    }
    

ローカルへのインストール方法

  1. Git Clone

    git clone https://github.com/the0807/GeekNews-MCP-Server
    cd GeekNews-MCP-Server
    
  2. uv で環境を設定

    uv sync
    
  3. 仮想環境を起動

    uv venv
    source .venv/bin/activate
    
  4. MCP Inspector でサーバーをテスト

    uv run mcp
    mcp dev main.py
    
    # 터미널에 나오는 URL(MCP Inspector)로 접속하여 서버 테스트
    

コード構造

  • src/models.py:記事情報を保存するデータクラスを定義
  • src/parser.py:GeekNews ウェブサイトの HTML を解析して記事情報を抽出
  • src/client.py:GeekNews ウェブサイトからデータを取得する HTTP クライアント
  • src/config.py:設定と定数を定義
  • src/cache.py:キャッシュ管理機能を提供
  • src/scheduler.py:定期的なデータ更新を行うスケジューラー
  • src/server.py:MCP サーバーの実装
  • main.py:サーバーの実行エントリーポイント

メモ

  • このサーバーは GeekNews ウェブサイトの HTML 構造に依存します。ウェブサイトの構造が変更された場合、解析ロジックの更新が必要になることがあります。
  • キャッシュデータはユーザーのホームディレクトリ下の .cache/geeknews-mcp フォルダーに保存されます。

コメント

MCP は初めてですか?

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

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