blink-connectors について
blink-connectors は、接続済みプロバイダーを通じて外部 API にアクセスするための Blink スキルと利用ガイドです。CLI、SDK、MCP ツールを使う開発者向けに、リクエスト方法やプロバイダー固有の注意点をまとめています。
主な機能
- 01コネクターの接続状態確認
- 02プロバイダー経由の API 実行
- 03接続済み OAuth プロバイダーの一覧
- 04CLI と SDK からの利用
- 05パス規則とエラー処理の説明
活用シーン
- 01Slack チャンネルや Notion ページの読み取り
- 02Google Sheets データの取得
- 03Google Ads レポートの実行
- 04認証、権限、クォータエラーの診断
MCP 対応
API 実行と接続確認に使う MCP ツール blink_connector_exec、blink_connector_linked、blink_connector_status が記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ blink-new/ blink-plugin --skill blink-connectorsインストール後、Claude Code で/blink-connectorsを入力して読み込まれたか確認します。
詳細
はじめに
# List available providers
blink connector providers
# Check connection status
blink connector status slack
# Execute an API call
blink connector exec slack /conversations GET
MCP ツール
| ツール | 説明 |
|---|---|
blink_connector_exec | 接続済みプロバイダー経由で API 呼び出しを実行します |
blink_connector_linked | プロジェクトに現在接続されている OAuth プロバイダーをすべて一覧表示します |
blink_connector_status | 特定のプロバイダーの接続状況を確認します |
前提条件
初回の OAuth 接続は、ブラウザーで blink.new/settings?tab=connectors にアクセスして行う必要があります。 ユーザーが各プロバイダーを一度認証すれば、その後 CLI/MCP/SDK から API を呼び出せます。
SDK の使用方法
// Check status
const status = await blink.connectors.status('slack')
// GET request
const channels = await blink.connectors.execute('slack', {
method: '/conversations',
http_method: 'GET',
params: { types: 'public_channel,private_channel' }
})
// POST request
await blink.connectors.execute('slack', {
method: '/chat/postMessage',
http_method: 'POST',
params: { channel: 'C1234', text: 'Hello from Blink!' }
})
利用可能なプロバイダー
| プロバイダー | ID | 一般的なエンドポイント |
|---|---|---|
| Slack | slack | /conversations、/chat/postMessage、/users |
| Discord | discord | /user、/guilds、/channels/{id}/messages |
| Notion | notion | /search、/databases、/pages |
| Google Drive | google_drive | /files |
| Google Calendar | google_calendar | /events |
| Google Sheets | google_sheets | /spreadsheets/{id}/values/{range} |
| Google Docs | google_docs | /documents |
| Google Slides | google_slides | /presentations |
linkedin | /userinfo、/ugcPosts | |
| HubSpot | hubspot | /contacts、/companies、/deals |
| Salesforce | salesforce | /query、/sobjects/{type} |
| GitHub | github | /user、/repos、/issues — clone/push/PR については blink-github スキルを参照してください |
| Stripe | stripe | /customers、/charges、/subscriptions |
| Jira | jira | /search、/issue、/project |
| Microsoft | microsoft | /me、/messages、/events |
| Airtable | airtable | /bases、/records |
ほかにも 20 以上あります。全リストを確認するには blink connector providers を実行してください。
CLI の使用例
# Slack: list channels
blink connector exec slack /conversations GET
# Notion: search pages
blink connector exec notion /search POST '{"query":"meeting notes"}'
# Google Sheets: read data
blink connector exec google_sheets "/spreadsheets/SHEET_ID/values/Sheet1!A1:D10" GET
# HubSpot: list contacts
blink connector exec hubspot /contacts GET '{"limit":50}'
# Salesforce: SOQL query
blink connector exec salesforce /query GET '{"q":"SELECT Id,Name FROM Account LIMIT 10"}'
CLI の構文:blink connector exec <provider> <endpoint> [method] [params]
メソッドとパスのルール
- パスは
/で始めます —conversationsではなく/conversations - 動的な ID はパスに指定します —
/channels/${channelId}/messages - プロバイダー ID にはアンダースコアを使います —
google_drive、google_calendar、google_sheets - GET のパラメーターはクエリパラメーターになり、POST のパラメーターは JSON ボディになります
- CLI のパラメーターに無効な JSON を指定すると、処理は失敗します(終了コード 1) — 以前は、不正な JSON が何も通知されず
{}として送信されていました。Invalid JSON for params: ...が表示された場合は、引用符を修正してください(シェルで内側の二重引用符をエスケープするか、--input @file.jsonを使用してください)。
Google Ads(composio_googleads)— データの読み取り
すべてのパスは API バージョンで始める必要があり、顧客 ID はボディではなく、必ずパスに指定してください。 トップレベルの /search リソースはありません。/search、/googleads/search、/searchStream はすべて 404 を返します。
# Find the customer id
blink connector exec composio_googleads /v23/customers:listAccessibleCustomers GET
# Run a report (GAQL)
blink connector exec composio_googleads /v23/customers/CUSTOMER_ID/googleAds:search POST \
'{"query":"SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date DURING LAST_14_DAYS"}'
googleAds:searchStream も同様に機能しますが、エラーも含むペイロードを配列でラップして返します。
クォータ(RESOURCE_EXHAUSTED、スコープ DEVELOPER)
rateScope: DEVELOPER が付いた 429 は、Composio の共有開発者トークンに対する上限です。複数のテナントで共有されるものであり、ユーザーの Google Ads アカウントに対する上限ではありません。ユーザーがアカウントで何をしても解消できません。retryDelay(10 時間以上になることもよくあります)に従い、再試行を繰り返すのではなく、ユーザーに伝えてください。
rateScope: ACCOUNT はその逆で、ユーザー自身のアカウントに対するレート制限です。通常、遅延は短時間です。
Google Ads(composio_googleads)— キャンペーンの作成
以前の falsy 値を除去する回避策は不要になりました。 Composio のプロキシは、以前 POST 本文から
false、0、{}、[]を除去していました (#3324)。この問題は上流で 2026-07-24 に修正され、2026-07-29 に稼働中のプロキシで再検証されました。falsy 値は通常どおり送信してください。manualCpc: {}を避けるためだけにポートフォリオ入札戦略を作成しないでください。また、オフにしたいネットワーク設定を省略しないでください。省略すると「アカウントのデフォルト設定を使用する」という意味になり、falseと同じではありません。
-
まず
partialFailure: trueとvalidateOnly: trueでドライランしてください。 Google はfieldPathElementsの全リストを含むpartialFailureErrorとともに 200 を返すため、ラウンドトリップごとにエラーを 1 つずつ確認するのではなく、問題のあるフィールドを一度にすべて確認できます。ドライランで問題がなくなってから、validateOnlyをfalseに切り替えてください。 -
空の proto マーカーはインラインで使用できます。
{ "manualCpc": {} }はcampaign_bidding_strategyを満たします(検証済み)。キャンペーン間で実際に入札を共有したい場合は、引き続きポートフォリオ戦略が適切ですが、もはや回避策として使う必要はありません。 -
finalUrlsは Asset のトップレベルに置きます。sitelinkAssetの中ではありません。 これは引き続き有効ですが、プロキシの癖ではなく、Google のスキーマによるものです。SitelinkAssetにfinalUrlsフィールドはないため、ネストするとInvalid JSON payload ... Unknown name "finalUrls"が返されます。 -
v23 ではキャンペーン作成時に
containsEuPoliticalAdvertisingが必要です。 文字列の列挙値を使用してください:"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"。省略するとcontains_eu_political_advertising: REQUIREDが返されます。 -
networkSettingsのブール値は実際のブール値です。 意図に応じてtrueまたはfalseを設定してください。Google は Search キャンペーンでtargetGoogleSearch: falseを指定するとOPERATION_NOT_PERMITTED_FOR_CONTEXTを返すことに注意してください。これは Google のルールであり、フィールドが除去されたわけではありません。
デバッグ手順
# Dry-run and read the full error list
blink connector exec composio_googleads /v23/customers/CUSTOMER_ID/campaigns:mutate POST \
'{"operations":[...],"partialFailure":true,"validateOnly":true}'
# Then: read partialFailureError.details[].errors[].location.fieldPathElements
# to see exactly which field Google rejected, fix it, re-run with validateOnly:false
Google Ads では、
connector tool-execute(ネイティブのツールカタログ)よりもconnector exec(プロキシ)を優先してください。ネイティブの経路では Google のエラーが、フィールドの詳細を含まない不透明なError executing the tool GOOGLEADS_*にまとめられてしまいます。
エラーコード
| コード | 意味 |
|---|---|
CONNECTOR_NOT_CONNECTED | ユーザーがこのプロバイダーを認証していません |
CONNECTOR_DISABLED | このプロジェクトではプロバイダーが無効になっています |
MISSING_SCOPE | 追加の権限を付与して再接続してください |
*_API_ERROR | 上流 API のエラー(例:SLACK_API_ERROR) |
トークンの更新は Blink バックエンドによって自動的に処理されます。