Usar servidores MCP

Com os servidores MCP, é possível acessar e executar ferramentas para criar, gerenciar e consultar recursos doGoogle Cloud usando plataformas de agentes de IA. Este documento descreve como se conectar a servidores remotos do Protocolo de Contexto de Modelo (MCP) usando a extensão do Kit de Agente de Dados do Google Cloud para Visual Studio Code. Google Cloud

Servidores MCP compatíveis

Os seguintes servidores MCP remotos são compatíveis com o trabalho na extensão Data Agent Kit para VS Code. 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

O Google e os servidores MCP remotos 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
  • Registro de auditoria centralizado

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

O padrão Protocolo de Contexto de Modelo (MCP) padroniza como os modelos de linguagem grandes (LLMs) e os aplicativos ou agentes de IA se conectam a fontes de dados externas. Com os servidores do MCP, você pode 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
Normalmente 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
Executar na infraestrutura do serviço e oferecer 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 VS Code.
  2. Configure a extensão. Não se esqueça de ativar todas as APIs.

Funções exigidas

Para receber as permissões necessárias para acessar os servidores Google Cloud MCP do 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 as funções mínimas necessárias para acessar servidores MCP remotos em cada serviço Google Cloudcompatível, 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 aos servidores do MCP pela extensão Data Agent Kit para VS Code, é possível usar suas credenciais de usuário ou a representação de conta de serviço. Recomendamos usar a identidade temporária de conta de serviço para a CLI gcloud e as credenciais padrão do aplicativo (ADC) ao se conectar aos servidores do MCP.

Isso envolve começar com as credenciais usadas para fazer login no Google Cloud e na CLI gcloud no VS Code, geralmente sua conta de usuário. Em seguida, solicite credenciais de curta duração para sua conta de serviço e use essas credenciais em vez das suas 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 do MCP, consulte Identidade temporária de conta de serviço.

Autenticação e autorização

Conclua as etapas de autenticação e autorização a seguir. Para mais informações sobre a autorização da Conta do Google, consulte Como usar o OAuth 2.0 para acessar as APIs do Google.

Iniciar o processo de autenticação no ambiente de desenvolvimento integrado

Para começar o processo, envie um comando para o chat autônomo no ambiente de desenvolvimento integrado.

  1. Se o painel de chat não aparecer, abra a paleta de comandos pressionando Cmd/Ctrl+Shift+P, pesquise e execute Abrir chat.
  2. No painel de chat, envie o seguinte comando:

    list BigQuery datasets using mcp server
    

    O agente propõe o seguinte comando da CLI gcloud:

    gcloud config get-value project
    
  3. Clique em Permitir.

    Uma caixa de diálogo vai aparecer perguntando se você quer fornecer um ID do cliente.

  4. Clique em Copiar URIs e continuar.

    A paleta de comandos é aberta e pede um ID do cliente OAuth.

Receber o ID do cliente OAuth

Em seguida, obtenha o ID do cliente OAuth no console Google Cloud .

  1. No navegador, abra o console doGoogle Cloud .
  2. Clique em Selecionar um projeto.
  3. Selecione o mesmo projeto que você está usando na extensão Data Agent Kit para VS Code.
  4. No menu de navegação da API, clique em Credenciais.
  5. Em IDs do cliente OAuth 2.0, clique no ID do cliente que você quer usar.
  6. No painel de detalhes, em Informações adicionais, encontre e copie o valor de ID do cliente.

Fornecer credenciais ao VS Code

Insira o ID e a chave secreta do cliente na IDE.

  1. Volte para o VS Code.
  2. Cole o ID do cliente na caixa de diálogo Adicionar detalhes de registro do cliente.
  3. Pressione Enter.
  4. Volte ao console e copie o valor de Chave secreta do cliente.
  5. Volte para o VS Code.
  6. Cole a chave secreta do cliente na caixa de diálogo Adicionar detalhes de registro do cliente e pressione Enter.

    O agente continua sendo executado, e uma caixa de diálogo aparece informando que o servidor MCP quer fazer a autenticação.

  7. Clique em Permitir.

  8. Se você receber uma solicitação para fazer login na sua Conta do Google de novo, siga as instruções e volte para a IDE.

    O agente recebe os conjuntos de dados do BigQuery solicitados do servidor MCP e mostra a lista.

Configure Google Cloud servidores MCP remotos na extensão

Usando ferramentas de agente na IDE, você pode instanciar um cliente do MCP que se conecta a um único servidor do MCP. É possível ter vários clientes que se conectam a servidores MCP diferentes. 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 da autenticação: dependendo de como você quer autenticar, é possível inserir suas Google Cloud credenciais, o ID e a chave secreta do cliente OAuth ou uma identidade e credenciais do agente.
  • Escopo do OAuth: o escopo do OAuth 2.0 que você quer usar ao se conectar ao servidor do MCP do AlloyDB.

Substitua SERVER_NAME e ENDPOINT pelos valores do serviço a que você está se conectando. Para o AlloyDB, especifique 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 a 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

Remoto

'alloydb': {
  remote: {
    vscode: {
      'datacloud_alloydb_remote': {
        type: 'http',
        url: '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

Remoto

'datacloud_bigquery_remote': {
  type: 'http',
  url: '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

Remoto

'datacloud_cloud-sql_remote': {
  type: 'http',
  url: '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

Remoto

'datacloud_knowledge_catalog_remote': {
  type: 'http',
  url: '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

Remoto

'datacloud_managed_apache_spark_remote': {
          type: 'http',
          url: '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

Remoto

'datacloud_spanner_remote': {
  type: 'http',
  url: '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

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

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 dos seus aplicativos de IA. Ele funciona examinando de forma proativa os comandos e respostas do LLM, protegendo contra vários riscos e apoiando práticas de IA responsável. Se você estiver implantando IA no seu ambiente de nuvem ou em provedores de nuvem externos, o Model Armor pode ajudar a evitar entradas mal-intencionadas, verificar a segurança do conteúdo, proteger dados sensíveis, manter a conformidade e aplicar suas políticas de segurança e proteção de IA de maneira consistente em todo o cenário diversificado 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 seus registros.

Ativar o Model Armor

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

Console

  1. Ativar 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 console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud 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 remotos e do Google Google Cloud

Para 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 a todo o projeto. Essa configuração aplica um conjunto consistente de filtros a todas as chamadas e respostas da ferramenta MCP no projeto.

Configurar um valor mínimo do Model Armor com a limpeza da MCP ativada. Para mais informações, consulte Configurar configurações mínimas do Model Armor.

Confira o exemplo de comando 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 projeto Google Cloud .

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 solicitações e respostas que correspondem aos filtros.
  • ENABLED: a configuração que ativa um filtro ou uma restrição.
  • MEDIUM_AND_ABOVE: o nível de confiança das configurações do filtro de IA responsável - perigoso. É possível modificar essa configuração, mas valores mais baixos podem 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 os servidores do Google MCP 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 de limite mínimo deste projeto ao tráfego de qualquer servidor MCP do Google.

As configurações mínimas e a configuração geral do Model Armor podem afetar mais do que apenas o MCP. Como o Model Armor se integra a serviços como a Vertex AI, as mudanças feitas nas configurações mínimas podem 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 às ferramentas do MCP.

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

  • O diretor
  • 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 VS Code, consulte Solução de problemas da extensão do Data Agent Kit para VS Code.

A seguir