MCP

MCPサーバー

Claude、ChatGPT、Cursorに、リードについてふだんの言葉で質問できます。GemleadのMCPサーバーは、あなたの許可のもとで、APIのデータと操作をAIアシスタントに提供します。

MCPとは

Model Context Protocolは、AIアシスタントが外部ツールを呼び出すためのオープン標準です。Gemleadを一度接続すれば、アシスタントがチャットの中でホットリードを検索し、会話を読んで返信し、キャンペーンの成果を確認し、エクスポートを開始できます。アクセスできるのは接続したXアカウントのみで、APIと同じルールが適用されます。対象はBusinessプランとEnterpriseプランで、スコープも同じです。

サーバーはStreamable HTTPに対応しています。ClaudeとChatGPTはOAuthでログインし、CursorとClaude CodeはAPIキーをBearerトークンとして送信できます。

サーバーURL
https://gemlead.ai/mcp

セットアップ

  1. ClaudeでCustomizeを開き、Connectorsを開きます。
  2. Addをクリックし、続けてAdd custom connectorをクリックします。
  3. 名前をGemleadにして、サーバーURLにhttps://gemlead.ai/mcpを貼り付けます。
  4. OAuthクライアントはUse Claude's published identityのままにして、Addをクリックします。
  5. ConnectをクリックしてGemleadにログインし、Xアカウントを選びます。

チャットでは、+メニューのConnectorsからGemleadをオンにします。Claude Desktopとモバイルアプリは、Claudeアカウントと同じコネクタを使うため、追加の設定は不要です。

TeamプランとEnterpriseプランでは、オーナーがOrganization settingsのConnectorsでGemleadを追加し、各メンバーがConnectをクリックします。ClaudeのFreeプランで追加できるカスタムコネクタは1つです。

そのほかのクライアント

Streamable HTTPに対応したクライアントなら、URLとAuthorizationヘッダーで同じように接続できます。サーバーはMCP Inspectorで試せます。

ターミナル
npx @modelcontextprotocol/inspector --cli https://gemlead.ai/mcp \
  --transport http \
  --header "Authorization: Bearer $GEMLEAD_API_KEY" \
  --method tools/list

複数のXアカウント

1つの接続は1つのXアカウント用です。複数を同時に使うには、アカウントごとにGemleadを追加し、それぞれ専用のサーバーURLを使います。https://gemlead.ai/mcp/のあとに好きな名前を付け、https://gemlead.ai/mcp/acmeやhttps://gemlead.ai/mcp/julienのようにします。名前はラベルにすぎず、英字、数字、-、_が使えます。

それぞれを接続し、Gemleadの同意ページでXアカウントを選びます。名前をアカウントのXユーザー名にしておくと、そのアカウントが自動で選ばれます。アカウントが別々のGemleadアカウントに属している場合は、接続する前に該当するアカウントでログインしてください。

各接続は対応するアカウントだけを読み取って操作し、それがどの@handleかをアシスタントに伝えます。そのためDMは必ず指定したアカウントから送られます。チャットで見分けやすいよう、Gemlead Acmeのように各コネクタにアカウント名を付けてください。

ツール

サーバーには、APIでできることごとに1つずつ、計67個のツールがあります。読み取りツールは読み取りのみを行います。書き込みツールはデータを変更したり、あなたのアカウントからXで操作したりするためwriteスコープが必要で、アシスタントは送信、開始、削除の前に必ず確認します。

APIリファレンスで各エンドポイントのMCPタグをクリックすると、対応するツールに移動します。

パスコードがAIチャットを経由しないよう、X Chatのパスコードを設定または削除するツールはあえて用意していません。パスコードはアプリか、X Chatのパスコードを設定で設定してください。

