Pular para o conteúdo principal

Entendendo Tools e MCP no VS Code Chat

· 8 min para ler
Alfredo Fernandez
Arquiteto de solução

O VS Code Chat (ou Copilot Chat) permite criar agentes personalizados capazes de ler, editar e executar comandos dentro do seu ambiente de desenvolvimento.
Esses agentes usam o campo tools: no arquivo .prompt.md para definir quais ferramentas eles podem usar.


⚙️ 1. O que são tools:

Cada agente no VS Code Chat tem uma configuração assim:

---
mode: agent
description: "Agente DevSecOps — segurança, automação e IaC."
tools: [edit, runCommands, search, problems]
---

As ferramentas listadas em tools: determinam o que o agente pode fazer — por exemplo, editar arquivos, rodar comandos de terminal, buscar código, ou analisar erros.


title: "Entendendo Tools e MCP no VS Code Chat" description: "Guia prático sobre ferramentas nativas e integrações via Model Context Protocol (MCP)"


🧩 Entendendo as Tools e o Model Context Protocol (MCP) no VS Code Chat

O VS Code Chat (ou Copilot Chat) permite criar agentes personalizados capazes de ler, editar e executar comandos dentro do seu ambiente de desenvolvimento.
Esses agentes usam o campo tools: no arquivo .prompt.md para definir quais ferramentas eles podem usar.


⚙️ 1. O que são tools:

Cada agente no VS Code Chat tem uma configuração assim:

---
mode: agent
description: "Agente DevSecOps — segurança, automação e IaC."
tools: [edit, runCommands, search, problems]
---

As ferramentas listadas em tools: determinam o que o agente pode fazer — por exemplo, editar arquivos, rodar comandos de terminal, buscar código, ou analisar erros.


🧰 2. Ferramentas nativas (Built-in Tools)

Essas ferramentas são nativas do VS Code e não exigem configuração extra.
Você pode usá-las em qualquer agente.

ToolFunção principalQuando usar
changesMostra diffs de arquivos modificadosRevisar alterações recentes
editLê e edita arquivos do workspaceCorrigir YAML, Dockerfile, código etc
extensionsBusca extensões no MarketplaceRecomendar ou instalar plugins
fetchFaz requisições HTTP simplesBuscar dados ou exemplos da web
githubRepoPesquisa código em repositórios GitHubEncontrar padrões ou vulnerabilidades
newCria um novo workspace/projetoScaffold de apps
openSimpleBrowserAbre uma página local no VS CodeVisualizar UI local ou documentação
problemsLê e analisa erros e warningsRevisar lint, build e erros de código
runCommandsExecuta comandos no terminalRodar docker, git, terraform etc
runNotebooksExecuta células de notebooksData science e ML
runTasksExecuta tarefas do .vscode/tasks.jsonAutomatização
searchPesquisa e lê conteúdo em arquivosLocalizar código e configurações
testFailureMostra falhas de testesAnalisar testes quebrados
todosGerencia TODOs e FIXMEsRevisar pendências
usagesMostra referências e usos de símbolosRefatoração e análise
vscodeAPIUsa a API interna do VS CodeCriação de extensões

🧑‍💻 3. Exemplo de agente DevSecOps (somente com tools nativas)

---
mode: agent
description: "Agente DevSecOps — segurança, automação e boas práticas."
tools: [runCommands, edit, search, problems]
---
Você é um engenheiro **DevSecOps**.
Use o terminal e o editor para revisar arquivos YAML e Dockerfile,
rodar verificações de segurança e sugerir hardening.

Esse agente consegue:

  • Analisar docker-compose.yml
  • Executar comandos como docker-compose config
  • Editar arquivos inseguros
  • Relatar problemas do VS Code (lint, build etc.)

🌐 4. Quando usar MCP (Model Context Protocol)

O MCP é um protocolo que permite conectar ferramentas externas reais ao VS Code Chat.
Isso é necessário quando você quer usar:

  • Docker 🐳
  • Kubernetes ☸️
  • Terraform 🪴
  • Trivy 🔍
  • Git avançado 🧩

