mcp-server-spring-boot

haryelnascimento/mcp-server-spring-boot

3.2

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.

Tools
1
Resources
0
Prompts
0

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 MCP Inspector

  • Buscar o usuĂĄrio com ID X MCP Inspector

  • Criar vĂĄrios usuĂĄrios com dados fictĂ­cios MCP Inspector

  • Atualizar o email do usuĂĄrio com ID X MCP Inspector

  • Remover o usuĂĄrio com ID Y MCP Inspector

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").

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.

Conectando ao MCP-Server


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

đŸ–Œïž Console MCP Inspector

MCP Inspector