📖 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.
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.
- ☕ Java 21
- 🍃 Spring Boot 3.5.5
- 🤖 Spring AI 1.0.1
- 📦 Maven
- 🔧 Spring Actuator
- 📋 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
- Java 21 ou superior
- Maven 3.6+
-
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
- 🏠 Health Check:
/actuator/health
- 📊 Métricas:
/actuator/metrics
- 🛠️ Tools MCP: Expostos automaticamente pelo Spring AI
As configurações da aplicação estão no arquivo src/main/resources/application.properties
.
src/
├── main/
│ ├── java/
│ │ └── com/example/mcpserver/
│ │ ├── McpServerApplication.java # 🏁 Classe principal
│ │ └── FluxosService.java # 🔧 Service com tools
│ └── resources/
│ └── application.properties # ⚙️ Configurações
└── test/ # 🧪 Testes
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";
}
}
Este projeto está licenciado sob a MIT License.
- 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
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!