Claude Desktop に Shager をつなぐ:カスタムコネクタでログインするか、API キーを使うか

Shager をカスタムコネクタとして Claude Desktop に追加し、ログインするだけ。キーのコピーは不要です。API キーを使う2つの方法も手順付きで解説します。

Claude Desktop に Shager をつなぐいちばん簡単な方法は、https://app.shager.ai/api/mcp をカスタムコネクタとして追加し、「Connect」をクリックして Shager にログインし、承認することです。コピーするキーはありません。API キーを使いたい場合は、ほかに2つの方法があります。アカウントに「Request headers」の項目があれば、認証を「No sign-in」にして authorization ヘッダーに Bearer shgr_live_... を設定したカスタムコネクタ。または、オープンソースの mcp-remote パッケージを使い、claude_desktop_config.json 経由でリモートサーバーに橋渡しする方法です。こちらも同じヘッダーを転送してくれます。

どの方法でも、たどり着く先は同じです。デスクトップアプリの Claude から、クライアントのワークスペースを一覧し、複数アカウント向けの投稿を下書きし、アカウント別のクリックを取得できます。違うのは、誰がキーを持つのか、そしてチームメンバー一人ひとりがどれだけ設定を繰り返すかです。

ワンクリックの方法:ログインする

Shager の MCP サーバーは OAuth によるログインに対応しています。Claude のカスタムコネクタは、まさにこの仕組みを前提に作られています。

  1. 「Customize」から「Connectors」を開き、「Add custom connector」をクリックします。
  2. 名前を Shager にし、MCP サーバーの URL https://app.shager.ai/api/mcp を入力して「Add」をクリックします。
  3. 「Connect」をクリックします。ブラウザで Shager が開くので、ログインし、組織を選んで承認します。

この接続でできるのは、読み取りと下書きの作成です。予約と公開は承認画面の別のチェックボックスで、チェックを入れない限りオフのままです。一人ひとりが自分のアカウントで接続するので、https://app.shager.ai/dashboard/agents の監査ログで誰が何をしたかがわかり、接続はそこでいつでも解除できます。

図:AIエージェント(Claude、Codex、Cursor)が MCP サーバーまたは REST API で Shager に接続し、Shager が Facebook、Instagram、YouTube、X、LinkedIn、TikTok に配信します。
接続、チェック、時間差の配信、クリック計測は Shager が担当します。Facebook、Instagram は Meta の承認待ちです。承認されるまでは、テストアカウントのみ接続できます。 TikTok では、アプリの承認が下りるまで、投稿は非公開(「自分のみ」)で投稿されます。

API キーを使うのはどんなときか

自分で管理する、スコープを厳密に決めたキーを使いたいとき、あるいはブラウザでのログインに頼らない接続が必要なときです。Anthropic のディレクトリにないコネクタを追加するためのドキュメントは、このケースをはっきり書いています。「If the server uses an API key, choose No sign-in and add the key under Request headers.」(サーバーが API キーを使う場合は No sign-in を選び、Request headers にキーを追加してください)。同じページには、リクエストヘッダーによる認証は「is in beta and available to a limited set of organizations」(ベータ版で、一部の組織のみ利用可能)ともあります。つまり、正攻法は1つ目の方法ですが、まだ使えない可能性があります。2つ目の方法があるのはそのためです。

方法1:リクエストヘッダー付きのカスタムコネクタ

ダイアログに「Request headers」が表示される場合はこちらを使います。同じページによれば、URL によるカスタムコネクタは Free、Pro、Max、Team、Enterprise の各プランで使え、Free はカスタムコネクタ1つまでです。

Free、Pro、Max の場合:

  1. 「Customize」から「Connectors」を開き、「Add custom connector」をクリックします。
  2. 名前を Shager にし、MCP サーバーの URL https://app.shager.ai/api/mcp を入力します。
  3. 「Authentication」で「No sign-in」を選びます。
  4. 「Request headers」を開き、一覧から authorization を選んで、値に Bearer shgr_live_your_key_here を入力します。
  5. ヘッダーを「Required」にして、「Add」をクリックします。