リード

  • search_leadsreadスコープ
    リードを一覧表示のフィルターで絞り込んだリード。今週見つかった特定のペルソナのホットリードなどです。
    任意persona_idstatusscore_minscore_maxhotscored_afterscored_beforefound_afterfound_beforeorderlimitcursor
  • get_leadreadスコープ
    プロフィール、スコア、理由を含む1件のリード。
    必須lead_id
  • update_leadwriteスコープ
    リードにメタデータを設定するか、対応を終えたリードをクローズします。
    必須lead_id
    任意metadatastatus
  • get_lead_originreadスコープ
    Gemleadがリードを見つけた経緯、きっかけになったポスト、参加しているキャンペーン。
    必須lead_id
  • lead_actionwriteスコープ
    リードを再スコアリングする、Xのプロフィールを読み直す、またはあなたのXアカウントからフォローやフォロー解除を行います。再スコアリングではリード1件につき最大2クレジットを使います。1回目の分析で1クレジット、通過すると2回目の分析でさらに1クレジットです。
    必須lead_idaction
  • convert_lead_to_sourcewriteスコープ
    リードをそのペルソナのソースにして、フォロー中のアカウント、フォロワー、ポストにリプライした人を読み取ります。
    必須lead_id
    任意method
  • delete_leadwriteスコープ
    リードを削除し、すべてのキャンペーンで停止します。アシスタントは事前に確認します。
    必須lead_id

ペルソナ

  • list_personasreadスコープ
    件数と今日の数値を含むペルソナの一覧。
    任意limitcursor
  • get_personareadスコープ
    1件のペルソナとその統計。
    必須persona_id
  • create_personawriteスコープ
    説明、キーワード、競合、初期ソースを指定してペルソナを作成します。スコアリングではリード1件につき最大2クレジットを使います。1回目の分析で1クレジット、通過すると2回目の分析でさらに1クレジットです。
    必須namedescription
    任意websitemarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitsources
  • get_persona_settingsreadスコープ
    キーワード検索と競合アカウントを含む、ペルソナのすべての設定。
    必須persona_id
  • update_personawriteスコープ
    ペルソナの設定を変更するか、有効化または一時停止します。
    必須persona_id
    任意namewebsitedescriptionmarketkeywordscompetitorsavoidmin_followersinclude_closed_inboxesauto_expandauto_expand_directiondaily_scoring_limitstatus
  • delete_personawriteスコープ
    ペルソナを、そのソースと、どのキャンペーンでも扱っていないリードとともに削除します。アシスタントは事前に確認します。
    必須persona_id
  • reorder_personaswriteスコープ
    ペルソナの並び順を設定します。
    必須persona_ids
  • suggest_personawriteスコープ
    名前と販売している商材をもとに、AIにペルソナを作成させます。
    必須persona_name
    任意websitebriefcurrent_descriptioninstruction
  • get_persona_suggestionreadスコープ
    最新のペルソナの提案。pending、テキスト付きのready、またはerrorです。
    引数なし
  • get_persona_sharingreadスコープ
    ペルソナを共有しているオーナーのXアカウントと、ほかに共有できるXアカウント。
    必須persona_id
  • update_persona_sharingwriteスコープ
    ペルソナを共有するオーナーのほかのXアカウントを設定します。オーナー専用です。
    必須persona_idaccount_ids

