Claude Media
Claude CodeのKnockプラグインで通知基盤を組み込む

Claude CodeのKnockプラグインで通知基盤を組み込む

KnockプラグインはスキルとMCPサーバーを1つで入れます。導入の3経路、Claude Codeでスキルが案内するCLI経路、MCPの権限スコープまで。

Knockプラグインは、通知基盤Knockを扱うための「スキル」と「MCPサーバー」をまとめて入れるプラグインです。メール、プッシュ、SMS、アプリ内通知のワークフローを、Claude Codeとの会話から設計して組み込めるようになります。

ただし、Claude Codeで動かすときの挙動には注意点があります。プラグインはMCPサーバーを同梱していますが、同梱の knock-setup スキルはClaude Codeを検出すると、MCPではなくKnock CLIの経路へ案内します。ここでは導入の3経路、この分岐の中身、MCPの権限スコープ、つまずきやすい点を順に説明します。

Knockプラグインに入っているもの

claude.comのプラグインページでは、Knockは「Skills and MCP tools for building notifications with Knock」と紹介され、「Anthropic verified」の表示が付いています。提供元はKnock Labsで、ソースは knocklabs/skills リポジトリです。

リポジトリの .claude-plugin/plugin.json にあるバージョンは1.1.0、ライセンスはMITです。中身は大きく2つに分かれます。

構成

プラグインの構成

  • スキル7本

    knock-setup を入口に、通知文面の指針、アプリ内UI、CLI、メッセージ戦略、移行、ライフサイクル分析が揃います。

  • MCPサーバー1つ

    .mcp.json が https://mcp.knock.app/mcp を streamable-http で指定します。ローカルへの常駐プロセスは要りません。

MCPサーバーはリモート型です。Knockのドキュメントによれば、ローカルのインストールやNode.jsの用意は不要で、対話的なクライアントはKnockアカウントでOAuth認証します。プラグインの仕組みそのものはClaude Codeのプラグインとマーケットプレイスの解説にまとめています。

導入は3つの経路から選ぶ

Knockの側が案内する入れ方は複数あります。Claude Codeで使うなら、次の3つが候補です。

経路入るもの向く場面
プラグイン(--plugin-dir)入るものスキル7本とMCP向く場面まとめて試したい
claude mcp add入るものMCPだけ向く場面手元の作業からKnockを操作したい
npx skills add入るものスキルだけ(選択可)向く場面CLI中心で、手順の知識だけ足したい

リポジトリをプラグインとして読み込む

リポジトリのREADMEが示すClaude Code向けの手順は、クローンして --plugin-dir で読み込む方法です。

git clone https://github.com/knocklabs/skills
claude --plugin-dir ./skills

READMEは、これでスキルとKnock MCPサーバーの両方が読み込まれると説明しています。claude.comのプラグインページから入れる場合も、中身は同じリポジトリです。

MCPだけを足す

Knockのドキュメントは、Claude Codeへの追加コマンドを次のように示しています。

claude mcp add --transport http knock https://mcp.knock.app/mcp

そのあとClaude Code上で /mcp を開き、Knockアカウントで認証します。MCP設定の考え方はClaude CodeのMCPサーバー設定ガイドを参照してください。

スキルだけを足す

スキル単体なら、skills コマンドで入れられます。

npx skills add knocklabs/skills

全体ではなく一部だけ入れるには --skill を付けます。Knockのドキュメントには --skill knock-cli の例が載っています。スキルの作りはClaude Codeのスキル解説にあります。

Claude Codeではスキルが先にCLI経路へ案内する

ここが一番つまずきやすい点です。プラグインにはMCPが入っているのに、Claude Codeの中で knock-setup を動かすとMCPは使われません。

knock-setup の connect-claude ルールは、Claudeの利用面を次の2つに分けています。

くらべる

knock-setupが分ける2つの利用面

MCP(コネクタ)

Claudeアプリ

