Servidores MCP

Um servidor MCP é uma dependência que fala com o seu modelo

Ele roda na sua máquina com as suas permissões, como qualquer pacote. Diferente de um pacote, as descrições das ferramentas dele caem dentro do contexto do modelo, onde são lidas como instruções. A segurança de um servidor MCP precisa dar conta das duas metades.

descrições são prompt, não documentaçãoservidores stdio herdam o seu ambienteum schema pode mudar depois que você aprovou
Riscos

Riscos de segurança de servidores MCP, na prática

Nenhum deles é exótico. Todos saem de como o protocolo funciona e de onde as pessoas guardam suas credenciais.

tool poisoning

A descrição faz parte do prompt

O nome, a descrição e o schema de parâmetros de uma ferramenta chegam ao modelo como texto. Um servidor pode escrever uma descrição que manda o modelo ler um arquivo e passar o conteúdo como argumento, e o modelo não tem como distinguir isso de uma instrução legítima.

caminho do prompt

entrega de credencial

Um servidor local fica com o que você der

Servidores MCP locais rodam por stdio como processos filhos. Eles recebem o ambiente que você entrega, o que normalmente significa um token de vida longa numa variável. Dali em diante a credencial saiu das suas mãos.

chave exposta

mudança de schema

Você aprovou uma versão, não um comportamento

Descrições e schemas de ferramentas podem mudar na próxima atualização. O servidor que você revisou em março não é necessariamente o que roda em junho, e nada no protocolo faz barulho com essa mudança.

mudança silenciosa

escopo do token

Um token emitido para uma coisa, gasto em outra

Servidores remotos guardam tokens de acesso em seu nome. Um servidor que aceita ou repassa um token emitido para outro recurso vira um procurador bem conveniente para alcançar coisas que você nunca autorizou.

escopo que cresce

sem registro

Não dá para auditar o que você não registrou

A maioria das configurações não guarda registro de qual ferramenta MCP rodou, com quais argumentos, contra qual host. O problema aparece no calendário de outra pessoa, geralmente numa fatura ou num aviso de vazamento.

ponto cego

O fio comum: quem lê as descrições das ferramentas é o modelo, e a credencial está em algum lugar onde o servidor consegue ler. Resolva a segunda metade e a primeira para de conseguir render alguma coisa.

Autenticação

Autenticação MCP e OAuth 2.1

Servidores MCP locais e remotos se autenticam de formas completamente diferentes, e essa diferença pesa mais do que a maioria dos guias de instalação sugere.

Local, por stdio

Não existe etapa de autenticação. O servidor é um processo filho que você iniciou, e ele é tão confiável quanto o ambiente com que você o iniciou. O token que você exportou agora é token do servidor também.

confiança = o seu ambiente

Remoto, por HTTP

O perfil de autorização do MCP se apoia em OAuth 2.1: o cliente descobre o servidor de autorização, você consente no navegador, e o cliente guarda um token de acesso de vida curta com um token de refresh atrás dele.

confiança = o escopo do token

01 · Vida curta ganha de vida longa
Um token OAuth que você pode revogar no painel do provedor é uma posição melhor do que um personal access token colado num arquivo de configuração dois meses atrás.
02 · Tokens deveriam nomear o destinatário
O perfil do MCP espera um token amarrado ao recurso para o qual foi emitido. Um servidor disposto a aceitar um token emitido em outro lugar é um desenho que você deveria recusar.
03 · É no refresh que os tokens vazam
Tokens de refresh vivem mais que todo o resto do fluxo e normalmente acabam em texto puro num arquivo do diretório pessoal. O Sallyport os lacra no cofre e faz o refresh dentro do app.
Boas práticas

Oito checagens antes de instalar um servidor MCP

