ツール: create-connection
指定されたプロジェクトとロケーションで新しい Connection を作成します。
次のコードサンプルは、curl を使用して create-connection MCP ツールを呼び出す方法を示しています。
| Curl リクエスト |
|---|
curl --location 'https://developerconnect.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create-connection", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
Connection を作成するためのメッセージ
CreateConnectionRequest
| JSON 表現 |
|---|
{
"parent": string,
"connectionId": string,
"connection": {
object ( |
| フィールド | |
|---|---|
parent |
必須。親の値。 |
connectionId |
必須。接続に使用する ID。これは接続のリソース名の最終的なコンポーネントになります。 |
connection |
必須。作成中のリソース |
requestId |
省略可。リクエストを識別するリクエスト ID(省略可)。一意のリクエスト ID を指定することで、リクエストの再試行が必要なときに、リクエストが完了していれば、サーバーがリクエストを無視できるようになります。サーバーは、最初のリクエストから少なくとも 60 分間はこれを保証します。 たとえば、最初のリクエストを行い、そのリクエストがタイムアウトしたとします。同じリクエスト ID で再度リクエストを行うと、サーバーは元のオペレーションを同じリクエスト ID で受信していたかどうかを確認できます。受信していた場合は、2 回目のリクエストは無視されます。これにより、クライアントが重複するコミットを誤って作成することを防ぐことができます。 リクエスト ID は有効な UUID でなければなりません。ただし、ゼロ UUID(00000000-0000-0000-0000-000000000000)はサポートされていません。 |
validateOnly |
省略可。設定されている場合、リクエストを検証しますが、実際の投稿は行いません。 |
接続
| JSON 表現 |
|---|
{ "name": string, "createTime": string, "updateTime": string, "deleteTime": string, "labels": { string: string, ... }, "installationState": { object ( |
| フィールド | |
|---|---|
name |
ID。接続のリソース名( |
createTime |
出力専用。作成タイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。更新タイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
deleteTime |
出力専用。タイムスタンプを削除します。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
labels |
省略可。Key-Value ペアとしてのラベル
|
installationState |
出力専用。接続のインストール状態。 |
disabled |
省略可。disabled が true に設定されている場合、この接続の機能は無効になります。この接続のリポジトリに対するリポジトリベースの API メソッドと Webhook 処理は無効になります。 |
reconciling |
出力専用。バックグラウンドで接続が設定または更新されている場合は、true に設定します。 |
annotations |
省略可。クライアントが任意の少量のデータを保存できるようにします。
|
etag |
省略可。このチェックサムは、他のフィールドの値に基づいてサーバーによって計算されて、更新リクエストと削除リクエストで送信され、続行する前にクライアントが最新の値を持っていることを確認できます。 |
uid |
出力専用。システムによって Connection に割り当てられる固有識別子。 |
cryptoKeyConfig |
省略可。暗号鍵の構成。このフィールドは、顧客管理の暗号鍵(CMEK)機能で使用されます。 |
gitProxyConfig |
省略可。Git プロキシ機能の構成。Git プロキシを有効にすると、クライアントは接続でリンクされたリポジトリに対して Git オペレーションを実行できます。詳細 |
共用体フィールド connection_config。プロバイダのタイプに応じた接続の構成。connection_config は次のいずれかになります。 |
|
githubConfig |
github.com への接続の構成。 |
githubEnterpriseConfig |
GitHub Enterprise のインスタンスへの接続の構成。 |
gitlabConfig |
gitlab.com への接続の構成。 |
gitlabEnterpriseConfig |
GitLab Enterprise のインスタンスへの接続の構成。 |
bitbucketDataCenterConfig |
Bitbucket Data Center のインスタンスへの接続の構成。 |
bitbucketCloudConfig |
Bitbucket Cloud のインスタンスへの接続の構成。 |
secureSourceManagerInstanceConfig |
Secure Source Manager のインスタンスへの接続の構成。 |
httpConfig |
省略可。HTTP サービス提供者への接続の構成。 |
GitHubConfig
| JSON 表現 |
|---|
{ "githubApp": enum ( |
| フィールド | |
|---|---|
githubApp |
必須。変更不可。GitHub ユーザーまたは組織にインストールされた GitHub アプリケーション。 |
authorizerCredential |
省略可。GitHub アプリを承認したアカウントの OAuth 認証情報。人間のユーザー アカウントではなく、ロボット アカウントを使用することをおすすめします。OAuth トークンは、この構成の GitHub アプリに関連付けられている必要があります。 |
appInstallationId |
省略可。GitHub アプリのインストール ID。 |
installationUri |
出力専用。この GitHubConfig に関連付けられたインストールを管理するために移動する URI。 |
OAuthCredential
| JSON 表現 |
|---|
{ "oauthTokenSecretVersion": string, "username": string } |
| フィールド | |
|---|---|
oauthTokenSecretVersion |
必須。接続を認可する OAuth トークンを含む SecretManager リソース。形式: |
username |
出力専用。このトークンに関連付けられているユーザー名。 |
GitHubEnterpriseConfig
| JSON 表現 |
|---|
{
"hostUri": string,
"appId": string,
"appSlug": string,
"privateKeySecretVersion": string,
"webhookSecretSecretVersion": string,
"appInstallationId": string,
"installationUri": string,
"serviceDirectoryConfig": {
object ( |
| フィールド | |
|---|---|
hostUri |
必須。この接続の対象となる GitHub Enterprise ホストの URI。 |
appId |
省略可。マニフェストから作成された GitHub アプリの ID。 |
appSlug |
出力専用。GitHub アプリの URL フレンドリーな名前。 |
privateKeySecretVersion |
省略可。GitHub アプリの秘密鍵を含む SecretManager リソース。 |
webhookSecretSecretVersion |
省略可。GitHub アプリの Webhook シークレットを含む SecretManager リソース。 |
appInstallationId |
省略可。GitHub アプリのインストール ID。 |
installationUri |
出力専用。この GitHubEnterpriseConfig に関連付けられているインストールを管理するために移動する URI。 |
serviceDirectoryConfig |
省略可。Service Directory を使用して GitHub Enterprise サーバーにプライベート接続するための構成。これは、GitHub Enterprise サーバーがオンプレミスでホストされ、公共のインターネットからアクセスできない場合にのみ設定する必要があります。このフィールドを空のままにすると、GitHub Enterprise サーバーへの呼び出しは公共のインターネット経由で行われます。 |
serverVersion |
出力専用。host_uri にインストールされている GitHub Enterprise のバージョン。 |
sslCaCertificate |
省略可。GitHub Enterprise へのリクエストに使用する SSL 証明書。 |
organization |
省略可。変更不可。GitHub アプリが作成される GitHub Enterprise 組織。 |
ServiceDirectoryConfig
| JSON 表現 |
|---|
{ "service": string } |
| フィールド | |
|---|---|
service |
必須。Service Directory サービス名。形式: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service} |
GitLabConfig
| JSON 表現 |
|---|
{ "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| フィールド | |
|---|---|
webhookSecretSecretVersion |
必須。変更不可。GitLab プロジェクトの Webhook シークレットを含む SecretManager リソース。 |
readAuthorizerCredential |
必須。最小限の |
authorizerCredential |
必須。最小限の |
UserCredential
| JSON 表現 |
|---|
{ "userTokenSecretVersion": string, "username": string } |
| フィールド | |
|---|---|
userTokenSecretVersion |
必須。Developer Connect 接続を認可するユーザー トークンを含む SecretManager リソース。形式: |
username |
出力専用。このトークンに関連付けられているユーザー名。 |
GitLabEnterpriseConfig
| JSON 表現 |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| フィールド | |
|---|---|
hostUri |
必須。この接続の対象となる GitLab Enterprise ホストの URI。 |
webhookSecretSecretVersion |
必須。変更不可。GitLab プロジェクトの Webhook シークレットを含む SecretManager リソース。 |
readAuthorizerCredential |
必須。最小限の |
authorizerCredential |
必須。最小限の |
serviceDirectoryConfig |
省略可。Service Directory を使用して GitLab Enterprise インスタンスにプライベート接続するための構成。これは、GitLab Enterprise サーバーがオンプレミスでホストされ、公共のインターネットからアクセスできない場合にのみ設定する必要があります。このフィールドを空のままにすると、GitLab Enterprise サーバーへの呼び出しは公共のインターネット経由で行われます。 |
sslCaCertificate |
省略可。GitLab Enterprise インスタンスへのリクエストに使用する SSL 認証局証明書。 |
serverVersion |
出力専用。 |
BitbucketDataCenterConfig
| JSON 表現 |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| フィールド | |
|---|---|
hostUri |
必須。この接続の対象となる Bitbucket データセンター ホストの URI。 |
webhookSecretSecretVersion |
必須。変更不可。Webhook イベントの検証に使用される Webhook シークレットを含む SecretManager リソース。 |
readAuthorizerCredential |
必須。最小限の |
authorizerCredential |
必須。最小限の |
serviceDirectoryConfig |
省略可。Service Directory を使用して Bitbucket Data Center インスタンスにプライベート接続するための構成。これは、Bitbucket データセンターがオンプレミスでホストされ、公共のインターネットからアクセスできない場合にのみ設定する必要があります。このフィールドを空のままにすると、Bitbucket データセンターへの呼び出しは公共のインターネット経由で行われます。 |
sslCaCertificate |
省略可。Bitbucket データセンターへのリクエストを行う際に信頼する SSL 認証局。 |
serverVersion |
出力専用。 |
BitbucketCloudConfig
| JSON 表現 |
|---|
{ "workspace": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| フィールド | |
|---|---|
workspace |
必須。Google Cloud Platform に接続する Bitbucket Cloud ワークスペース ID。 |
webhookSecretSecretVersion |
必須。変更不可。Webhook イベントの検証に使用される Webhook シークレットを含む SecretManager リソース。 |
readAuthorizerCredential |
必須。最小限の |
authorizerCredential |
必須。最小限の |
SecureSourceManagerInstanceConfig
| JSON 表現 |
|---|
{ "instance": string } |
| フィールド | |
|---|---|
instance |
必須。変更不可。Secure Source Manager インスタンス リソース。 |
GenericHTTPEndpointConfig
| JSON 表現 |
|---|
{ "hostUri": string, "serviceDirectoryConfig": { object ( |
| フィールド | |
|---|---|
hostUri |
必須。変更不可。サービス提供者の HTTPS エンドポイント。 |
serviceDirectoryConfig |
省略可。Service Directory を使用して HTTP サービス提供者にプライベート接続するための構成。これは、HTTP サービス提供者がオンプレミスでホストされ、パブリック インターネットからアクセスできない場合にのみ設定する必要があります。このフィールドを空のままにすると、HTTP サービス提供者への呼び出しは公共のインターネット経由で行われます。 |
sslCaCertificate |
省略可。HTTP サービス提供者へのリクエストに使用する SSL 証明書。 |
共用体フィールド authentication。HTTP サービス提供者へのリクエストに使用する認証メカニズム。authentication は次のいずれかになります。 |
|
basicAuthentication |
省略可。ユーザー名とパスワードによる基本認証。 |
bearerTokenAuthentication |
省略可。トークンを使用した署名なしトークン認証。 |
BasicAuthentication
| JSON 表現 |
|---|
{ "username": string, // Union field |
| フィールド | |
|---|---|
username |
必須。認証に使用するユーザー名。 |
共用体フィールド password。認証に使用するパスワード。password は次のいずれかになります。 |
|
passwordSecretVersion |
認証に使用するパスワードの SecretManager のシークレット バージョン。 |
BearerTokenAuthentication
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド token。認証に使用するトークン。token は次のいずれかになります。 |
|
tokenSecretVersion |
省略可。認証に使用するトークンの SecretManager のシークレット バージョン。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
LabelsEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
InstallationState
| JSON 表現 |
|---|
{
"stage": enum ( |
| フィールド | |
|---|---|
stage |
出力専用。インストール プロセスの現在のステップ。 |
message |
出力専用。インストールを続行するためにユーザーが次に行うべき操作に関するメッセージ。インストールがすでに完了している場合は空の文字列。 |
actionUri |
出力専用。次のアクションに進むためのリンク。インストールがすでに完了している場合は空の文字列。 |
AnnotationsEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
CryptoKeyConfig
| JSON 表現 |
|---|
{ "keyReference": string } |
| フィールド | |
|---|---|
keyReference |
必須。顧客データの暗号化 / 復号に使用される鍵の名前。Cloud KMS の鍵の場合、鍵は |
GitProxyConfig
| JSON 表現 |
|---|
{ "enabled": boolean, "httpProxyBaseUri": string } |
| フィールド | |
|---|---|
enabled |
省略可。これを true に設定すると、接続でリンクされたリポジトリで Git オペレーションを実行するために Git プロキシを使用できるようになります。 |
httpProxyBaseUri |
出力専用。HTTP プロキシ エンドポイントのベース URI。 |
GitHubApp
GitHub ユーザーまたは組織にインストールして Developer Connect で使用できるさまざまな GitHub アプリケーションを表します。
| 列挙型 | |
|---|---|
GIT_HUB_APP_UNSPECIFIED |
GitHub アプリが指定されていません。 |
DEVELOPER_CONNECT |
Developer Connect GitHub アプリケーション。 |
FIREBASE |
Firebase GitHub アプリケーション。 |
GEMINI_CODE_ASSIST |
Gemini Code Assist アプリケーション。 |
DATAFORM |
Dataform GitHub アプリケーション。 |
ステージ
インストール プロセスのステージ。
| 列挙型 | |
|---|---|
STAGE_UNSPECIFIED |
ステージが指定されていません。 |
PENDING_CREATE_APP |
GitHub Enterprise の場合のみ。アプリの作成がリクエストされました。ユーザーは、GitHub Enterprise ホストで作成を確認する必要があります。 |
PENDING_USER_OAUTH |
ユーザーは OAuth を介して GitHub(または Enterprise)アプリを承認する必要があります。 |
PENDING_INSTALL_APP |
ユーザーはリンクをたどって GitHub(または Enterprise)アプリをインストールする必要があります。 |
COMPLETE |
インストール プロセスが完了しました。 |
出力スキーマ
このリソースは、ネットワーク API 呼び出しの結果である長時間実行オペレーションを表します。
オペレーション
| JSON 表現 |
|---|
{ "name": string, "metadata": { "@type": string, field1: ..., ... }, "done": boolean, // Union field |
| フィールド | |
|---|---|
name |
サーバーによって割り当てられる名前。最初にその名前を返すサービスと同じサービス内でのみ一意になります。デフォルトの HTTP マッピングを使用している場合は、 |
metadata |
オペレーションに関連付けられているサービス固有のメタデータ。通常は進捗情報や、作成日時などの共通メタデータが含まれます。一部のサービスでは、このようなメタデータが提供されないこともあります。メタデータがある場合、長時間実行オペレーションを返すメソッドでは、メタデータの型をドキュメント化しておく必要があります。 任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド |
done |
値が |
共用体フィールド result。オペレーションの結果。error または有効な response になります。done == false の場合、error も response も設定されません。done == true の場合、error または response のどちらか 1 つだけが設定されます。一部のサービスでは結果が返されない場合があります。result は次のいずれかになります。 |
|
error |
失敗またはキャンセルされた場合のオペレーションのエラー結果。 |
response |
オペレーションの通常の成功レスポンス。元のメソッドで成功時にデータが返されない場合( 任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド |
すべて
| JSON 表現 |
|---|
{ "typeUrl": string, "value": string } |
| フィールド | |
|---|---|
typeUrl |
シリアル化された Protobuf メッセージのタイプを、スラッシュで終わる接頭辞と完全修飾タイプ名で構成される URI 参照で識別します。 例: type.googleapis.com/google.protobuf.StringValue この文字列には少なくとも 1 つの 接頭辞は任意であり、Protobuf の実装では、最後の すべてのタイプ URL 文字列は、有効な URI 参照である必要があります。また、参照の内容は、英数字、パーセント エンコードされたエスケープ、および次のセットの文字(外側のバッククォートを除く)のみで構成されている必要があります(テキスト形式の場合)。
|
value |
type_url で記述された型の Protobuf シリアル化を保持します。 Base64 でエンコードされた文字列。 |
ステータス
| JSON 表現 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| フィールド | |
|---|---|
code |
ステータス コード。 |
message |
デベロッパー向けのエラー メッセージ。英語で記述します。ユーザー向けのエラー メッセージは、ローカライズして |
details[] |
エラーの詳細を保持するメッセージのリスト。API が使用する共通のメッセージ タイプのセットがあります。 任意のデータ型のフィールドを含むオブジェクトであり、型を識別する URI を含むフィールド |
ツールのアノテーション
ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントは、これらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。
タイトル文字列とともに、次のブール値のヒントが定義されています。
readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に副次的影響は発生しません。デフォルトは false です。openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。
破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