haryelnascimento/mcp-server-spring-boot
If you are the rightful owner of mcp-server-spring-boot and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This project is a RESTful API developed in Spring Boot 3 to demonstrate integration via the Model Context Protocol (MCP), enabling AI agents like GitHub Copilot to interact with the API intelligently and automatically.
MCP Server com Spring Boot
Este projeto é uma API RESTful desenvolvida em Spring Boot 3 para demonstrar a integração via Model Context Protocol (MCP), permitindo que agentes de IA como o GitHub Copilot interajam com a API de forma inteligente e automatizada.
đ€ Permitindo executar comandos via linguagem natural no GitHub Copilot
-
Consultar usuĂĄrios pelos filtros de nome, email, status e perfil
-
Buscar o usuĂĄrio com ID X
-
Criar vĂĄrios usuĂĄrios com dados fictĂcios
-
Atualizar o email do usuĂĄrio com ID X
-
Remover o usuĂĄrio com ID Y
O que Ă© o Model Context Protocol (MCP)?
O Model Context Protocol (MCP) Ă© um protocolo aberto que permite conectar agentes de IA (como o GitHub Copilot) a aplicaçÔes externas, expondo mĂ©todos do seu backend como "ferramentas" acessĂveis por linguagem natural. Com o MCP, vocĂȘ pode:
- Automatizar tarefas: Expor operaçÔes do seu sistema para serem executadas por IA, como criar, buscar ou atualizar dados.
- Integrar com assistentes: Permitir que ferramentas como Copilot Chat, scripts ou outros clientes interajam com sua API de forma inteligente.
- Testar e depurar: Usar interfaces como o MCP Inspector para explorar e testar as ferramentas expostas.
Tipos de AplicaçÔes MCP
- Servidores MCP: Backends (como este projeto) que expÔem métodos via MCP.
- Clientes MCP: Ferramentas, IAs ou interfaces (VSCode, Copilot, MCP Inspector) que consomem essas ferramentas.
- Proxies MCP: Intermediårios que facilitam a comunicação entre clientes e servidores MCP (ex: MCPP do MCP Inspector).
Saiba mais sobre o MCP em Model Context Protocol
đ Tecnologias Utilizadas
- Java 21
- Spring Boot 3.x
- Spring Data JPA
- PostgreSQL 17
- Docker e Docker Compose
- GitHub Copilot (via MCP)
đ Estrutura de Pastas
src/
âââ main/
âââ java/
â âââ br.com.mcp.mcp_server
â âââ domain
â âââ application
â âââ infrastructure
â âââ shared
âââ resources/
âââ db/
â âââ changelog/
â âââ db.changelog-master.yaml
â âââ create-table-usuario.yaml
âââ application.yml
âïž Como Rodar o Projeto
1. Clone o repositĂłrio
git clone https://github.com/haryelnascimento/mcp-server-spring-boot.git
cd mcp-server
2. Suba os containers com Docker Compose
docker compose up -d
3. Execute o projeto
./mvnw spring-boot:run
đĄ Integração com GitHub Copilot (MCP Server)
O projeto jĂĄ estĂĄ preparado para funcionar com a extensĂŁo GitHub Copilot (com suporte ao Model Context Protocol - MCP), permitindo que vocĂȘ interaja com a API por comandos em linguagem natural (em portuguĂȘs ou inglĂȘs), diretamente no VSCode.
â PrĂ©-requisitos
- GitHub Copilot habilitado na sua conta
- Visual Studio Code instalado
- Projeto rodando com MCP Server (como neste projeto)
- ExtensĂŁo Copilot Chat instalada no VSCode (Preview)
âïž Como configurar no VSCode
1. Abra o projeto no VSCode.
2. Abra o painel do Copilot Chat (Ctrl + Shift + P e digite "Copilot Chat").
- Com o chat aberto, mude para o modo agente (Agent Mode) e clique no Ăcone de ferramentas ou use o atalho (Ctrl + Shift + /).
3. Preencha as informaçÔes solicitadas para adicionar o MCP Server:
- Arquivos
.vscode/mcp.json
na raiz do projeto.
{
"servers": {
"mcp-server": {
"type": "sse",
"url": "http://localhost:8080/sse",
"headers": {
"authorization": "basic Y2xpZW50OnNlY3JldA=="
}
}
}
}
- O valor do authorization Ă© a string client:secret codificada em Base64.
O agente AI reconhecerå a ferramenta exposta com @Tool no seu projeto e farå chamadas reais para os métodos do serviço Java.
đŹ Como funciona nos bastidores?
O MCP Server Starter para Spring Boot permite que vocĂȘ exponha mĂ©todos do seu backend como ferramentas acessĂveis por agentes de IA.
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
<version>1.0.0</version>
</dependency>
Ele utiliza anotaçÔes especĂficas para identificar mĂ©todos que podem ser chamados via linguagem natural. VocĂȘ anota seu mĂ©todo com @Tool:
@Tool(
name = "listarTodosUsuarios",
description = "Lista todos os usuĂĄrios cadastrados no sistema."
)
@Transactional(readOnly = true)
public List<Usuario> listarTodos() {
return usuarioRepository.findAll();
}
Isso gera uma interface de ferramenta que o Copilot pode "entender", permitindo interaçÔes diretas sem precisar conhecer o código.
Saiba mais sobre Spring AI MCP Server Starter
đ Dica para visualizar as tools disponĂveis com o MCP Inspector
O MCP Inspector Ă© uma ferramenta de desenvolvedor feita para testar e depurar servidores MCP de forma visual e interativa, direto no navegador.
đ O que Ă© o MCP Inspector?
Ele Ă© composto por dois componentes:
-
MCPI (MCP Inspector Client): Uma interface web em React que permite explorar e testar ferramentas expostas no seu servidor MCP.
-
MCPP (MCP Proxy): Um servidor Node.js que conecta o navegador ao servidor MCP (via stdio, SSE, ou streamable-http).
O MCPP nĂŁo Ă© um proxy de rede tradicional. Ele atua como um cliente MCP e expĂ”e o conteĂșdo em uma interface web.
â Requisitos
- Node.js 22.7.5 ou superior (recomendado: nvm install 22 && nvm use 22)
âïž Como executar
No terminal (com seu MCP Server jå em execução):
npx @modelcontextprotocol/inspector
A interface serĂĄ aberta automaticamente no navegador em:
http://localhost:6274