Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-6514 — mcp-remote exposto a injeção de comandos do SO | Kitploit
Ferramentas/GitHubGitHub/cyberency/cve-2025-6514
Análise de VulnerabilidadesSegurança WebComando e ControleUtilitários e FrameworksAutenticaçãoSegurança de API
GitHubcyberency/cve-2025-6514

CVE-2025-6514

mcp-remote exposto a injeção de comandos do SO

Ver Repositório
713há 9 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

mcp-remote

Conecte um Cliente MCP que só suporta servidores locais (stdio) a um Servidor MCP Remoto, com suporte a autenticação:

Nota: isto é uma prova de conceito funcional, mas deve ser considerado experimental.

Por que isto é necessário?

Até agora, a maioria dos servidores MCP encontrados por aí são instalados localmente, usando o transporte stdio. Isso tem alguns benefícios: tanto o cliente quanto o servidor podem confiar implicitamente um no outro, uma vez que o usuário concedeu a ambos permissão para executar. Adicionar segredos como chaves de API pode ser feito usando variáveis de ambiente e eles nunca saem da sua máquina. E construir com base em npx e uvx também permitiu que os usuários evitassem etapas explícitas de instalação.

Mas há uma razão pela qual a maior parte do software que poderia ser movido para a web foi movida para a web: é muito mais fácil encontrar e corrigir bugs e iterar em novos recursos quando você pode enviar atualizações para todos os seus usuários com uma única implantação.

Com a mais recente especificação de Autorização do MCP, agora temos uma forma segura de compartilhar nossos servidores MCP com o mundo sem executar código nos laptops dos usuários. Ou, pelo menos, você teria, se todos os clientes MCP populares já a suportassem. A maioria é apenas stdio, e aqueles que suportam HTTP+SSE ainda não suportam os fluxos OAuth necessários.

É aí que entra o mcp-remote. Assim que o cliente MCP de sua escolha suportar servidores remotos autorizados, você pode removê-lo. Até lá, insira este one-liner e prepare-se para os clientes MCP que você quiser!

Baixar ferramenta

Uso

Todos os clientes MCP mais populares (Claude Desktop, Cursor e Windsurf) usam o seguinte formato de configuração:

root@kitploit:~
{
  "mcpServers": {
    "remote-example": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse"
      ]
    }
  }
}

Cabeçalhos Personalizados

Para contornar a autenticação ou emitir cabeçalhos personalizados em todas as solicitações ao seu servidor remoto, passe os argumentos de CLI --header:

root@kitploit:~
{
  "mcpServers": {
    "remote-example": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "--header",
        "Authorization: Bearer ${AUTH_TOKEN}"
      ],
      "env": {
        "AUTH_TOKEN": "..."
      }
    },
  }
}

Nota: O Cursor e o Claude Desktop (Windows) têm um bug em que espaços dentro de args não são escapados quando ele invoca o npx, o que acaba danificando esses valores. Você pode contornar isso usando:

root@kitploit:~
{
  // rest of config...
  "args": [
    "mcp-remote",
    "https://remote.mcp.server/sse",
    "--header",
    "Authorization:${AUTH_HEADER}" // note no spaces around ':'
  ],
  "env": {
    "AUTH_HEADER": "Bearer <auth-token>" // spaces OK in env vars
  }
},

Flags

  • Se o npx estiver gerando erros, considere adicionar -y como o primeiro argumento para aceitar automaticamente a instalação do pacote mcp-remote.
root@kitploit:~
      "command": "npx",
      "args": [
        "-y"
        "mcp-remote",
        "https://remote.mcp.server/sse"
      ]
  • Para forçar o npx a sempre verificar se há uma versão atualizada do mcp-remote, adicione a flag @latest:
root@kitploit:~
      "args": [
        "mcp-remote@latest",
        "https://remote.mcp.server/sse"
      ]
  • Para alterar em qual porta o mcp-remote escuta um redirecionamento OAuth (por padrão, 3334), adicione um argumento adicional após a URL do servidor. Observe que, independentemente da porta especificada, se ela não estiver disponível, uma porta aberta será escolhida aleatoriamente.
root@kitploit:~
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "9696"
      ]
  • Para alterar qual host o mcp-remote registra como URL de callback OAuth (por padrão, localhost), adicione a flag --host.
root@kitploit:~
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "--host",
        "127.0.0.1"
      ]
  • Para permitir conexões HTTP em redes privadas confiáveis, adicione a flag --allow-http. Nota: Isso deve ser usado apenas em redes privadas seguras, onde o tráfego não pode ser interceptado.
