Hatena Blog

An MCP server for interacting with the Hatena Blog service.

Hatena Blog MCP Server

Claude Desktop/Web版からはてなブログを検索できるMCP (Model Context Protocol) サーバーです。

機能

  • search_blog: キーワードで記事検索
  • get_recent_posts: 最新記事取得
  • get_post_by_url: URL指定で記事詳細取得

デプロイ

Vercelへのデプロイ

  1. Vercelアカウントでログイン
  2. このリポジトリをインポート
  3. 環境変数を設定:
    • BLOG_ID: はてなブログID(例: exampleexample.hatenablog.com
    • CACHE_DURATION: キャッシュ時間(秒、デフォルト: 300)

ローカル開発

npm install
npm run dev

使用方法

Claude Desktop設定

claude_desktop_config.jsonに以下を追加:

{
  "mcpServers": {
    "hatena-blog": {
      "command": "npx",
      "args": ["--yes", "@modelcontextprotocol/server-fetch"],
      "env": {
        "FETCH_BASE_URL": "https://your-project.vercel.app/api/mcp"
      }
    }
  }
}

API エンドポイント

POST https://your-project.vercel.app/api/mcp

リクエスト例

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_blog",
    "arguments": {
      "keyword": "技術",
      "limit": 5
    }
  }
}

ツール仕様

search_blog

キーワードでブログ記事を検索します。

パラメータ:

  • keyword (必須): 検索キーワード
  • limit (オプション): 取得件数(デフォルト: 10)

get_recent_posts

最新のブログ記事を取得します。

パラメータ:

  • limit (オプション): 取得件数(デフォルト: 10)

get_post_by_url

指定したURLの記事詳細を取得します。

パラメータ:

  • url (必須): 記事のURL

技術仕様

  • Node.js 18.x
  • xml2js: RSS/Atom フィード解析
  • Vercel Serverless Functions
  • メモリベースキャッシュ(5分間)
  • CORS対応

ライセンス

MIT

Related Servers