gtm-api について
gtm-api は、所有者が接続したアカウントで AI エージェントが操作する、マネージド型の LinkedIn MCP サーバーです。3 つの MCP ツールから 160 以上の LinkedIn 操作を段階的に利用でき、サーバー側の上限管理と送信前確認を備えています。
主な機能
- 013 つのツールで操作を段階的に発見
- 02160 以上の LinkedIn 操作
- 03検索、接続、メッセージ、プロフィール拡充
- 04送信操作のプレビューと確認
- 05日次上限とランダムな間隔のサーバー側適用
活用シーン
- 01見込み連絡先や企業情報の検索
- 02接続リクエストへの対応とメッセージ送信
- 03投稿、エンゲージメント、コメント投稿者の追跡
- 04送信前のプレビューと上限の確認
MCP 対応
MCP を通じて LinkedIn 操作を公開します。クライアントはツールセットを一覧し、必要なツールを確認してから操作を呼び出します。OAuth に加え、REST API キーを Bearer トークンとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.gtm-api.com/mcpclaude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp{"mcpServers":{"gtm-api":{"type":"http","url":"https://mcp.gtm-api.com/mcp"}}}Cursor で開く{"servers":{"gtm-api":{"type":"http","url":"https://mcp.gtm-api.com/mcp"}}}VS Code で開く{"mcpServers":{"gtm-api":{"type":"http","url":"https://mcp.gtm-api.com/mcp"}}}{"mcpServers":{"gtm-api":{"serverUrl":"https://mcp.gtm-api.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
gtm-api:LinkedIn MCP サーバー
gtm-api は、マネージド型の LinkedIn MCP サーバーです。1 つのエンドポイント、3 つの MCP ツール、160 種類以上の型付き LinkedIn アクションを Model Context Protocol 経由で AI エージェントに提供するため、Claude、ChatGPT、Cursor は、サーバー側でアカウントの安全性を確保しながら、お客様が所有する LinkedIn アカウントで検索、つながり申請、メッセージ送信、情報の補完を行えます。
このリポジトリには公開インターフェースが含まれています。つまり、サーバーが公開する機能、クライアントの接続方法、安全レイヤーの仕組みです。
LinkedIn MCP サーバーとは?
LinkedIn MCP サーバーは、LinkedIn のアクションを Model Context Protocol のツールとして公開するため、AI エージェントは人が UI を操作するのと同じように、これらのアクションを直接呼び出せます。LinkedIn は、招待、メンバーへのメッセージ、公開プロフィール検索向けの公式 APIを公開していないため、LinkedIn MCP サーバーはLinkedIn の開発者プラットフォームではなく、お客様が所有するアカウントを通じて動作します。
現在、2 種類の方式があります。Cookie 駆動型のオープンソースサーバーは、お客様自身の Cookie を使ってブラウザーセッションを実行し、処理間隔の制御は行いません。マネージドサーバーは、各アカウントを分離されたインフラストラクチャで実行し、すべてのアクションの前に制限を適用します。gtm-api は後者です。
対応クライアント
MCP 互換のクライアントであれば、どれでも利用できます。
- Claude(Desktop、Code、API)
- Cursor
- ChatGPT(コネクター経由)
- LangChain、n8n、カスタムエージェントランタイム
MCP を使用していない場合も、すべてのツールは Webhook に対応した型付き REST エンドポイントとして利用できます。1 つのスキーマから、3 つすべてのインターフェースが生成されます。
クイックスタート
1. アカウントを登録します。 app.gtm-api.com でアカウントを作成し(永久無料プラン、カード不要)、LinkedIn アカウントを接続します。専用のアンチ検出クラウドブラウザーが開き、独自のプロキシを使用します。
2. MCP クライアントにサーバーを追加します。 Claude Desktop の場合は、claude_desktop_config.json を編集します(examples/ に例があります)。
{
"mcpServers": {
"gtm-api": {
"url": "https://mcp.gtm-api.com/mcp"
}
}
}
貼り付けるキーはありません。このエンドポイントは OAuth で認証します。最初の呼び出し時にクライアントは WWW-Authenticate チャレンジを受け取り、認可サーバーに自身を登録し(動的クライアント登録)、ブラウザーで同意ページを開きます。
ヘッドレスクライアントではブラウザーを省略できます。REST API の認証にも使われる同じ API キー(gtm_live_...)を、このエンドポイントでプレーンなベアラートークンとして使用できます。そのため、CI やサーバーからも利用できます。
claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp --header "Authorization: Bearer gtm_live_..."
コマンドを起動するクライアントの場合、以下のランチャーは代わりに GTM_API_KEY からキーを読み込みます(1.3.0 以降。これより古いバージョンではこの設定が無視され、OAuth のみが使用されます)。接続ごとにいずれか一方のモードを選んでください。キーを付けると、OAuth フローは開始されません。claude.ai コネクターなどの対話型クライアントにはヘッダーフィールドがなく、常に OAuth を使用します。全パターンについては、docs.gtm-api.com/mcp/connect をご覧ください。
クライアントからコマンドは起動できても、URL を開けない場合はどうすればよいでしょうか?@gtm-api/linkedin-mcp ランチャーを使うと、stdio クライアントを同じエンドポイントに接続し、同じ OAuth フローを実行できます(設定例は examples/ にあります)。
{
"mcpServers": {
"gtm-api": {
"command": "npx",
"args": ["-y", "@gtm-api/linkedin-mcp"]
}
}
}
Claude Code では、次の 1 行だけです。claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp。
同じランチャーは Docker イメージ gtmapi/linkedin-mcp としても提供されています(設定例は examples/ にあります)。同意手順がコンテナーを起動するたびに必要にならないよう、トークンキャッシュにボリュームをマウントしてください。
{
"mcpServers": {
"gtm-api": {
"command": "docker",
"args": ["run", "-i", "--rm", "-v", "gtm-mcp-auth:/home/node/.mcp-auth", "gtmapi/linkedin-mcp"]
}
}
}
3. クライアントを再起動し、平易な英語でプロンプトを入力します。
「毎朝、創業者からの新しいつながり申請を承認し、短い歓迎メッセージを返信して、SDR を採用中の人をウォームリストに追加してください。」
エージェントはアクションを見つけて連鎖させます。最新のつながり申請を取得し、条件に合う申請を承認して、新しい連絡先それぞれに短いメッセージを送信します。外部へのアクションはすべて、LinkedIn に反映される前にプレビューして確認する手順と、サーバー側の日次上限チェックを経由します。
Cursor プラグイン
このリポジトリは Cursor プラグイン(.cursor-plugin/plugin.json)でもあります。インストールすると、次の 2 つが追加されます。
.mcp.jsonで指定されているホスト型 MCP サーバーhttps://mcp.gtm-api.com/mcp。gtm-api-linkedinスキル。このスキルは、ツールを呼び出す前に見つけること、送信を確定する前に毎回プレビューを表示すること、上限に達して拒否された場合は再試行せずに停止することをエージェントに指示します。
Cursor Marketplace からインストールするには、Customize を開き、gtm-api を検索して Install を選択します。代わりにこのリポジトリから実行するには、プラグインを Cursor のローカルプラグインフォルダーにコピーします。
git clone https://github.com/gtm-api/linkedin-mcp.git /tmp/linkedin-mcp
mkdir -p ~/.cursor/plugins/local/gtm-api
cp -R /tmp/linkedin-mcp/.cursor-plugin /tmp/linkedin-mcp/.mcp.json /tmp/linkedin-mcp/skills /tmp/linkedin-mcp/assets ~/.cursor/plugins/local/gtm-api/
次に Developer: Reload Window を実行し、Customize にスキルと MCP サーバーが表示されていることを確認します。
このプラグインにはキーが含まれておらず、設定も不要です。最初のツール呼び出しでブラウザーに同意ページが開きます。app.gtm-api.com にサインインし(永久無料プラン、カード不要)、エージェントが操作するワークスペースを選択します。Cursor は最初の呼び出し時に OAuth クライアントとして自身を登録するため、クライアント ID を作成する必要はありません。スキルを使わずにサーバーを追加するには、docs.gtm-api.com/mcp/connect の Cursor ワンクリックリンクを使用してください。
MCP ツール
サーバーは、MCP ツールをちょうど 3 つ公開します。ツールの検出は段階的に行われます。エージェントはツールセットを一覧表示し、そのうち 1 つを確認してからアクションを呼び出します。160 件以上の LinkedIn アクションが一度にモデルのコンテキストに読み込まれることはないため、スキーマの使用量は約 400 トークンに収まります。
[
{
"name": "list_toolsets",
"description": "List the available toolsets (domains) on this server. Each toolset groups related tools (e.g. linkedin.messaging, id.billing). Start here, then get_toolset_tools to inspect one, then call_tool to run a tool. Requires OAuth authorization (Bearer token).",
"input_schema": { "type": "object", "properties": {} }
},
{
"name": "get_toolset_tools",
"description": "List the tools in a toolset. Default (lite) returns name + title + one-line summary; pass verbose:true for full descriptions, safety flags, and parameter names. Run one via call_tool.",
"input_schema": {
"type": "object",
"properties": {
"toolset": { "type": "string", "description": "Toolset id from list_toolsets, e.g. \"linkedin.messaging\"." },
"verbose": { "type": "boolean", "description": "Include full descriptions + parameter names." }
},
"required": ["toolset"]
}
},
{
"name": "call_tool",
"description": "Invoke a tool by name (discovered via get_toolset_tools) with its arguments object. Behaves exactly like calling the tool on its domain mount. Dangerous tools still require the two-step preview→confirm (pass commit_token inside arguments on the confirm call).",
"input_schema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "Exact tool name." },
"arguments": { "type": "object", "description": "The tool's arguments object." }
},
"required": ["name"]
}
}
]
call_tool は、対象アクション固有の入力スキーマに照らして引数を検証するため、プレビューしてから確認する手順、レート制限、型付きエラーは、アクションが直接マウントされている場合とまったく同じように適用されます。
エージェントにできること
11 個の LinkedIn ツールセットにまたがる、型付きアクション 160 件以上を以下の 7 つの分野に分類しています。
| ツールセット | 対応内容 |
|---|---|
| メッセージング | メンバーへのメッセージ、音声メモ、InMail、Sales Navigator のチャット、受信トレイの検索と同期 |
| ネットワーク | 接続リクエスト、招待の承認または無視、取り消し、つながりとフォロワー |
| コンテンツ | 投稿と指標の追跡、コメント、リアクション、エンゲージしたユーザーとコメント投稿者の取得 |
| エンリッチメント | 簡易プロフィールと詳細プロフィール、職歴、スキル、学歴、企業データ |
| 検索 | 人物、企業、投稿の検索、類似プロフィール、従業員、意思決定者、保存済み検索 |
| アカウントの健全性 | スマート制限、健全性スナップショット、クォータ超過、ブロックとアクティビティのログ |
| インフラストラクチャ | アンチディテクト対応クラウドブラウザー、専用プロキシ、Webhook |
同じエンドポイントは、アカウント、請求、オーケストレーションのツールセットも提供しており、型付きアクションは合計 250 件以上あります。このリポジトリでは LinkedIn 関連の部分を説明しています。
現在、ライブチャネルとして利用できるのは LinkedIn です。同じ型付きコントラクトに基づくメール(Gmail、Outlook、IMAP)、メッセンジャー(WhatsApp、Telegram、Instagram DMs)、カレンダー(Google、Microsoft)はロードマップに含まれています。
LinkedIn アカウントにとって安全ですか?
安全対策は、すべてのツール呼び出しに対してサーバー自体が適用します。仕組みは 6 つあります。
- 所有アカウント。 エージェントは、あなたが接続して管理するアカウントを通じて操作します。共有アカウントプールはありません。
- セッションの分離。 各アカウントは、専用プロキシを備えた独自のアンチディテクト対応クラウドブラウザーで実行されます。1 アカウントにつき、1 セッション、1 デバイス署名です。
- ウォームアップ。 新しいアカウントは、プラットフォームの最大値を大きく下回る制限で開始し、アカウントの経過日数が増え、履歴が蓄積されるにつれて、許容量がプログラムによって引き上げられます。
- サーバー側の制限。 16 個のアクションバケットにわたって、各アクションの日次予算をディスパッチ前に確認します。
- ランダムな実行間隔。 一定の実行間隔自体が検知可能なパターンになるため、バルク処理はランダム化された間隔を設けて分散されます。
- プレビューしてから確認。 外部へのアクションはプレビューを返し、確認を必須とするため、エージェントが先走ってアカウントを危険にさらすことはありません。
この構成では、gtm-api.com 上で 20,000 件以上の LinkedIn アカウントが稼働しており、そのうち制限を受けたことがあるのは 1% 未満です。手法の詳細は、gtm-api.com/safe-linkedin-automation をご覧ください。
オープンソースの LinkedIn MCP サーバーとの比較
stickerdaniel/linkedin-mcp-server のような Cookie 主導型サーバーは、自分の LinkedIn Cookie を使ってブラウザーセッションを実行し、実行間隔の管理はユーザーに委ねます。このプロジェクトの README には Cookie ログインの手順が記載されていますが、レート制限については記載されていません。Apify の LinkedIn アクターは別のタイプで、結果ごとに料金がかかるホスト型スクレイパーであり、データの取得に重点を置いています。
| gtm-api(マネージド) | Cookie 主導型のオープンソース | |
|---|---|---|
| アカウントモデル | 所有アカウント、ウォームアップ済み、分離済み | 自分のライブ Cookie セッション |
| 安全対策 | アンチディテクト対応ブラウザー、専用プロキシ、制限 | 組み込みなし |
| 制限の適用 | サーバー側で、すべてのアクションの前に適用 | 自分で構築 |
| 送信(接続、メッセージ、InMail) | 対応。プレビューしてから確認 | 一部対応、または非対応 |
| 公表されている制限の割合 | 20,000 件以上のアカウントのうち、制限を受けたことがあるのは 1% 未満 | 非公開 |
| サポート | マネージド | コミュニティ |
| 価格 | 接続アカウント 1 件あたり月額 $39 から、利用量が多い場合は $10 | 無料。自分で実行 |
| セルフホスト、監査可能なコード | いいえ。マネージドサービス | はい |
料金
接続アカウントごとの月額従量料金です。利用規模に応じて1アカウントあたり10ドルからご利用いただけます。API 呼び出しは無制限で、アクションごとの料金はかかりません。カード登録不要の永久無料プランもあります:gtm-api.com/pricing。
LinkedIn の利用規約について
LinkedIn のユーザー契約では、サードパーティによる自動化が認められていないため、この分野のツールにはすべてリスクがあり、どのベンダーもリスクがないと誠実に約束することはできません。gtm-api は、ウォームアップ、人間らしい間隔での実行、強制適用される制限を用いて、お客様が所有するアカウントでのみ動作することでリスクを軽減しています。そのため、これまでに制限を受けたアカウントは1%未満です。これは法的助言ではありません。
リンク
- 登録(永久無料プラン):app.gtm-api.com
- 任意のクライアントの接続方法を手順ごとに解説:docs.gtm-api.com/mcp/connect
- LinkedIn MCP サーバーの仕組み:gtm-api.com/linkedin-mcp-server
- 安全性を確保する方法の詳細:gtm-api.com/safe-linkedin-automation
- npm ランチャー:npmjs.com/package/@gtm-api/linkedin-mcp
- Docker イメージ:hub.docker.com/r/gtmapi/linkedin-mcp
- Model Context Protocol:modelcontextprotocol.io
gtm-api.com、AI エージェント向けの LinkedIn API および MCP サーバーです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。