root@kitploit:~
      "args": [
        "mcp-remote",
        "http://internal-service.vpc/sse",
        "--allow-http"
      ]
  • Para habilitar logs de depuração detalhados, adicione a flag --debug. Isso gravará logs detalhados em ~/.mcp-auth/{server_hash}_debug.log com registros de data e hora e informações detalhadas sobre o processo de autenticação, conexões e renovação de tokens.
root@kitploit:~
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "--debug"
      ]
  • Para habilitar um proxy HTTP(S) de saída para o mcp-remote, adicione a flag --enable-proxy. Quando habilitado, o mcp-remote usará as configurações de proxy de variáveis de ambiente comuns (por exemplo, HTTP_PROXY, HTTPS_PROXY e NO_PROXY).
root@kitploit:~
    "args": [
      "mcp-remote",
      "https://remote.mcp.server/sse",
      "--enable-proxy"
    ],
    "env": {
      "HTTPS_PROXY": "http://127.0.0.1:3128",
      "NO_PROXY": "localhost,127.0.0.1"
    }
  • Para ignorar ferramentas específicas do servidor remoto, adicione a flag --ignore-tool. Isso filtrará as ferramentas que correspondem aos padrões especificados tanto nas respostas de tools/list quanto bloqueará solicitações de tools/call. Suporta padrões curinga com *.
root@kitploit:~
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "--ignore-tool",
        "delete*",
        "--ignore-tool",
        "remove*"
      ]

Você pode especificar várias flags --ignore-tool para ignorar padrões diferentes. Exemplos:

  • delete* - ignora todas as ferramentas que começam com "delete" (ex.: deleteTask, deleteUser)
  • *account - ignora todas as ferramentas que terminam com "account" (ex.: getAccount, updateAccount)
  • exactTool - ignora apenas a ferramenta chamada exatamente "exactTool"
  • Para alterar o tempo limite do callback OAuth (por padrão, 30 segundos), adicione a flag --auth-timeout com um valor em segundos. Isso é útil se o processo de autenticação no lado do servidor demorar muito.
root@kitploit:~
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse",
        "--auth-timeout",
        "60"
      ]

Estratégias de Transporte

O MCP Remote suporta diferentes estratégias de transporte ao conectar-se a um servidor MCP. Isso permite controlar se ele usa Server-Sent Events (SSE) ou transporte HTTP, e em que ordem tenta cada um.

Especifique a estratégia de transporte com a flag --transport:

root@kitploit:~
npx mcp-remote https://example.remote/server --transport sse-only

Estratégias disponíveis:

  • http-first (padrão): tenta o transporte HTTP primeiro e recorre ao SSE se o HTTP falhar com erro 404
  • sse-first: tenta o transporte SSE primeiro e recorre ao HTTP se o SSE falhar com erro 405
  • http-only: usa apenas o transporte HTTP; falha se o servidor não o suportar
  • sse-only: usa apenas o transporte SSE; falha se o servidor não o suportar

Metadados Estáticos do Cliente OAuth

O MCP Remote suporta o fornecimento de metadados estáticos do cliente OAuth em vez de usar os padrões do mcp-remote. Isso é útil ao conectar-se a servidores OAuth que esperam IDs ou escopos específicos de cliente/software.

Forneça os metadados do cliente como uma string JSON ou como um caminho de arquivo com prefixo @ usando a flag --static-oauth-client-metadata:

root@kitploit:~
npx mcp-remote https://example.remote/server --static-oauth-client-metadata '{ "scope": "space separated scopes" }'
# uses node readfile, so you probably want to use absolute paths if you're not sure what the cwd is
npx mcp-remote https://example.remote/server --static-oauth-client-metadata '@/Users/username/Library/Application Support/Claude/oauth_client_metadata.json'

Informações Estáticas do Cliente OAuth

De acordo com a especificação, os servidores são incentivados, mas não obrigados, a suportar o registro dinâmico de clientes OAuth.

Para esses servidores, o MCP Remote suporta o fornecimento de informações estáticas do cliente OAuth. Isso é útil ao conectar-se a servidores OAuth que exigem clientes pré-registrados.

Forneça os metadados do cliente como uma string JSON ou como um caminho de arquivo com prefixo @ usando a flag --static-oauth-client-info:

root@kitploit:~
export MCP_REMOTE_CLIENT_ID=xxx
export MCP_REMOTE_CLIENT_SECRET=yyy
npx mcp-remote https://example.remote/server --static-oauth-client-info "{ \"client_id\": \"$MCP_REMOTE_CLIENT_ID\", \"client_secret\": \"$MCP_REMOTE_CLIENT_SECRET\" }"
# uses node readfile, so you probably want to use absolute paths if you're not sure what the cwd is
npx mcp-remote https://example.remote/server --static-oauth-client-info '@/Users/username/Library/Application Support/Claude/oauth_client_info.json'

Claude Desktop

Documentação Oficial

