Usar servidores MCP

Os servidores MCP permitem acessar e executar ferramentas para criar, gerenciar e consultar Google Cloud recursos usando plataformas de agentes de IA. Este documento descreve como se conectar a Google Cloud servidores remotos do Protocolo de Contexto de Modelo (MCP) da extensão do Google Cloud Data Agent Kit para o IDE do Antigravity.

Servidores MCP com suporte

Os servidores MCP remotos a seguir têm suporte para trabalhar na extensão do Data Agent Kit para o IDE do Antigravity. Para detalhes específicos do produto, consulte estes guias:

Um servidor MCP remoto é ativado quando você ativa a API correspondente. Por exemplo, quando você ativa a API Spanner no seu projeto, o MCP remoto do Spanner é ativado automaticamente.

Google Cloud Servidores MCP remotos

Os servidores MCP remotos do Google e Google Cloud têm os seguintes recursos e benefícios:

  • Descoberta simplificada e centralizada
  • Endpoints HTTP globais ou regionais gerenciados
  • Autorização detalhada
  • Segurança opcional de comandos e respostas com a proteção do Model Armor
  • Geração de registros de auditoria centralizada

Para informações sobre outros servidores MCP e informações sobre segurança e controles de governança disponíveis para servidores MCP do Google Cloud, consulte Visão geral dos servidores MCP do Google Cloud.

O Protocolo de Contexto de Modelo (MCP) padroniza como modelos de linguagem grandes (LLMs) e aplicativos ou agentes de IA se conectam a fontes de dados externas. Os servidores MCP permitem usar as ferramentas, os recursos e os comandos deles para realizar ações e receber dados atualizados do serviço de back-end.

Qual é a diferença entre servidores MCP locais e remotos?

Servidores MCP locais
Geralmente são executados na máquina local e usam os fluxos de entrada e saída padrão (stdio) para comunicação entre serviços no mesmo dispositivo.
Servidores MCP remotos
São executados na infraestrutura do serviço e oferecem um endpoint HTTP para aplicativos de IA para comunicação entre o cliente MCP de IA e o servidor MCP. Para mais informações sobre a arquitetura do MCP, consulte Arquitetura do MCP.

Antes de começar

  1. Instale a extensão do Data Agent Kit para o IDE do Antigravity.
  2. Configure a extensão. Ative todas as APIs.

Funções exigidas

Para receber as permissões necessárias para acessar Google Cloud servidores MCP no seu IDE, peça ao administrador para conceder a você o papel do IAM de Usuário da ferramenta MCP(roles/mcp.toolUser) no projeto em que você está trabalhando.

Dependendo dos recursos que você planeja acessar, talvez sejam necessários outros papéis além daqueles que permitem usar a extensão. Para conferir os papéis mínimos necessários para acessar servidores MCP remotos de cada serviço com suporte Google Cloud, consulte os guias específicos do produto.

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Identidade temporária de conta de serviço

Ao se conectar a servidores MCP na extensão do Data Agent Kit para o IDE do Antigravity, você pode usar suas credenciais de usuário ou a identidade temporária de conta de serviço. Recomendamos o uso da identidade temporária de conta de serviço para a CLI gcloud e as credenciais padrão do aplicativo (ADC) ao se conectar a servidores MCP.

Isso envolve começar com as credenciais usadas para fazer login em Google Cloud e na CLI gcloud no IDE do Antigravity, geralmente sua conta de usuário. Em seguida, você solicita credenciais de curta duração para sua conta de serviço e usa as credenciais da conta de serviço em vez das credenciais de usuário. Para mais informações, consulte Usar a identidade temporária de conta de serviço.

Para orientações sobre como usar a identidade temporária de conta de serviço para autenticar em servidores MCP, consulte Identidade temporária de conta de serviço.

Autenticação e autorização

Ao usar o IDE do Antigravity, as credenciais padrão do aplicativo autenticam você em Google Cloud servidores MCP.

Configurar Google Cloud servidores MCP remotos na extensão

Usando ferramentas de agente no ambiente de desenvolvimento integrado, é possível instanciar um cliente MCP que se conecta a um único servidor MCP. Você pode ter vários clientes que se conectam a diferentes servidores MCP. Para se conectar a um servidor MCP remoto, o cliente MCP precisa saber, no mínimo, o URL do servidor MCP remoto.

Para cada cliente, use o seguinte conforme necessário.

  • Nome do servidor: SERVER_NAME
  • Endpoint: ENDPOINT
  • Transporte: HTTP
  • Detalhes de autenticação: dependendo de como você quer autenticar, é possível inserir suas credenciais, o ID e a chave secreta do cliente OAuth ou uma identidade e credenciais do agente. Google Cloud
  • Escopo do OAuth: o escopo do OAuth 2.0 que você quer usar ao se conectar ao servidor MCP do AlloyDB.