ソース

  • list_sourcesreadスコープ
    ペルソナのソースとその統計、またはそのうちの1件。
    必須persona_id
    任意source_idlimitcursorpaused
  • add_sourcewriteスコープ
    Xアカウントをペルソナのソースとして追加します。
    必須persona_idusername
    任意read_followingread_followersscore_self
  • update_sourcewriteスコープ
    ソースでGemleadが読み取る内容を変更するか、ソースの一時停止、再開、スキップ、再読み込み、スコアリングを行います。
    必須persona_idsource_id
    任意read_followingread_followersscore_selfaction
  • delete_sourcewriteスコープ
    ソースと、どのキャンペーンでも扱っていないそのリードを削除します。アシスタントは事前に確認します。
    必須persona_idsource_id
  • list_source_leadsreadスコープ
    ソースが見つけたリード。スコアの高い順です。
    必須persona_idsource_id
    任意orderlimitcursor
  • list_persona_itemsreadスコープ
    ペルソナのキーワード検索または競合アカウント。それぞれ、見つけたリード、スコアリングしたリード、ホットリードの数を含みます。
    必須persona_idkind
  • edit_persona_itemswriteスコープ
    ペルソナのキーワード検索や競合アカウントを追加または削除します。
    必須persona_idkind
    任意addremove
  • list_item_leadsreadスコープ
    1件のキーワード検索、または1つの競合アカウントが見つけたリード。スコアの高い順です。
    必須persona_id
    任意search_querycompetitor_accountorderlimitcursor
  • suggest_sourcesreadスコープ
    AIがペルソナのソースとして提案するXアカウント。
    必須persona_id
  • lookup_x_profilereadスコープ
    Xのプロフィールをリアルタイムで読み取ります。ペルソナを指定すると、ソースとしての適性も評価します。
    必須username
    任意persona

キャンペーン

  • list_campaignsreadスコープ
    合計値を含むキャンペーンの一覧。
    任意statuspersona_idlimitcursor
  • get_campaign_statsreadスコープ
    期間内のキャンペーンのDM、返信、返信率を日別に表示します。
    必須campaign_id
    任意fromto
  • create_campaignwriteスコープ
    テンプレートまたは独自のフローから、下書きのキャンペーンを作成します。開始するまで何も送信されません。
    必須persona_idname
    任意methodmin_scoredaily_limitlead_ordertemplateflow
  • get_campaign_settingsreadスコープ
    キャンペーンの設定とフロー。各ステップのIDを含みます。
    必須campaign_id
  • update_campaignwriteスコープ
    キャンペーンの設定を変更するか、フローを置き換えます。
    必須campaign_id
    任意namemethodmin_scoredaily_limitlead_orderflow
  • set_campaign_statuswriteスコープ
    キャンペーンを開始、一時停止、アーカイブします。開始するとあなたのXアカウントからいいね、リプライ、フォロー、DMが送られるため、アシスタントは事前に確認します。
    必須campaign_idstatus
  • duplicate_campaignwriteスコープ
    キャンペーンの設定とフローを、新しい下書きにコピーします。
    必須campaign_id
  • delete_campaignwriteスコープ
    キャンペーンを削除します。リードと会話は残ります。アシスタントは事前に確認します。
    必須campaign_id
  • list_campaign_leadsreadスコープ
    キャンペーンのリードをステージ別に、それぞれに投稿した内容とともに表示します。
    必須campaign_id
    任意stagestep_idbranchskippedqlimitcursor
  • list_campaign_templatesreadスコープ
    フロー全体を含むキャンペーンテンプレート。
    任意methodmarket