Nada aqui precisa de um produto. É a revisão que você faria em qualquer dependência, mais as duas perguntas específicas de MCP.

  1. 01

    Fixe a versão

    Instale uma versão específica em vez do que latest resolver hoje. Um servidor que se atualiza sozinho pode mudar as descrições das ferramentas depois que você as aprovou.

  2. 02

    Leia as descrições das ferramentas, não o README

    O README foi escrito para você. As descrições foram escritas para o modelo. Leia as que o modelo vai receber de fato.

  3. 03

    Assuma que um servidor local guarda tudo

    Um servidor stdio é um processo filho com as suas permissões. Dê a ele a credencial mais estreita que ainda resolva, nunca um token de root que estava ali por perto.

  4. 04

    Prefira OAuth a uma chave colada

    Um token revogável e de vida curta ganha de um personal access token numa variável de ambiente, mesmo que a configuração leve cinco minutos a mais.

  5. 05

    Veja a que o token está limitado

    Um recurso, um destinatário. Um servidor que quer um token de escopo amplo, ou que aceita um emitido para outra coisa, já está te dizendo como vai se comportar.

  6. 06

    Um servidor, um trabalho

    Juntar cinco serviços atrás de um único servidor MCP concentra todas as credenciais num processo só. Separe e o pior caso encolhe.

  7. 07

    Guarde registro das chamadas

    Se você não consegue dizer o que um servidor fez na terça passada, você está confiando nele em vez de verificar. Logs são o que transforma um incidente num incidente delimitado.

  8. 08

    Revise de novo a cada atualização

    Trate uma mudança de schema de ferramenta como um bump de dependência: olhe o diff. É a checagem que quase ninguém faz, que é exatamente por isso que ela funciona como ataque.

Pelo portão

Passe seus servidores MCP por um proxy em vez de confiar neles

O Sallyport fica na frente dos servidores MCP com que o seu agente conversa. As chamadas deles sobem a mesma escada que todo o resto e caem no mesmo registro.

  1. 01

    Uma conexão para o agente

    Claude Code, Cursor ou qualquer cliente MCP se conecta ao Sallyport. O Sallyport apresenta http.request, ssh.exec e os servidores upstream que você configurou.

  2. 02

    Os servidores upstream ficam atrás

    Servidores stdio locais e servidores OAuth 2.1 remotos passam os dois pelo proxy. O Sallyport lacra os tokens deles no cofre e faz o refresh dentro do app.

  3. 03

    Toda chamada sobe a escada

    Um cofre trancado nega a chamada. Uma chave marcada para aprovação por chamada levanta um cartão. Fora isso, a aprovação de sessão que você já deu cobre a execução.

  4. 04

    O registro anota

    Criptografado e encadeado por hash enquanto acontece, para que a resposta a "o que aquele servidor fez na terça passada" exista antes de você precisar dela.

Um limite honesto: um servidor MCP local por stdio que você configurar recebe sim a credencial que você vincular a ele. O proxy te dá aprovação e registro das chamadas dele; ele não tira a chave de volta de um processo que você escolheu iniciar.

Perguntas frequentes

Perguntas sobre segurança de servidores MCP

O que é um ataque de tool poisoning?
Um servidor MCP escreve instruções dentro do texto que o modelo lê como metadados da ferramenta: a descrição, o nome de um parâmetro, uma mensagem de erro. O modelo trata como orientação e age. Detecção não leva longe aqui, porque uma instrução plantada é idêntica a uma legítima. O que funciona é garantir que segui-la não alcance nada valioso.
Como sei se um servidor MCP é malicioso?
Muitas vezes você não sabe, e essa é a resposta honesta. Dá para ler as descrições das ferramentas que o modelo vai receber, fixar uma versão, dar a credencial mais estreita que funcione e guardar registro das chamadas. Esses quatro passos transformam uma incógnita numa incógnita delimitada.
O MCP tem autenticação embutida?
Para servidores remotos, o perfil de autorização se apoia em OAuth 2.1 com consentimento no navegador e tokens de acesso com escopo. Para servidores locais por stdio não existe nenhuma etapa de autenticação: o servidor é um processo filho rodando com as suas permissões.
Onde ficam meus tokens OAuth do MCP?
Por padrão, em texto puro num arquivo do diretório pessoal, que é exatamente o primeiro lugar onde malware coletor de credenciais procura. O Sallyport guarda no cofre criptografado e faz o refresh dentro do app.
O Sallyport consegue colocar um servidor MCP em sandbox?
Não, e não vamos dizer o contrário. O Sallyport controla e registra o que as chamadas de um servidor upstream fazem através dele. Ele não coloca o processo do servidor em sandbox, não inspeciona o conteúdo das requisições e não faz firewall no host.

Coloque um portão na frente dos seus servidores MCP

Download grátis. Apple Silicon, macOS 14 ou mais recente. Sem conta, nunca.

$brew install --cask olegsotnikov/tap/sallyport

macOS 14+ · Apple Silicon

Sallyport

O Sallyport executa chamadas de API e comandos SSH pelo seu agente de IA. As chaves ficam em um cofre local no seu Mac; você aprova cada execução e toda ação vai para um registro selado.

© 2026 Sallyport · Código aberto sob Apache-2.0 · Oleg Sotnikov