Essas ferramentas não são nativas, então precisam ser adicionadas via MCP Server.


🔌 5. Como funcionam os MCP Servers

Um MCP Server é um serviço local (ou remoto) que “expõe” comandos e APIs como ferramentas para o Copilot Chat.

Estrutura básica

mcp.json   → manifesto descrevendo as ferramentas
server.js → implementação das tools (Node.js, Python, etc.)

Exemplo de manifesto:

{
"name": "docker-mcp",
"tools": [
{ "name": "docker.ps", "description": "Lista containers" },
{ "name": "docker.logs", "description": "Exibe logs de um container" }
]
}

⚙️ 6. Configurando MCP no VS Code

  1. Vá em ⚙️ → MCP Servers
  2. Clique em Add Server
  3. Adicione algo como:
{
"name": "docker",
"command": "npx",
"args": ["@modelcontext/docker-mcp", "serve"]
}
  1. Salve e reinicie o VS Code Chat.
  2. Agora, no seu .prompt.md, adicione:
tools: [edit, runCommands, docker, kubernetes]

🧱 7. Exemplo completo — DevSecOps com MCP

---
mode: agent
description: "Agente DevSecOps — segurança, automação e IaC."
tools: [edit, runCommands, docker, kubernetes, terraform, trivy]
---
Você é um engenheiro **DevSecOps** com foco em segurança de containers, infraestrutura e código.

### Objetivos
- Rodar `docker ps` e analisar containers vulneráveis.
- Executar `trivy image` e reportar vulnerabilidades.
- Auditar `terraform plan` e propor correções seguras.
- Revisar configurações de `kubernetes` com boas práticas.

Com os MCPs conectados, o agente pode realmente:

  • Executar comandos Docker e K8s,
  • Ler os resultados,
  • Corrigir arquivos,
  • E sugerir melhorias de segurança.

🧠 8. Resumo rápido

CategoriaFerramentasConfiguração
Nativas (Built-in)edit, runCommands, search, problems, todos, changes, fetch...Nenhuma — já disponíveis
Externas (via MCP)docker, kubernetes, terraform, trivy, git (avançado)Precisa registrar MCP Server
Modo de usoCampo tools: no .prompt.mdDefine o que o agente pode usar

🧭 Conclusão

O campo tools: é o que define o “alcance” do seu agente.
Use as built-in tools para tarefas locais de código, e MCPs para conectar o agente a ferramentas do mundo real — como Docker, Kubernetes e scanners de segurança.

Com isso, o VS Code Chat se transforma em um assistente DevSecOps completo, capaz de entender, auditar e automatizar todo o ciclo de desenvolvimento.


💡 Dica final:
Comece com tools: [edit, runCommands, search], depois adicione MCPs gradualmente para estender o poder do seu agente.

🧰 2. Ferramentas nativas (Built-in Tools)

Essas ferramentas são nativas do VS Code e não exigem configuração extra.
Você pode usá-las em qualquer agente.

ToolFunção principalQuando usar
changesMostra diffs de arquivos modificadosRevisar alterações recentes
editLê e edita arquivos do workspaceCorrigir YAML, Dockerfile, código etc
extensionsBusca extensões no MarketplaceRecomendar ou instalar plugins
fetchFaz requisições HTTP simplesBuscar dados ou exemplos da web
githubRepoPesquisa código em repositórios GitHubEncontrar padrões ou vulnerabilidades
newCria um novo workspace/projetoScaffold de apps
openSimpleBrowserAbre uma página local no VS CodeVisualizar UI local ou documentação
problemsLê e analisa erros e warningsRevisar lint, build e erros de código
runCommandsExecuta comandos no terminalRodar docker, git, terraform etc
runNotebooksExecuta células de notebooksData science e ML
runTasksExecuta tarefas do .vscode/tasks.jsonAutomatização
searchPesquisa e lê conteúdo em arquivosLocalizar código e configurações
testFailureMostra falhas de testesAnalisar testes quebrados
todosGerencia TODOs e FIXMEsRevisar pendências
usagesMostra referências e usos de símbolosRefatoração e análise
vscodeAPIUsa a API interna do VS CodeCriação de extensões