会話

  • list_conversationsreadスコープ
    会話の一覧。最後のメッセージが新しい順で、指定すれば未読の会話だけに絞り込めます。include_messagesを指定すると、各会話にすべてのメッセージが含まれます。
    任意unreadpersona_idinclude_messageslimitcursor
  • get_conversationreadスコープ
    すべてのメッセージを含む1件の会話。
    必須conversation_id
  • list_messagesreadスコープ
    Xから取得した会話の全履歴を、1ページずつ返します。
    必須conversation_id
    任意limitcursor
  • view_mediareadスコープ
    メッセージの画像やGIFを、mediaのurlからアシスタントが見られるようにします。
    必須url
  • send_messagewriteスコープ
    あなたのXアカウントからリードにDMを送ります。テキスト、画像、GIF、動画、ボイスメッセージを送れます。アシスタントは事前に本文を表示します。
    必須conversation_id
    任意textmediareply_to_message_id
  • react_to_messagewriteスコープ
    最近のメッセージに付ける自分の絵文字リアクションを、追加または削除します。
    必須conversation_idmessage_idemoji
    任意remove
  • delete_messagewriteスコープ
    最近のメッセージを、自分だけ、または双方から削除します。アシスタントは事前に確認します。
    必須conversation_idmessage_id
    任意for_everyone
  • update_conversationwriteスコープ
    会話の既読と未読の切り替え、ボードの列への移動、ピン留めとその解除を行います。
    必須conversation_id
    任意readcolumn_idpinned
  • delete_conversationwriteスコープ
    Gemleadと、あなたのXの受信トレイから会話を削除します。アシスタントは事前に確認します。
    必須conversation_id
  • update_conversation_translationwriteスコープ
    会話の翻訳をオンまたはオフにするか、翻訳の設定を読み取ります。
    必須conversation_id
    任意enabledshownlanguage
  • translate_messageswriteスコープ
    会話の最近のメッセージを、指定した言語に翻訳します。
    必須conversation_id
    任意message_idslanguage
  • list_pipeline_columnsreadスコープ
    会話ボードの列。表示順に並びます。
    引数なし
  • edit_pipeline_columnswriteスコープ
    会話ボードの列を作成、名前変更、折りたたみ、削除、並べ替えします。
    必須action
    任意column_idnamecollapsedpositioncolumn_ids

Sam AI

  • get_sam_settingsreadスコープ
    Xアカウント、ペルソナ、会話ごとのSam AIのモード、指示、ファイル。会話の場合は、実際に動作しているモード、Sam AIの現在の状態、用意済みの返信も含みます。
    任意conversation_idpersona_id
  • update_sam_settingswriteスコープ
    ペルソナや会話でのSam AIのモードや指示を変更するか、XアカウントでSam AIをオンまたはオフにしてビジネス情報を設定します。autoではあなたのXアカウントから返信が送られるため、アシスタントは事前に確認します。
    任意conversation_idpersona_idmodeinstructionsenabled
  • edit_sam_fileswriteスコープ
    Xアカウント、ペルソナ、会話で、Sam AIが読むファイルをURLから追加したり削除したりします。削除する前に、アシスタントが確認します。
    任意conversation_idpersona_idaddremove

アカウントなど

  • get_accountreadスコープ
    接続が属するXアカウントとそのプラン。
    引数なし
  • get_account_settingsreadスコープ
    受信トレイの同期、DMの一時停止、X Chat、オーナーのタイムゾーンと言語。
    引数なし
  • update_account_settingswriteスコープ
    受信トレイの同期、オーナーのタイムゾーン、言語、名前を変更するか、Xのプロフィールを読み直します。
    任意sync_all_conversationstimezonelanguagefirst_namelast_nameinbox_syncrefresh_x_profile
  • get_exclusion_listreadスコープ
    Gemleadが一切連絡しないXアカウントとドメイン。アカウント全体か、1つのペルソナが対象です。
    任意persona
  • edit_exclusion_listwriteスコープ
    アカウントまたは1つのペルソナの除外リストに、Xアカウントやドメインを追加または削除します。
    任意addremovepersona
  • get_analyticsreadスコープ
    アカウントまたはペルソナのダッシュボードのグラフ、または最新の返信、DM、ホットリード。
    必須metric
    任意personascalestartendtimezone
  • create_exportreadスコープ
    1つのファイルの作成を開始します。リードはCSVまたはJSON Lines、スレッド全体を含むすべてのDMの会話はJSON LinesまたはMarkdownで出力します。
    任意typeformatfilters
  • get_exportreadスコープ
    エクスポートのステータス、進捗、ダウンロードリンク。
    必須export_id
  • list_exportsreadスコープ
    エクスポートの一覧。新しい順で、それぞれのステータスとリンクを含みます。
    引数なし

チーム

  • get_teamreadスコープ
    Xアカウントのオーナー、メンバー、招待と、それぞれの役割と項目。
    引数なし
  • edit_teamwriteスコープ
    メールで招待する、メンバーの役割や項目を変更する、メンバーを外すか招待を取り消す、チームを抜ける、のいずれかを行います。
    必須action
    任意emailrolezonesmember_id

