はてなブログ 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): ページネーション用URLmax_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