Para adicionar um servidor MCP ao Claude Desktop, você precisa editar o arquivo de configuração localizado em:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Se ele ainda não existir, talvez seja necessário ativá-lo em Configurações > Desenvolvedor.

Reinicie o Claude Desktop para aplicar as alterações no arquivo de configuração. Após reiniciar, você deve ver um ícone de martelo no canto inferior direito da caixa de entrada.

Cursor

Documentação Oficial. O arquivo de configuração está localizado em ~/.cursor/mcp.json.

Desde a versão 0.48.0, o Cursor suporta servidores SSE sem autenticação diretamente. Se o seu servidor MCP estiver usando o protocolo oficial de autorização OAuth do MCP, você ainda precisa adicionar um servidor "command" e chamar o mcp-remote.

Windsurf

Documentação Oficial. O arquivo de configuração está localizado em ~/.codeium/windsurf/mcp_config.json.

Construindo Servidores MCP Remotos

Para instruções sobre como construir e implantar servidores MCP remotos, incluindo atuar como um cliente OAuth válido, consulte os seguintes recursos:

  • https://developers.cloudflare.com/agents/guides/remote-mcp-server/

Em particular, consulte:

  • https://github.com/cloudflare/workers-oauth-provider para definir um servidor OAuth compatível com MCP no Cloudflare Workers
  • https://github.com/cloudflare/agents/tree/main/examples/mcp para definir um McpAgent usando o framework agents.

Para obter mais informações sobre como testar esses servidores, consulte também:

  • https://developers.cloudflare.com/agents/guides/test-remote-mcp-server/

Conhece mais recursos que gostaria de compartilhar? Por favor, adicione-os a este Readme e envie um PR!

Solução de Problemas

Limpe seu diretório ~/.mcp-auth

O mcp-remote armazena todas as informações de credenciais dentro de ~/.mcp-auth (ou onde quer que seu MCP_REMOTE_CONFIG_DIR aponte). Se você estiver tendo problemas persistentes, tente executar:

root@kitploit:~
rm -rf ~/.mcp-auth

Em seguida, reinicie seu cliente MCP.

Verifique sua versão do Node

Certifique-se de que a versão do Node que você tem instalada é 18 ou superior. O Claude Desktop usará a versão do Node do seu sistema, mesmo que você tenha uma versão mais nova instalada em outro lugar.

Reinicie o Claude

Ao modificar o claude_desktop_config.json, pode ser útil reiniciar completamente o Claude.

Certificados de VPN

Você pode encontrar problemas se estiver atrás de uma VPN; tente definir a variável de ambiente NODE_EXTRA_CA_CERTS para apontar para o arquivo de certificado da CA. Se estiver usando claude_desktop_config.json, isso pode parecer:

root@kitploit:~
{
 "mcpServers": {
    "remote-example": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://remote.mcp.server/sse"
      ],
      "env": {
        "NODE_EXTRA_CA_CERTS": "{your CA certificate file path}.pem"
      }
    }
  }
}

Verifique os logs

  • Acompanhe os logs do Claude Desktop em tempo real
  • MacOS / Linux:
    tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
  • Para bash no WSL:
    tail -n 20 -f "C:\Users\YourUsername\AppData\Local\Claude\Logs\mcp.log"
  • Powershell:
    Get-Content "C:\Users\YourUsername\AppData\Local\Claude\Logs\mcp.log" -Wait -Tail 20

Depuração

Logs de Depuração

Para solucionar problemas complexos, especialmente com renovação de tokens ou problemas de autenticação, use a flag --debug:

root@kitploit:~
"args": [
  "mcp-remote",
  "https://remote.mcp.server/sse",
  "--debug"
]

Isso cria logs detalhados em ~/.mcp-auth/{server_hash}_debug.log com registros de data e hora e informações completas sobre cada etapa do processo de conexão e autenticação. Quando você encontrar problemas com renovação de tokens, problemas de suspensão/retomada do laptop ou problemas de autenticação, forneça esses logs ao buscar suporte.

Erros de Autenticação

Se você encontrar o seguinte erro, retornado pela URL /callback:

root@kitploit:~
Authentication Error
Token exchange failed: HTTP 400

Você pode executar rm -rf ~/.mcp-auth para limpar qualquer estado e tokens armazenados localmente.

Modo "Cliente"

Execute o seguinte na linha de comando (não a partir de um servidor MCP):

root@kitploit:~
npx -p mcp-remote@latest mcp-remote-client https://remote.mcp.server/sse

Isso executará todo o fluxo de autorização e tentará listar as ferramentas e os recursos na URL remota. Experimente isso depois de executar rm -rf ~/.mcp-auth para ver se credenciais desatualizadas são o seu problema; caso contrário, esperamos que o problema fique mais óbvio nesses logs do que nos do seu cliente MCP.