Julien AI

  • ask_julien_aiwriteスコープ
    GemleadのアシスタントであるJulien AIに、Gemleadやアカウントのデータについて質問します。chat_idを指定するとチャットを続けられます。25秒経ってもrunningの回答はIDとともに返るので、reply_idだけを指定して再度呼び出します。
    任意textchat_idreply_id

引数と結果

  • ツールは対応するエンドポイントのパラメーターを受け取ります。IDにはlead_id、persona_id、campaign_id、conversation_id、export_idのように、オブジェクト名を付けた名前を使います。一覧はページネーションと同じく、limitとcursorでページ送りします。
  • 複数の操作を行うツールは、action、kind、statusのいずれかを受け取ります。たとえばlead_actionでは、actionにrescore、refresh、follow、unfollowを指定します。
  • list_campaignsは、draft、active、paused、archivedの配列でstatusを受け取ります。get_campaign_statsはfromからtoまでを集計します。どちらもISO 8601形式の日時で、デフォルトではtoが現在、fromがその30日前です。
  • create_exportは、search_leadsのフィルターをlimitとcursorを除いてfiltersで受け取ります。typeをconversationsにすると、すべてのDMの会話をスレッド全体とともにエクスポートし、filtersではpersona_idとunreadを受け取ります。エクスポートを作成と同じく、readキーで実行できます。
  • ask_julien_aiはtextをJulien AIに送ります。チャットを続けるにはchat_idを指定します。回答に25秒以上かかる場合は、runningとそのidが返ります。reply_idにその値だけを指定してツールをもう一度呼び出すと、さらに最大25秒待ちます。
  • get_conversationとlist_messagesは、各メッセージのメディアをurl付きで返します。view_mediaは画像やGIFのurlを受け取り、画像そのものをアシスタントに見せるので、リードが送ったスクリーンショットも読めます。send_messageはmediaで送信でき、公開httpsのurlか、mime_type付きのbase64のdataを使います。
  • 引数が誤っている場合は、その引数名を示すツールエラーが返ります。APIエラーは、そのコードと関係する引数を含むツールエラーとして返ります。

各ツールは、対応するエンドポイントのJSONを、構造化コンテンツとテキストの両方で返します。ツールは出力スキーマを公開していないため、各オブジェクトの詳細はAPIリファレンスを参照してください。

FreeプランとStarterプランでもサーバーのインストールとツールの一覧表示はできますが、呼び出すたびにplan_requiredエラーが返り、アシスタントがその内容を説明します。ツールの呼び出しは、REST APIと共有するキーの上限、1分あたり120リクエストに含まれます。

プロンプトの例

  • Tipstersペルソナの今日のホットリードを、それぞれスコアが高い理由と一緒に見せて。
  • 過去30日間で返信率がいちばん高かったキャンペーンはどれ? DMは何件送った?
  • 未読の会話を一覧にして、各リードが何を求めているか要約して。
  • 今週見つかったホットリードをすべてCSVにエクスポートして、リンクを教えて。
  • DMの会話をすべてエクスポートして、どの書き出しにいちばん返信が来ているか、リードが価格にどう反応しているかを教えて。
  • @jane_buildsのリードをクローズして、HubSpotのID hs_48213をメタデータに保存して。
  • TipstersペルソナのSam AIをセミオートにして、料金表のPDFも読み込ませて。

セキュリティ

  • アシスタントがアクセスできるのは、接続したXアカウントのみです。
  • 接続やキーは、アプリのAPIからいつでも無効にできます。
  • 読み取りだけで足りるアシスタントには、readキーを渡してください。
  • アシスタントは、読み取ったテキストにだまされることがあります。書き込みツールを許可する前に、何を実行しようとしているか確認してください。