도구: create-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 }' |
입력 스키마
연결을 만드는 메시지입니다.
CreateConnectionRequest
| JSON 표현 |
|---|
{
"parent": string,
"connectionId": string,
"connection": {
object ( |
| 필드 | |
|---|---|
parent |
필수 입력란입니다. 상위 요소 값입니다. |
connectionId |
필수 입력란입니다. 연결에 사용할 ID이며, 연결의 리소스 이름에서 마지막 구성요소가 됩니다. |
connection |
필수 입력란입니다. 생성 중인 리소스 |
requestId |
(선택사항) 요청을 식별하는 선택적 요청 ID입니다. 요청을 다시 시도해야 하는 경우 서버가 이미 완료되었을 때 요청을 무시하도록 고유한 요청 ID를 지정합니다. 서버는 첫 번째 요청 후 최소 60분 동안 이를 보장합니다. 예를 들어 최초 요청을 수행하고 요청이 타임아웃되는 경우를 생각해 보세요. 동일한 요청 ID로 다시 요청을 수행하면 서버는 동일한 요청 ID를 가진 원래 작업이 수신되었는지 확인할 수 있으며 그럴 경우 두 번째 요청을 무시합니다. 이렇게 해서 클라이언트가 실수로 중복된 약정을 생성하지 않도록 방지합니다. 요청 ID는 유효한 UUID여야 하며, 0 UUID는 지원되지 않습니다(00000000-0000-0000-0000-000000000000). |
validateOnly |
(선택사항) 설정된 경우 요청 유효성을 검사하되 실제로 게시하지 않습니다. |
연결
| JSON 표현 |
|---|
{ "name": string, "createTime": string, "updateTime": string, "deleteTime": string, "labels": { string: string, ... }, "installationState": { object ( |
| 필드 | |
|---|---|
name |
식별자. 연결의 리소스 이름이며 |
createTime |
출력 전용입니다. 생성 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 업데이트 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
deleteTime |
출력 전용입니다. 타임스탬프를 삭제합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
labels |
선택사항. 키-값 쌍인 라벨입니다.
|
installationState |
출력 전용입니다. 연결의 설치 상태입니다. |
disabled |
(선택사항) disabled가 true로 설정되면 이 연결의 기능이 사용 중지됩니다. 이 연결의 저장소에 대한 저장소 기반 API 메서드 및 웹훅 처리가 사용 중지됩니다. |
reconciling |
출력 전용입니다. 백그라운드에서 연결이 설정되거나 업데이트될 때 true로 설정됩니다. |
annotations |
(선택사항) 클라이언트가 소량의 임의 데이터를 저장할 수 있습니다.
|
etag |
(선택사항) 이 체크섬은 다른 필드의 값을 기준으로 서버에서 계산되며, 처리 전 클라이언트에 최신 값이 적용되도록 업데이트 및 삭제 요청이 있을 때 전송될 수 있습니다. |
uid |
출력 전용입니다. 연결에 대해 시스템에서 할당된 고유 식별자입니다. |
cryptoKeyConfig |
(선택사항) 암호화 키 구성입니다. 이 필드는 고객 관리 암호화 키 (CMEK) 기능에서 사용됩니다. |
gitProxyConfig |
(선택사항) Git 프록시 기능의 구성입니다. Git 프록시를 사용 설정하면 클라이언트가 연결에 연결된 저장소에서 Git 작업을 수행할 수 있습니다. 자세히 알아보기 |
통합 필드 connection_config. 제공업체 유형에 따른 연결 구성입니다. connection_config은 다음 중 하나여야 합니다. |
|
githubConfig |
github.com에 대한 연결 구성입니다. |
githubEnterpriseConfig |
GitHub Enterprise 인스턴스에 대한 연결 구성입니다. |
gitlabConfig |
gitlab.com에 대한 연결 구성입니다. |
gitlabEnterpriseConfig |
GitLab Enterprise 인스턴스에 대한 연결 구성입니다. |
bitbucketDataCenterConfig |
Bitbucket 데이터 센터 인스턴스에 대한 연결 구성입니다. |
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 앱의 웹훅 보안 비밀이 포함된 SecretManager 리소스이며, |
appInstallationId |
(선택사항) GitHub 앱 설치 ID입니다. |
installationUri |
출력 전용입니다. 이 GitHubEnterpriseConfig와 연결된 설치를 관리하기 위해 이동할 URI입니다. |
serviceDirectoryConfig |
(선택사항) 서비스 디렉터리를 사용하여 GitHub Enterprise 서버에 비공개로 연결하기 위한 구성입니다. GitHub Enterprise 서버가 온프레미스에서 호스팅되고 공개 인터넷으로 연결할 수 없는 경우에만 설정해야 합니다. 이 필드를 비워두면 공개 인터넷을 통해 GitHub Enterprise 서버가 호출됩니다. |
serverVersion |
출력 전용입니다. host_uri에 설치된 GitHub Enterprise 버전입니다. |
sslCaCertificate |
(선택사항) GitHub Enterprise에 대한 요청에 사용할 SSL 인증서입니다. |
organization |
(선택사항) 변경할 수 없습니다. GitHub 앱이 생성되는 GitHub Enterprise 조직입니다. |
ServiceDirectoryConfig
| JSON 표현 |
|---|
{ "service": string } |
| 필드 | |
|---|---|
service |
필수 입력란입니다. 서비스 디렉터리 서비스 이름입니다. 형식: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. |
GitLabConfig
| JSON 표현 |
|---|
{ "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| 필드 | |
|---|---|
webhookSecretSecretVersion |
필수 항목. 변경할 수 없습니다. GitLab 프로젝트의 웹훅 보안 비밀이 포함된 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 프로젝트의 웹훅 보안 비밀이 포함된 SecretManager 리소스이며 |
readAuthorizerCredential |
필수 입력란입니다. 최소 |
authorizerCredential |
필수 입력란입니다. 최소 |
serviceDirectoryConfig |
(선택사항) 서비스 디렉터리를 사용하여 GitLab Enterprise 인스턴스에 비공개로 연결하기 위한 구성입니다. GitLab Enterprise 서버가 온프레미스에서 호스팅되고 공개 인터넷으로 연결할 수 없는 경우에만 설정해야 합니다. 이 필드를 비워두면 GitLab Enterprise 서버에 대한 호출이 공개 인터넷을 통해 이루어집니다. |
sslCaCertificate |
(선택사항) GitLab Enterprise 인스턴스에 대한 요청에 사용할 SSL 인증 기관 인증서입니다. |
serverVersion |
출력 전용입니다. |
BitbucketDataCenterConfig
| JSON 표현 |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| 필드 | |
|---|---|
hostUri |
필수 입력란입니다. 이 연결이 사용되는 Bitbucket 데이터 센터 호스트의 URI입니다. |
webhookSecretSecretVersion |
필수 입력란입니다. 변경할 수 없습니다. 웹훅 이벤트를 확인하는 데 사용되는 웹훅 보안 비밀이 포함된 SecretManager 리소스입니다. |
readAuthorizerCredential |
필수 입력란입니다. 최소 |
authorizerCredential |
필수 입력란입니다. 최소 |
serviceDirectoryConfig |
(선택사항) 서비스 디렉터리를 사용하여 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 |
필수 입력란입니다. 변경할 수 없습니다. 웹훅 이벤트를 확인하는 데 사용되는 웹훅 보안 비밀이 포함된 SecretManager 리소스입니다. |
readAuthorizerCredential |
필수 입력란입니다. 최소 |
authorizerCredential |
필수 입력란입니다. 최소 |
SecureSourceManagerInstanceConfig
| JSON 표현 |
|---|
{ "instance": string } |
| 필드 | |
|---|---|
instance |
필수 항목. 변경할 수 없습니다. |
GenericHTTPEndpointConfig
| JSON 표현 |
|---|
{ "hostUri": string, "serviceDirectoryConfig": { object ( |
| 필드 | |
|---|---|
hostUri |
필수 항목. 변경할 수 없습니다. 서비스 제공업체의 https 엔드포인트입니다. |
serviceDirectoryConfig |
(선택사항) 서비스 디렉터리를 사용하여 HTTP 서비스 제공업체에 비공개로 연결하기 위한 구성입니다. HTTP 서비스 제공업체가 온프레미스에서 호스팅되고 공개 인터넷으로 연결할 수 없는 경우에만 설정해야 합니다. 이 필드를 비워두면 공개 인터넷을 통해 HTTP 서비스 제공업체를 호출합니다. |
sslCaCertificate |
(선택사항) HTTP 서비스 제공업체에 대한 요청에 사용할 SSL 인증서입니다. |
통합 필드 authentication. HTTP 서비스 제공업체에 대한 요청에 사용할 인증 메커니즘입니다. authentication은 다음 중 하나여야 합니다. |
|
basicAuthentication |
(선택사항) 사용자 이름과 비밀번호를 사용하는 기본 인증 |
bearerTokenAuthentication |
(선택사항) 토큰을 사용한 Bearer 토큰 인증 |
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 |
유닉스 시간 1970-01-01T00:00:00Z 이후 경과된 UTC 시간을 초 단위로 나타냅니다. -62135596800~253402300799(양 끝값 포함) 사이여야 합니다(0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당). |
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 |
The Developer Connect GitHub Application. |
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 |
작업과 관련된 서비스별 메타데이터입니다. 일반적으로 진행률 정보 및 생성 시간과 같은 일반 메타데이터가 포함됩니다. 일부 서비스는 이러한 메타데이터를 제공하지 않을 수 있습니다. 장기 실행 작업을 반환하는 메소드는 메타데이터 유형이 있는 경우 이를 문서화해야 합니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
done |
값이 |
통합 필드 result는 작업 결과로, error 또는 유효한 response일 수 있습니다. done == false이면 error와 response가 모두 설정되지 않습니다. done == true이면 error 또는 response 중 정확히 하나를 설정할 수 있습니다. 일부 서비스는 결과를 제공하지 않을 수 있습니다. result는 다음 중 하나여야 합니다. |
|
error |
실패하거나 취소된 작업의 오류 결과입니다. |
response |
정상적인 성공한 작업 응답입니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
모두
| JSON 표현 |
|---|
{ "typeUrl": string, "value": string } |
| 필드 | |
|---|---|
typeUrl |
슬래시로 끝나는 프리픽스와 정규화된 유형 이름으로 구성된 URI 참조를 사용하여 직렬화된 Protobuf 메시지의 유형을 식별합니다. 예: type.googleapis.com/google.protobuf.StringValue 이 문자열은 프리픽스는 임의적이며 Protobuf 구현은 마지막 모든 유형 URL 문자열은 참조 콘텐츠가 영숫자 문자, 퍼센트 인코딩 이스케이프, 다음 집합의 문자 (외부 백틱 제외)로만 구성되어야 한다는 추가 제한사항 (텍스트 형식의 경우)이 있는 유효한 URI 참조여야 합니다.
|
value |
type_url에서 설명하는 유형의 Protobuf 직렬화를 보유합니다. base64 인코딩 문자열입니다. |
상태
| JSON 표현 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 필드 | |
|---|---|
code |
상태 코드로, |
message |
개발자에게 정보를 제공하는 오류 메시지로, 영어로 작성되어야 합니다. 사용자에게 표시되는 모든 오류 메시지는 현지화되어 |
details[] |
오류 세부정보를 설명하는 메시지 목록입니다. API에서 사용할 일반적인 메시지 유형 집합이 있습니다. 임의 유형의 필드를 포함하는 객체입니다. 추가 필드 |
도구 주석
도구 주석은 MCP 클라이언트에 전송되어 특정 도구의 기본 위험을 설명합니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 확인 메시지가 사용자에게 전송될 수 있는 시점을 결정하는 데 사용할 수 있습니다.
제목 문자열과 함께 다음 불리언 힌트가 정의됩니다.
readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.destructiveHint: true인 경우 도구에서 파괴적인 작업을 수행할 수 있습니다. false이면 도구는 추가 작업만 수행할 수 있습니다. 기본값은 true입니다.idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.openWorldHint: true인 경우 도구는 외부 항목의 '오픈 월드'와 상호작용할 수 있습니다. false이면 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