つまずく人が多いのは手順4です。ドキュメントによれば、Claude は「sends the value exactly as you enter it. It doesn't add an authentication scheme or any other prefix.」(入力した値をそのまま送信し、認証スキームなどの接頭辞は付けない)とのこと。キーだけを貼り付けると、Shager には Authorization: shgr_live_... が届き、401 が返ります。Bearer という単語とスペースを忘れずに入れてください。

Team と Enterprise では、Owner が「Organization settings」の「Connectors」でコネクタを追加し、メンバーは各自の「Customize」ページから接続します。Shager でこのやり方を使う場合は注意が必要です。リクエストヘッダーは組織全員で共有する1つの認証情報で、Anthropic のページでも、個人ごとのログインではなく「a service account」(サービスアカウント)向けとされています。Shager のキーを1つ共有すると、https://app.shager.ai/dashboard/agents の監査ログでは、すべての呼び出しがその1つのキーに記録されます。誰が何をしたかを個人単位で追いたいなら、一人ひとりにログインで接続してもらうか、個人別のキーで方法2を使ってください。

また、ヘッダーはあとから編集できません。キーを入れ替えるには、コネクタを削除して追加し直します。

方法2:claude_desktop_config.json で mcp-remote を使う

デスクトップの設定ファイルは、Claude Desktop がプロセスとして起動するローカルサーバーのためのものです。Anthropic のカスタムコネクタに関するヘルプ記事では、ローカルサーバーはリモートコネクタとは「a separate mechanism」(別の仕組み)だと説明されています。ここに url だけを書いても、Desktop がリモートサーバーにつながるわけではありません。

回避策が mcp-remote です。stdio でローカルに動き、カスタムヘッダー付きでリクエストをリモートの MCP サーバーに転送するオープンソースのパッケージで、Node.js が必要です。

設定ファイルは「Settings」→「Developer」→「Edit Config」から開きます。ローカルサーバー向けの MCP クイックスタートによれば、パスは macOS なら ~/Library/Application Support/Claude/claude_desktop_config.json、Windows なら %APPDATA%\Claude\claude_desktop_config.json です。

{
  "mcpServers": {
    "shager": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://app.shager.ai/api/mcp",
        "--header",
        "Authorization:${SHAGER_AUTH_HEADER}"
      ],
      "env": {
        "SHAGER_AUTH_HEADER": "Bearer shgr_live_your_key_here"
      }
    }
  }
}

Authorization:${SHAGER_AUTH_HEADER} のコロンの後にスペースがないのは、わざとです。mcp-remote の README によると、Windows 版の Claude Desktop(ほかの一部のクライアントも)は args 内のスペースをエスケープしないため、スペースは環境変数の側に入れておきます。この書き方は macOS でも動くので、どこでもこの形にしておけば迷いません。

キーを設定の JSON に置きたくない場合、mcp-remote は --header-file にも対応しています。1行に1つ Name: value を書いたファイルを指定します。

Authorization: Bearer shgr_live_your_key_here

Claude Desktop を完全に終了してから、もう一度開きます。クイックスタートにあるとおり、新しい設定を読み込むにはアプリの再起動が必要です。そのうえでチャット入力欄からコネクタのメニューを開き、shager がツールとともに表示されているか確認します。

つながらないときは

ログは macOS なら ~/Library/Logs/Claude(Windows は %APPDATA%\Claude\logs)にあります。接続の失敗は mcp.log に、mcp-remote 自体の出力は mcp-server-shager.log に残ります。そこに 401 があれば、ヘッダーの値が間違っています。npx で command not found が出る場合は、Claude Desktop から見える PATH に Node が入っていません。バージョンマネージャーで Node を入れた場合によく起こります。その場合は、command に npx の絶対パスを指定してください。