Substitua SERVER_NAME e ENDPOINT pelos valores do serviço a que você está se conectando. Para o AlloyDB, é necessário especificar uma região, como us-east4.

Serviço

Nome do servidor

Endpoint

AlloyDB

Servidor MCP do AlloyDB

https://alloydb.REGION.rep.googleapis.com/mcp

BigQuery

Servidor MCP do BigQuery

https://bigquery.googleapis.com/mcp

Cloud SQL

Servidor MCP do Cloud SQL

https://sqladmin.googleapis.com/mcp

Knowledge Catalog

Servidor MCP do Knowledge Catalog

https://dataplex.googleapis.com/mcp

Serviço Gerenciado para Apache Spark

Servidor MCP do Serviço Gerenciado para Apache Spark

https://dataproc-us-central1.googleapis.com/mcp

Spanner

Servidor MCP do Spanner

https://spanner.googleapis.com/mcp

Configurações do MCP para caixa de ferramentas e servidores MCP remotos

Use as configurações a seguir para cada serviço do Google Cloud Data Agent Kit a que você quer se conectar.

AlloyDB

Controle remoto

'datacloud_alloydb_remote': {
  serverUrl: 'https://alloydb.REGION.rep.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Local

'datacloud_alloydb-postgres-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_alloydb-postgres_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres',
    '--stdio'
  ],
  'env': {
    'ALLOYDB_POSTGRES_CLUSTER': '',
    'ALLOYDB_POSTGRES_DATABASE': '',
    'ALLOYDB_POSTGRES_INSTANCE': '',
    'ALLOYDB_POSTGRES_IP_TYPE': '',
    'ALLOYDB_POSTGRES_PASSWORD': '',
    'ALLOYDB_POSTGRES_PROJECT': '',
    'ALLOYDB_POSTGRES_REGION': '',
    'ALLOYDB_POSTGRES_USER': '',
  },
},

BigQuery

Controle remoto

'datacloud_bigquery_remote': {
  serverUrl: 'https://bigquery.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/bigquery',
      'https://www.googleapis.com/auth/cloud-platform',
    ],
},

Local

'datacloud_bigquery_toolbox': {
  command: 'npx',
  args: [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'bigquery',
    '--stdio'
  ],
  env: {
    'BIGQUERY_LOCATION': '',
    'BIGQUERY_PROJECT': '',
  },
},

Cloud SQL

Controle remoto

'datacloud_cloud-sql_remote': {
  serverUrl: 'https://sqladmin.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Local

'datacloud_cloud-sql-postgresql-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_cloud-sql-postgresql_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres',
    '--stdio'
  ],
  'env': {
    'CLOUD_SQL_POSTGRES_DATABASE': '',
    'CLOUD_SQL_POSTGRES_INSTANCE': '',
    'CLOUD_SQL_POSTGRES_IP_TYPE': '',
    'CLOUD_SQL_POSTGRES_PASSWORD': '',
    'CLOUD_SQL_POSTGRES_PROJECT': '',
    'CLOUD_SQL_POSTGRES_REGION': '',
    'CLOUD_SQL_POSTGRES_USER': '',
  },
},

Knowledge Catalog

Controle remoto

'datacloud_knowledge_catalog_remote': {
  serverUrl: 'https://dataplex.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Local

'datacloud_knowledge_catalog_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'dataplex',
    '--stdio'
  ],
  'env': {
      'DATAPLEX_PROJECT': '${PROJECT_ID}',
    }

Serviço Gerenciado para Apache Spark

Controle remoto

'datacloud_managed_apache_spark_remote': {
          serverUrl: 'https://dataproc-${REGION}.googleapis.com/mcp',
          authProviderType: 'google_credentials',
          oauth: {
            scopes: ['https://www.googleapis.com/auth/dataproc'],
          },
        },

Local

'datacloud_managed_apache_spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'dataproc',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'DATAPROC_PROJECT': '${PROJECT_ID}',
          'DATAPROC_REGION': '${REGION}',
        },
      },
      'datacloud_serverless-spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'serverless-spark',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'SERVERLESS_SPARK_PROJECT': '${PROJECT_ID}',
          'SERVERLESS_SPARK_LOCATION': '${REGION}',
        },
      },

Spanner

Controle remoto

'datacloud_spanner_remote': {
  serverUrl: 'https://spanner.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/spanner.admin',
      'https://www.googleapis.com/auth/spanner.data',
    ],
  },
},

Local

