Voltar as noticias
Servidor MCP com Spring Boot em 2026: O Armadilha do Transporte que Desperdiça Seu Fim de Semana
MCP ProtocolAltaEN

Servidor MCP com Spring Boot em 2026: O Armadilha do Transporte que Desperdiça Seu Fim de Semana

Dev.to - MCP·25 de junho de 2026

Eu passei uma tarde olhando para "conexão recusada" no meu primeiro servidor MCP.

A correção foi uma linha de configuração. Aqui está o que nenhum README te diz de imediato.

O que é realmente o MCP (em 60 segundos)

O Modelo de Contexto de Protocolo é o padrão que permite que agentes de IA — Claude, GitHub
Copilot, Cursor — chamem seu código como uma ferramenta. Em vez de a IA apenas gerar
texto, ela pode realmente invocar suas funções e obter dados reais de volta.

Pense nisso como dar a Claude um conjunto de chaves para portas específicas no seu
backend Java. Ele pergunta "você pode executar esta consulta?" — seu servidor MCP a executa, retorna
o resultado — Claude usa esse resultado em sua resposta.

Para equipes Java, isso é significativo. Existem milhões de serviços Spring Boot
em produção agora que agentes de IA não podem acessar. O MCP muda isso.

Aqui está o servidor totalmente funcional — um servidor Spring Boot MCP que expõe
consultas de banco de dados, chamadas de API REST e acesso ao sistema de arquivos como ferramentas
que qualquer agente de IA pode chamar.

O servidor totalmente funcional (pronto para copiar e colar)

Dependências do Maven:

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
</dependency>
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.ai</groupId>
      <artifactId>spring-ai-bom</artifactId>
      <version>1.0.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Seu primeiro ferramenta:

@Service
public class DatabaseMcpTools {

    @Autowired private JdbcTemplate jdbc;

    @Tool(description = "Executar uma consulta SQL somente leitura no banco de dados da aplicação")
    public String queryDatabase(
        @ToolParam(description = "Consulta SQL SELECT a ser executada") String sql
    ) {
        if (!sql.trim().toUpperCase().startsWith("SELECT")) {
            return "Erro: apenas consultas SELECT são permitidas";
        }
        return jdbc.queryForList(sql).toString();
    }

    @Tool(description = "Listar todas as tabelas no esquema do banco de dados")
    public String listTables() {
        return jdbc.queryForList(
            "SELECT table_name FROM information_schema.tables " +
            "WHERE table_schema = 'public'"
        ).toString();
    }
}

application.yml:

spring:
  ai:
    mcp:
      server:
        name: meu-servidor-mcp
        version: 1.0.0
        instructions: "Fornece consulta de banco de dados e ferramentas de listagem de tabelas."

Execute-o:

mvn spring-boot:run

Testando: conecte-se ao Claude Desktop

Adicione a ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "meu-servidor-spring": {
      "command": "java",
      "args": ["-jar", "/caminho/absoluto/para/seu-servidor.jar"]
    }
  }
}

Reinicie o Claude Desktop. Você deve ver um ícone de 🔨 martelo na entrada de chat.
Clique nele — os nomes das suas ferramentas devem aparecer. Digite:

"Liste todas as tabelas no banco de dados"

Claude chama sua ferramenta, seus logs do Spring Boot disparam, Claude recebe dados reais de volta.
Essa é sua primeira integração MCP funcional.

A ARMADILHA: SSE vs stdio

Aqui está o que me queimou. Existem dois transportes e eles não são

Contexto Triplo Up

A implementação do Model Context Protocol pode revolucionar a forma como empresas brasileiras utilizam IA em seus sistemas. Com a capacidade de agentes de IA acessarem dados em tempo real, as empresas podem otimizar processos e melhorar a eficiência. Isso é crucial em um mercado cada vez mais competitivo.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.