hatena-blog-mcp

mtb-beta/hatena-blog-mcp
0 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables users to fetch, search, and manage Hatena Blog entries and categories via MCP tools, with caching for fast performance.

README.md

はてなブログ MCP サーバー

はてなブログの記事を取得・検索するためのMCP(Model Context Protocol)サーバーです。

機能

  • 📝 記事一覧の取得
  • 🔍 キーワードによる記事検索
  • 🏷️ カテゴリ管理(一覧取得、カテゴリ別記事取得)
  • 💾 キャッシュ機能による高速検索

セットアップ

1. 依存関係のインストール

uv sync

2. 環境変数の設定

.envファイルを作成し、以下の環境変数を設定してください:

HATENA_ID=あなたのはてなID
HATENA_BLOG_ID=あなたのブログID
HATENA_API_KEY=あなたのAPIキー

APIキーははてなブログの設定ページから取得できます。

3. キャッシュの管理

# キャッシュを更新(全記事をローカルに保存)
uv run python server.py --update-cache

# キャッシュをクリア
uv run python server.py --clear-cache

4. サーバーの起動

uv run python server.py

※ 初回起動時またはキャッシュが存在しない場合は、自動的にキャッシュを更新します。

利用可能なツール

list_entries

ブログ記事の一覧を取得します。

パラメータ:

  • page_url (optional): ページネーション用URL
  • max_results (optional): 取得する最大記事数(デフォルト: 10)

get_entry

特定の記事の詳細を取得します。キャッシュから取得します。

パラメータ:

  • entry_id: 記事ID

search_entries

記事をキーワードで検索します。キャッシュから高速検索します。

パラメータ:

  • keyword: 検索キーワード
  • max_results (optional): 取得する最大記事数(デフォルト: 10)

get_categories

全てのカテゴリと記事数を取得します。

get_entries_by_category

特定のカテゴリに属する記事を取得します。

パラメータ:

  • category: カテゴリ名
  • max_results (optional): 取得する最大記事数(デフォルト: 10)

キャッシュについて

  • キャッシュは~/.cache/hatena-blog-mcp/ディレクトリに保存されます
  • キャッシュの有効期限は1年間です
  • サーバー起動時にキャッシュがない場合は自動で更新されます
  • --update-cacheオプションでキャッシュを手動更新できます
  • 全ての記事検索と取得はキャッシュから高速に行われます

Claude Desktopでの設定

Claude Desktopの設定ファイルに以下を追加することで、MCPサーバーとして利用できます:

{
  "mcpServers": {
    "hatena-blog": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/hatena-blog-mcp",
        "run",
        "server.py"
      ]
    }
  }
}

/path/to/hatena-blog-mcpは実際のプロジェクトディレクトリのパスに置き換えてください。

設定ファイルの場所:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

ライセンス

MIT License

Related MCP servers

Browse all →