'datacloud_spanner_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'spanner',
    '--stdio'
  ],
  'env': {
    'SPANNER_DATABASE': '',
    'SPANNER_DIALECT': '',
    'SPANNER_INSTANCE': '',
    'SPANNER_PROJECT': '',
  },
},

Configurações opcionais de segurança

O MCP introduz novos riscos e considerações de segurança devido à grande variedade de ações que podem ser realizadas com as ferramentas do MCP. Para minimizar e gerenciar esses riscos, Google Cloud oferece configurações padrão e políticas personalizáveis para controlar o uso de ferramentas do MCP na sua Google Cloud organização ou projeto.

Para mais informações sobre segurança e governança do MCP, consulte Segurança e proteção de IA.

Usar o Model Armor

O Model Armor é um Google Cloud serviço projetado para aumentar a segurança e a segurança dos aplicativos de IA. Ele funciona verificando proativamente comandos e respostas de LLMs, protegendo contra vários riscos e oferecendo suporte a práticas IA responsável. Se você estiver implantando a IA no ambiente de nuvem ou em provedores de nuvem externos, o Model Armor poderá ajudar a evitar entradas maliciosas, verificar a segurança do conteúdo, proteger dados sensíveis, manter a conformidade e aplicar suas políticas de segurança de IA de forma consistente em todo o cenário de IA.

Quando o Model Armor está ativado com a geração de registros ativada, ele registra todo o payload. Isso pode expor informações sensíveis nos registros.

Ativar o Model Armor

É necessário ativar as APIs do Model Armor antes de usar o Model Armor.

Console

  1. Ative a API Model Armor.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

  2. Selecione o projeto em que você quer ativar o Model Armor.

gcloud

Antes de começar, siga estas etapas usando a Google Cloud CLI com a API Model Armor:

  1. No Google Cloud console, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Execute o comando a seguir para definir o endpoint de API do serviço Model Armor.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Substitua LOCATION pela região em que você quer usar o Model Armor.

Configurar a proteção para servidores MCP do Google e Google Cloud remotos

Para ajudar a proteger as chamadas e respostas da ferramenta MCP, use as configurações mínimas do Model Armor. Uma configuração mínima define os filtros de segurança mínimos que se aplicam ao projeto. Essa configuração aplica um conjunto consistente de filtros a todas as chamadas e respostas da ferramenta MCP no projeto.

Configure uma configuração mínima do Model Armor com a higienização do MCP ativada. Para mais informações, consulte Configurar as configurações mínimas do Model Armor.

Consulte o comando de exemplo a seguir:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

Substitua PROJECT_ID pelo ID do Google Cloud projeto.

Observe as seguintes configurações:

  • INSPECT_AND_BLOCK: o tipo de aplicação que inspeciona o conteúdo do servidor MCP do Google e bloqueia comandos e respostas que correspondem aos filtros.
  • ENABLED: a configuração que ativa um filtro ou aplicação.
  • MEDIUM_AND_ABOVE: o nível de confiança para as configurações de filtro de IA responsável - perigoso. É possível modificar essa configuração, embora valores mais baixos possam resultar em mais falsos positivos. Para mais informações, consulte Níveis de confiança do Model Armor.

Desativar a verificação do tráfego do MCP com o Model Armor

Para impedir que o Model Armor verifique automaticamente o tráfego de e para servidores MCP do Google com base nas configurações mínimas do projeto, execute o seguinte comando:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

Substitua PROJECT_ID pelo Google Cloud ID do projeto. O Model Armor não aplica automaticamente as regras definidas nas configurações mínimas desse projeto a nenhum tráfego do servidor MCP do Google.

As configurações mínimas do Model Armor e a configuração geral podem afetar mais do que apenas o MCP. Como o Model Armor é integrado a serviços como a Vertex AI, qualquer mudança feita nas configurações mínimas pode afetar a verificação de tráfego e os comportamentos de segurança em todos os serviços integrados, não apenas no MCP.

Controlar o uso do MCP com políticas de negação do IAM

As políticas de negação do Identity and Access Management (IAM) ajudam a proteger Google Cloud servidores MCP remotos. Configure essas políticas para bloquear o acesso indesejado à ferramenta MCP.

Por exemplo, é possível negar ou permitir o acesso com base em:

  • O principal
  • Propriedades da ferramenta, como somente leitura
  • O ID do cliente OAuth do aplicativo

Para mais informações, consulte Controlar o uso do MCP com o Identity and Access Management.

Resolver problemas

Para encontrar métodos de diagnóstico e resolução de erros da extensão do Data Agent Kit para o IDE do Antigravity, consulte Resolver problemas.

A seguir