mcpField
B
blink-connectors

blink-connectors

github.com/blink-new開発438 回インストール2 週間前に更新
リポジトリ

blink-connectors について

blink-connectors は、接続済みプロバイダーを通じて外部 API にアクセスするための Blink スキルと利用ガイドです。CLI、SDK、MCP ツールを使う開発者向けに、リクエスト方法やプロバイダー固有の注意点をまとめています。

主な機能

  1. 01コネクターの接続状態確認
  2. 02プロバイダー経由の API 実行
  3. 03接続済み OAuth プロバイダーの一覧
  4. 04CLI と SDK からの利用
  5. 05パス規則とエラー処理の説明

活用シーン

  1. 01Slack チャンネルや Notion ページの読み取り
  2. 02Google Sheets データの取得
  3. 03Google Ads レポートの実行
  4. 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一般的なエンドポイント
Slackslack/conversations、/chat/postMessage、/users
Discorddiscord/user、/guilds、/channels/{id}/messages
Notionnotion/search、/databases、/pages
Google Drivegoogle_drive/files
Google Calendargoogle_calendar/events
Google Sheetsgoogle_sheets/spreadsheets/{id}/values/{range}
Google Docsgoogle_docs/documents
Google Slidesgoogle_slides/presentations
LinkedInlinkedin/userinfo、/ugcPosts
HubSpothubspot/contacts、/companies、/deals
Salesforcesalesforce/query、/sobjects/{type}
GitHubgithub/user、/repos、/issues — clone/push/PR については blink-github スキルを参照してください
Stripestripe/customers、/charges、/subscriptions
Jirajira/search、/issue、/project
Microsoftmicrosoft/me、/messages、/events
Airtableairtable/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]

メソッドとパスのルール

  1. パスは / で始めます — conversations ではなく /conversations
  2. 動的な ID はパスに指定します — /channels/${channelId}/messages
  3. プロバイダー ID にはアンダースコアを使います — google_drive、google_calendar、google_sheets
  4. GET のパラメーターはクエリパラメーターになり、POST のパラメーターは JSON ボディになります
  5. 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 と同じではありません。

  1. まず partialFailure: true と validateOnly: true でドライランしてください。 Google は fieldPathElements の全リストを含む partialFailureError とともに 200 を返すため、ラウンドトリップごとにエラーを 1 つずつ確認するのではなく、問題のあるフィールドを一度にすべて確認できます。ドライランで問題がなくなってから、validateOnly を false に切り替えてください。

  2. 空の proto マーカーはインラインで使用できます。 { "manualCpc": {} } は campaign_bidding_strategy を満たします(検証済み)。キャンペーン間で実際に入札を共有したい場合は、引き続きポートフォリオ戦略が適切ですが、もはや回避策として使う必要はありません。

  3. finalUrls は Asset のトップレベルに置きます。sitelinkAsset の中ではありません。 これは引き続き有効ですが、プロキシの癖ではなく、Google のスキーマによるものです。SitelinkAsset に finalUrls フィールドはないため、ネストすると Invalid JSON payload ... Unknown name "finalUrls" が返されます。

  4. v23 ではキャンペーン作成時に containsEuPoliticalAdvertising が必要です。 文字列の列挙値を使用してください:"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"。省略すると contains_eu_political_advertising: REQUIRED が返されます。

  5. 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 バックエンドによって自動的に処理されます。

コメント