シェルを持たないWebやデスクトップのチャット。コネクタのディレクトリへのリンクを案内し、Connectを押してもらう形です。

Knock CLI

Claude Code

claude コマンドで起動した端末のエージェント。echo $CLAUDECODE が 1 を返したらこちらと判定します。

Claude Codeと判定されると、スキルは connect-knock-cli ルールへ進みます。このルールには「この経路ではMCPを一切設定しない」と明記されています。claude mcp add も、mcp.json の編集も、コネクタの案内もしません。

CLI経路の手順は次のとおりです。

手順

CLI経路の接続手順

  1. 1

    CLIを入れる

    npm install -g @knocklabs/cli を実行します。macOSでは brew install knocklabs/tap/knock でも入ります。knock --version が通るなら飛ばします。

  2. 2

    スキルを入れる

    npx skills add knocklabs/skills を実行します。

  3. 3

    ログインして確認する

    knock login でブラウザ認証し、knock whoami でアカウント名とユーザーIDが返ることを確かめます。失敗したら knock login をもう1回だけやり直し、それでも駄目なら止まる決まりです。

knock whoami が成功するまで、ワークフローの発見、作成、実装の提案には進みません。スキルが課している関門です。

つまり、プラグインでMCPが読み込まれていても、knock-setup の通常フローではCLIが主役になります。MCPのツールを使いたいなら、プロンプトでそう頼むか、/mcp で接続状態を確かめてから個別に呼ぶ形になります。この動きは、スキルの文面から読み取れる挙動です。

knock-setupの流れ

CLI経路でもMCP経路でも、knock-setup が進める作業は同じ6段階です。

  1. アカウントの確認: 最初のメッセージで、Knockアカウントを持っているか尋ねます。持っていなければ、ログイン時のブラウザ操作の中で作成できると案内します
  2. ツールの接続: 上で見た、利用面ごとの分岐です
  3. ワークフローの発見: プロダクトやコードベースを読み、価値の高い通知を提案します
  4. ワークフローの構築: 確認が取れたものを開発環境に作ります
  5. 実装方針の提案: トリガーの出し方を1つ選んでもらい、knock-implementation ブランチを切ってからファイルを変更します
  6. 締め: 必ずテスト送信し、次の一手と、アプリ内通知の knock-in-app-ui への誘導で終わります

テスト送信の受信者は、knock whoami が返すログイン中ユーザーのメールです。サービストークンで認証していてメールが取れないときは、サインアップに使ったメールを尋ねます。CLI経路では knock workflow run で、最小限のデータを渡して開発環境から送る流れです。

スキルは応答を短くする方針も細かく定めています。確認の質問は、メッセージの最後の1行に太字で置く決まりです。

7本のスキルの使い分け

READMEとKnockのドキュメントに沿って、各スキルの役割を並べます。

スキル使う場面
knock-setup使う場面接続、通知の発見、構築、実装方針、テスト送信まで
knock-notification-best-practices使う場面通知文面の作成とレビュー。メール、プッシュ、SMS、アプリ内、チャットの全チャネル対象
knock-in-app-ui使う場面ReactへのKnockガイド導入。useGuide / useGuides、描画されない原因の切り分け
knock-cli使う場面knock pull / push / validate / run、knock.json、ワークフロー、レイアウト、パーシャルの管理
knock-product-messaging-strategy使う場面オンボーディングや継続利用のメッセージ設計。計画を knock-plan.md に書く
knock-migrate-to-knock使う場面Braze、Courier、Customer.io、Iterable、自前構成からの移行計画。調査と計画のみ
knock-lifecycle-opportunities使う場面コードから登録、課金、解約などの兆候を探し、メッセージ候補を挙げる。Knockのリソースは変更しない

knock-product-messaging-strategy、knock-migrate-to-knock、knock-lifecycle-opportunities の3本は、計画やブリーフを共有ファイル knock-plan.md に書き、チャットへの出力は最小にする作りです。結果はチャットでなくファイルで確かめます。

