zsantana/spring-boot-mcp-server
If you are the rightful owner of spring-boot-mcp-server 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 an example of implementing an MCP (Model Context Protocol) Server using Spring Boot 3.5.5 and Spring AI 1.0.1.
🚀 Spring Boot MCP Server
📖 Descrição
Este projeto é um exemplo de implementação de um MCP (Model Context Protocol) Server utilizando Spring Boot 3.5.5 e Spring AI 1.0.1. O servidor fornece ferramentas (tools) que podem ser utilizadas por aplicações de IA para interagir com fluxos de negócio.
🎯 Objetivo
Demonstrar como criar um servidor MCP usando Spring Boot que expõe ferramentas específicas através de anotações, permitindo que sistemas de IA consumam essas funcionalidades de forma padronizada.
⚡ Tecnologias Utilizadas
- ☕ Java 21
- 🍃 Spring Boot 3.5.5
- 🤖 Spring AI 1.0.1
- 📦 Maven
- 🔧 Spring Actuator
🛠️ Funcionalidades
- 📋 Lista de Fluxos: Obtenção de lista de fluxos cadastrados no sistema
- 🔌 Tools API: Exposição de ferramentas através do protocolo MCP
- 📊 Monitoramento: Endpoints de health check via Spring Actuator
🚀 Como Executar
📋 Pré-requisitos
- Java 21 ou superior
- Maven 3.6+
🔧 Instalação e Execução
-
Clone o repositório:
git clone <url-do-repositorio> cd spring-boot-mcp-server
-
Compile o projeto:
mvn clean compile
-
Execute a aplicação:
mvn spring-boot:run
-
Ou execute o JAR:
mvn clean package java -jar target/mcp-server-example-0.0.1-SNAPSHOT.jar
🔗 Endpoints Disponíveis
- 🏠 Health Check:
/actuator/health
- 📊 Métricas:
/actuator/metrics
- 🛠️ Tools MCP: Expostos automaticamente pelo Spring AI
🎛️ Configuração
As configurações da aplicação estão no arquivo src/main/resources/application.properties
.
📁 Estrutura do Projeto
src/
├── main/
│ ├── java/
│ │ └── com/example/mcpserver/
│ │ ├── McpServerApplication.java # 🏁 Classe principal
│ │ └── FluxosService.java # 🔧 Service com tools
│ └── resources/
│ └── application.properties # ⚙️ Configurações
└── test/ # 🧪 Testes
🔧 Como Adicionar Novas Tools
Para adicionar novas ferramentas ao servidor MCP:
- Crie um novo método em uma classe de serviço
- Anote o método com
@Tool(description = "descrição da tool")
- Registre o service como bean no
McpServerApplication
Exemplo:
@Service
public class MinhaNovaService {
@Tool(description = "Descrição da minha nova tool")
public String minhaNovaFuncao(String parametro) {
// Implementação da funcionalidade
return "Resultado";
}
}
📝 Licença
Este projeto está licenciado sob a .
🤝 Contribuição
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
📞 Contato
Para dúvidas ou sugestões, entre em contato através das issues do GitHub.
⭐ Se este projeto foi útil para você, considere dar uma estrela!