O VS Code 1.99 introduz o suporte ao protocolo de contexto de modelo.
Código do Visual Studio ( VS Code
Em sua versão 1.99, o protocolo de contexto de modelo (MCP) foi formalmente introduzido. MCP
). O MCP é um padrão aberto projetado para fornecer uma interface unificada que permite que os modelos de IA interajam com ferramentas e serviços externos.
MCP
foi introduzido principalmente para aprimorar o Copiloto do GitHub O MCP Server é um protocolo que permite aos desenvolvedores configurar servidores MCP para acessar ferramentas e serviços personalizados no modo Agente. Com esse protocolo, os desenvolvedores podem configurar o servidor MCP para conectar ferramentas e serviços personalizados ao VS Code
em fluxos de trabalho de IA, expandindo consideravelmente o potencial dos assistentes de IA para executar uma gama mais ampla de tarefas mais dinâmicas, como consultar dados em tempo real, manipular arquivos locais ou invocar API
.
Pré-requisitos: habilitar o modo Agente e as dependências do ambiente
VS Code
1,99 MCP
Integrado ao GitHub Copiloto no modo Agente. Portanto, para usar o MCP
o modo Agent deve ser ativado primeiro. Isso pode ser feito com a função VS Code
O menu suspenso na parte superior da visualização do Chat faz isso.
Outra coisa a se ter em mente, e MCP
Um feedback comum que está sendo enfrentado é que a execução de MCP
O servidor pode precisar ser pré-instalado Node.js
e Docker
ou outras dependências. Isso ocorre porque muitas MCP
As implementações de servidor (especialmente para a execução de scripts ou ferramentas em contêineres) dependem desses ambientes externos. Embora isso acrescente complexidade à configuração inicial, também oferece a flexibilidade de se conectar a uma variedade de ferramentas avançadas de personalização.
Configuração do servidor MCP
existir VS Code
Médio.MCP
A configuração principal está localizada na seção .vscode/mcp.json
dentro do arquivo. Por meio desse JSON
você pode definir um ou mais arquivos MCP
o modo Agente usará as ferramentas fornecidas por esses servidores.
Etapa 1: Criar um perfil de MCP
- Abra a pasta de seu projeto em
VS Code
Médio. - No diretório raiz do projeto, localize ou crie um arquivo chamado
.vscode
da pasta. - existir
.vscode
crie um arquivo chamadomcp.json
do documento. - Adicione o seguinte modelo de configuração básica ao
mcp.json
Documentação:{ "servers": { "example-server": { "type": "stdio", "command": "node", "args": ["path/to/your/script.js"] } } }
Nessa configuração:
servers
Objeto que define todos osMCP
servidores, cada chave é um nome de servidor exclusivo (por exemplo, "example-server").type
Tipo de comunicação: Especifica o tipo de comunicação para o servidor. Os tipos comuns incluem:stdio
Entrada/Saída Padrão (SIO): O servidor está conectado ao servidor por meio de entrada/saída padrão (SIO).VS Code
comunicação, normalmente usado para executar scripts ou executáveis locais.sse
Eventos enviados pelo servidor: O servidor se comunica usando eventos enviados pelo servidor, que são comumente usados para conexão com serviços remotos ou serviços que precisam enviar atualizações continuamente.
command
responder cantandoargs
Comando: Define os comandos e seus parâmetros necessários para iniciar esse servidor. Neste exemplo, ele usará o comandoNode.js
para executar umJavaScript
Documentação.
Etapa 2: Adicionar configuração específica do servidor
Você pode editar manualmente mcp.json
para adicionar um servidor, ou você pode usar o arquivo VS Code
A maneira conveniente fornecida pelo Painel de Comando:
- Abra o Command Panel (tecla de atalho)
Ctrl+Shift+P
talvezCmd+Shift+P
). - Digite e execute
MCP: Add Server
Comando. - opção
Workspace Settings
(matemática) gêneroVS Code
abrirá ou criará automaticamente.vscode/mcp.json
e pode fornecer prompts inteligentes (IntelliSense) para ajudá-lo na configuração.
A seguir, uma configuração chamada fetch
exemplo de servidor, que usa o uvx
comando para executar mcp-server-fetch
que foi projetada para recuperar o conteúdo de uma página da Web em um URL especificado:
{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
Etapa 3: Manuseio seguro de informações confidenciais
Hardcoding no arquivo de configuração API
As chaves ou outras credenciais confidenciais não são seguras.MCP
O uso de variáveis de entrada é suportado para lidar com essa situação. Quando a VS Code
O usuário é solicitado a fornecer informações ao iniciar um servidor que requer essas variáveis.
{
"inputs": [
{
"type": "promptString",
"id": "api-key",
"description": "Your API Key",
"password": true
}
],
"servers": {
"perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:api-key}"
}
}
}
}
Neste exemplo:
inputs
As matrizes definem variáveis que exigem entrada do usuário. Aqui, umaID
por causa deapi-key
do tipo de senha inserido.password: true
Certifique-se de que o conteúdo esteja oculto enquanto você digita.- Na configuração do servidor do
env
Parte.${input:api-key}
A sintaxe faz referência a uma variável de entrada definida anteriormente.VS Code
será responsável por armazenar com segurança e passar esse valor para a variável de ambiente do processo do servidorPERPLEXITY_API_KEY
.
Uso e gerenciamento de ferramentas MCP
Ativação do modo de agente e descoberta de ferramentas
Quando você tiver configurado corretamente o .vscode/mcp.json
e salve-o, depois mude para GitHub Copilot
Modo de agente (selecionado por meio do menu suspenso na parte superior da visualização do Chat) Agent
). O modo Agente detecta e carrega automaticamente os servidores definidos no arquivo de configuração e as ferramentas que eles fornecem.
ferramenta de invocação
Depois que os servidores e as ferramentas forem reconhecidos pelo esquema do Agente, você poderá invocá-los na visualização do Chat, seja em linguagem natural ou com comandos específicos. Por exemplo:
- Se você configurar o
fetch
servidores que podem ser inseridos:@workspace /fetch https://bytenote.net
para obter o conteúdo da página. - Se você configurar uma consulta de tempo capaz de
MCP
servidor, tente perguntar:@workspace What's the time in Saigon?
O agente analisa sua solicitação, determina se precisa chamar uma ferramenta externa e se comunica com a ferramenta apropriada. MCP
interação com o servidor para obter os resultados.
Gerenciamento do status do servidor
Às vezes, você precisa visualizar o status de um servidor configurado ou gerenciá-lo (iniciar, parar, visualizar registros etc.).
- Abra o painel de comando (
Ctrl+Shift+P
talvezCmd+Shift+P
). - Digite e execute
MCP: List Servers
Comando. - Isso abre uma exibição que lista todos os arquivos na pasta
mcp.json
e seu estado atual (por exemploStarted
,Stopped
). - Você pode clicar em um servidor na lista para executar ações como iniciá-lo, pará-lo ou reiniciá-lo e visualizar seus registros de saída, o que é útil para depurar as configurações do servidor.
Exemplo de configuração avançada
Configuração de vários servidores
mcp.json
O arquivo pode definir vários servidores, cada um fornecendo uma funcionalidade diferente.
{
"inputs": [
{
"type": "promptString",
"id": "perplexity-key",
"description": "Perplexity API Key",
"password": true
}
],
"servers": {
"Perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:perplexity-key}"
}
},
"Fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"RemoteServer": {
"type": "sse",
"url": "http://api.example.com/sse",
"headers": {
"VERSION": "1.2"
}
}
}
}
Essa configuração define três servidores:
Perplexity
: UsoDocker
A execução de uma ferramenta, que pode ser usada para realizar pesquisas ou questionários complexos, requerAPI
Chave.Fetch
: Usouvx
Execute uma ferramenta local para rastrear o conteúdo da Web.RemoteServer
Conexão com um controle remotoSSE
Um ponto de extremidade de serviço que pode ser usado para receber notificações ou fluxos de dados em tempo real. Observaçãosse
Tipo necessáriourl
e pode conter parâmetrosheaders
.
Uso de variáveis predefinidas
MCP
A configuração suporta diversas variáveis predefinidas para facilitar a referência de informações contextuais.
{
"servers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
}
}
}
Neste exemplo, o${workspaceFolder}
é uma variável predefinida que será substituída pela variável VS Code
O caminho do diretório raiz do espaço de trabalho aberto. Isso é útil para ferramentas que precisam de acesso a arquivos de projeto.
aprovar (um projeto de lei ou inspeção etc.) MCP
(matemática) gêneroVS Code
abre a porta para que os desenvolvedores integrem os assistentes de IA mais profundamente em seu fluxo de trabalho de desenvolvimento diário com o poder das ferramentas externas. Embora a configuração inicial possa envolver alguma configuração de ambiente, a personalização e a expansão de recursos que ela proporciona são consideráveis.