Knockのドキュメントは、スキルを「ツールの使い方を教える手順書」と位置づけています。knock-notification-best-practices は、エージェントがCLI、MCP、ダッシュボードのどれでKnockに届いていても効く、文面とUXの指針です。

頼み方の例

スキルは該当する依頼を検出すると自動で読み込まれます。READMEの使用例は次のとおりです。

新規登録向けのウェルカムメールを書いて
ワークフローの変更をKnockにプッシュして
この通知テンプレートをベストプラクティスの観点でレビューして
メールデザイン用のパーシャルを新しく作って
ReactアプリにKnockのガイドを追加して

MCPサーバーの権限スコープ

MCPを使うときは、OAuthの同意画面で有効にする機能を選べます。Knockのドキュメントの一覧は次のとおりです。

機能できること既定
Read resourcesできることManagement APIのGETで設定を確認既定有効
Manage resourcesできること設定の作成と更新既定有効
Knock agentできることダッシュボードと同じエージェントでワークフローなどを作る既定有効
Debugできること環境の確認、送信済みメッセージのログ既定無効
Manage dataできることユーザー、テナント、オブジェクトのデータ既定無効
DocumentationできることKnockドキュメントの検索既定無効

不要な機能を外しておくと、ツール一覧が小さく済みます。クライアントによっては、ツールが50個を超えると警告が出ます。サービストークンで認証したセッションは同意画面を飛ばして全機能が有効になるため、この警告が出やすくなります。

もう1点、MCPサーバーにはリソースを削除するツールがありません。誤削除を防ぐための意図的な仕様です。

MCPとCLIのどちらを使うか

どちらも使えるとき、Knockのドキュメントは次のように分けています。

くらべる

Knockの2つの接続面

コードと一緒に管理

CLI

ワークフローやテンプレートをリポジトリへ引き出して編集し、検証してから戻す流れです。ローカルのファイル生成、検証、削除はCLIの領域です。

アカウントを直接操作

MCP

リソースの読み書き、データ作成、環境の確認が対象です。CIなどのブラウザ認証ができない環境では、サービストークンをBearerとして渡せます。

リポジトリにワークフローを置いてレビューに載せたいなら、CLIです。手元の会話からテストユーザーを作って試し送りしたいなら、MCPのほうが短く済みます。

つまずきやすい点

  • MCPが読み込まれているのに使われない: knock-setup はClaude Codeを検出するとCLIを使います。MCPの接続状態は /mcp で確かめます
  • スキル名の表記が資料で揺れる: リポジトリの一覧は knock-notification-best-practices です。Knockのドキュメントのインストール例には --skill notification-best-practices と書かれた箇所があります。入らないときは、全体を入れる npx skills add knocklabs/skills に切り替えると確実です
  • CLIの認証が通らない: knock whoami が失敗したら、knock login をもう1回やり直します。サービストークンは knock_st_ で始まる文字列で、CIで使います
  • 作成先は開発環境: スキルはワークフローをKnockの開発環境に作り、テスト送信も開発環境を優先します
  • Claudeアプリとは別経路: Claude CoworkやClaude Desktopでは、コネクタのディレクトリからKnockを追加します。同じMCPサーバーを使いますが、ローカルの設定は要りません

まとめ

Knockプラグインは、スキル7本とMCP接続を1回で入れられる点が価値です。ただしClaude Codeでは、knock-setup が knock whoami の成功を関門にしてCLIを主経路に選ぶため、MCPは補助の位置に回ります。

通知のコードを自分のリポジトリで管理したいなら、プラグインを入れてCLIでログインするところから始めるのが素直です。アカウント内のデータを会話で触りたい場面だけ、/mcp で認証して権限スコープを絞り、使う機能を足していく進め方になります。

この記事を共有:XはてブLinkedIn