図:エージェントのキーには read、write、publish の3段階の権限があり、すべての操作が監査ログに記録されます。
エージェントには必要な権限だけを与え、すべての操作を確認できます。

どちらを選べばよいですか?

リクエストヘッダー付きカスタムコネクタ 設定ファイルで mcp-remote
利用できる範囲 ベータ版、一部の組織のみ Node が入った Claude Desktop ならどこでも
キーの保管場所 Claude が保存し、再表示されない ローカルの設定ファイル、またはヘッダーファイル
ブラウザ版 claude.ai で使えるか 使える(アカウントのコネクタのため) 使えない(デスクトップのみ)
Team プランで個人別のキー 不可(共有ヘッダー1つ) 可能(各自が設定)
キーの入れ替え コネクタを削除して追加し直す ファイルを編集して再起動

ほとんどの人にとっては、ログインする方法がいちばんすっきりしています。キーを使う方法の中では、一人で活動するコンサルタントなら、使えるのであれば方法1のほうがすっきりします。5人がクライアントのアカウントを触る代理店なら、個人別のキーで方法2を使ったほうが、監査ログが実態どおりになります。

動作を確かめる最初のプロンプト

Using Shager: who am I, which workspaces do I have, and for the workspace
"Harbor Fitness" list the connected channels by network and status.

次に、下書きを試します。

Create a draft post in "Harbor Fitness" to every active Instagram and Facebook
channel. Caption: announce the new 6am class. Write a different caption per
channel using the location in the channel name. cta_url
https://harborfitness.example/6am, campaign "6am-launch". Don't schedule it.

2つ目のプロンプトでは、per_channel のキャプションと計測用の cta_url を指定して create_post を使います。これで各アカウントに専用の短縮リンクが付き、utm_content にはそのアカウントが入ります。下書きは Shager に表示され、そこから先は人が、あるいはクライアント承認リンクが引き継ぎます。代理店がこのステップをどう組み込んでいるかは、クライアント承認ワークフローの記事で解説しています。

キーのスコープは絞っておく

デスクトップのチャットは試行錯誤の場なので、このキーには read と write だけを与えましょう。publish がなければ、チャットに何を打ち込まれても、Shager は schedule_post と、schedule_at を含む create_post を拒否します。実際に投稿を出す定型処理には、https://app.shager.ai/dashboard/agents で publish 付きの別のキーを作ってください。

よくある質問

claude_desktop_config.json に url の項目を貼り付けるだけではだめですか?

このファイルはローカルサーバーをプロセスとして起動するためのもので、Anthropic はリモートサーバーをコネクタという別の仕組みとして説明しています。Shager をカスタムコネクタとして追加してログインするか、キーを付けてリモートの URL に転送するローカルプロセスとして mcp-remote を使ってください。

そもそも API キーは必要ですか?

いいえ。https://app.shager.ai/api/mcp をカスタムコネクタとして追加してログインするのが最も簡単な方法で、一人ひとりが自分のアカウントで接続でき、ヘッダーを使う方法は必須ではありません。キーは、スコープを自分で管理したい場合に使ってください。

同じ設定は Claude Code でも使えますか?

Claude Code は claude mcp add --transport http と --header でヘッダー認証にネイティブ対応しているので、どちらの回避策も不要です。手順は Claude Code に Shager をつなぐで紹介しています。

次のステップ

Desktop から Shager を呼び出せるようになったら、長いプロンプトを毎回打つのをやめて、スキルとしてまとめる習慣をつけると便利です。チャットアプリではなく API を使う場合は、REST API クイックスタートと OpenAPI ドキュメントから始めてください。コネクタが提供するのとまったく同じ操作が説明されています。

ご自身のアカウントでお試しください。

ローンチ期間中は無料、カード登録不要。接続して一度書くだけで、Shagerが公開して計測します。