🦉

@mizchi/readability をClaudeCodeのMCPとして追加する

に公開
claude mcp add readability --scope user -- npx -y @mizchi/readability --mcp

Docker MCP Gatewayを使っているので、コンテナにしようと思ったけど、面倒だったのでまずはnpxでLocal MCP Serverとして利用できるようにした

ハマりポイント

ドキュメントのこれをそのまま書くと-y optionはないですとエラーになる
--で区切ると理解してくれる

{
  "mcpServers": {
    "readability": {
      "command": "npx",
      "args": ["-y", "@mizchi/readability", "--mcp"]
    }
  }
}

readabilityの使用を強制する

CLAUDE.md

~/.claude/CLAUDE.md
- WebFetchの代わりにmcp__readability__read_url_content_as_markdownを使用する

hooks

CLAUDE.mdの指示を守らない時の保険

~/.claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "WebFetch",
        "hooks": [
          {
            "type": "command",
            "command": "echo '{\"decision\":\"block\",\"reason\":\"Use 
  mcp__readability__read_url_content_as_markdown instead\"}' >&2; exit 2"
          }
        ]
      }
    ]
  }
}

@mizchi/readability とは

WebページからメインコンテンツをMarkdown形式で抽出するライブラリとCLIツールです。
Firefox Reader Viewの技術をベースにした純粋なJavaScript実装で、DOMAPIを使わずCloudflare等でも動作します。
URLを指定するだけでページの主要内容を取得でき、ナビゲーション解析や文書構造分析、AI向けサマリー出力もサポートしています。

links

https://github.com/mizchi/readability
https://aoai-ai-coding.mizchi.workers.dev/

Discussion