🧑‍💻 3. Exemplo de agente DevSecOps (somente com tools nativas)

---
mode: agent
description: "Agente DevSecOps — segurança, automação e boas práticas."
tools: [runCommands, edit, search, problems]
---
Você é um engenheiro **DevSecOps**.
Use o terminal e o editor para revisar arquivos YAML e Dockerfile,
rodar verificações de segurança e sugerir hardening.

Esse agente consegue:

  • Analisar docker-compose.yml
  • Executar comandos como docker-compose config
  • Editar arquivos inseguros
  • Relatar problemas do VS Code (lint, build etc.)

🌐 4. Quando usar MCP (Model Context Protocol)

O MCP é um protocolo que permite conectar ferramentas externas reais ao VS Code Chat.
Isso é necessário quando você quer usar:

  • Docker 🐳
  • Kubernetes ☸️
  • Terraform 🪴
  • Trivy 🔍
  • Git avançado 🧩

Essas ferramentas não são nativas, então precisam ser adicionadas via MCP Server.


🔌 5. Como funcionam os MCP Servers

Um MCP Server é um serviço local (ou remoto) que “expõe” comandos e APIs como ferramentas para o Copilot Chat.

Estrutura básica

mcp.json   → manifesto descrevendo as ferramentas
server.js → implementação das tools (Node.js, Python, etc.)

Exemplo de manifesto:

{
"name": "docker-mcp",
"tools": [
{ "name": "docker.ps", "description": "Lista containers" },
{ "name": "docker.logs", "description": "Exibe logs de um container" }
]
}

⚙️ 6. Configurando MCP no VS Code

  1. Vá em ⚙️ → MCP Servers
  2. Clique em Add Server
  3. Adicione algo como:
{
"name": "docker",
"command": "npx",
"args": ["@modelcontext/docker-mcp", "serve"]
}
  1. Salve e reinicie o VS Code Chat.
  2. Agora, no seu .prompt.md, adicione:
tools: [edit, runCommands, docker, kubernetes]

🧱 7. Exemplo completo — DevSecOps com MCP

---
mode: agent
description: "Agente DevSecOps — segurança, automação e IaC."
tools: [edit, runCommands, docker, kubernetes, terraform, trivy]
---
Você é um engenheiro **DevSecOps** com foco em segurança de containers, infraestrutura e código.

### Objetivos
- Rodar `docker ps` e analisar containers vulneráveis.
- Executar `trivy image` e reportar vulnerabilidades.
- Auditar `terraform plan` e propor correções seguras.
- Revisar configurações de `kubernetes` com boas práticas.

Com os MCPs conectados, o agente pode realmente:

  • Executar comandos Docker e K8s,
  • Ler os resultados,
  • Corrigir arquivos,
  • E sugerir melhorias de segurança.

🧠 8. Resumo rápido

CategoriaFerramentasConfiguração
Nativas (Built-in)edit, runCommands, search, problems, todos, changes, fetch...Nenhuma — já disponíveis
Externas (via MCP)docker, kubernetes, terraform, trivy, git (avançado)Precisa registrar MCP Server
Modo de usoCampo tools: no .prompt.mdDefine o que o agente pode usar

🧭 Conclusão

O campo tools: é o que define o “alcance” do seu agente.
Use as built-in tools para tarefas locais de código, e MCPs para conectar o agente a ferramentas do mundo real — como Docker, Kubernetes e scanners de segurança.

Com isso, o VS Code Chat se transforma em um assistente DevSecOps completo, capaz de entender, auditar e automatizar todo o ciclo de desenvolvimento.


💡 Dica final:
Comece com tools: [edit, runCommands, search], depois adicione MCPs gradualmente para estender o poder do seu agente.