gabrafo/mcp-altus
If you are the rightful owner of mcp-altus and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
MCP Altus is a comprehensive AI-based sales assistant platform that integrates Google Gemini, Pipefy (CRM), and Calendly (scheduling).
MCP Altus
Vídeo demonstrativo: https://www.youtube.com/watch?v=MWDJhmTF3OQ
Visão Geral
MCP Altus é uma plataforma completa de assistente de vendas baseado em IA que integra Google Gemini, Pipefy (CRM) e Calendly (agendamento). O sistema permite que usuários conversem naturalmente com um assistente inteligente que pode gerenciar leads, atualizar pipelines de vendas e agendar reuniões automaticamente.
Arquitetura
A aplicação é composta por 4 componentes principais que trabalham em conjunto:
┌─────────────┐ ┌──────────────────────┐ ┌──────────────┐
│ Frontend │───────▶│ Conversational AI │───────▶│ MCP Server │
│ (Angular) │ HTTP │ (Spring Boot) │ SSE │ (Spring Boot)│
└─────────────┘ └──────────────────────┘ └──────────────┘
│ │
│ │
▼ ▼
┌──────────┐ ┌──────────────┐
│ MongoDB │ │ Pipefy API │
│ │ │ Calendly API │
└──────────┘ └──────────────┘
1. Frontend (Angular)
Interface web moderna onde usuários interagem com o assistente através de chat. Envia mensagens e exibe respostas do Gemini em tempo real.
Tecnologias: Angular 20, TypeScript, RxJS, Nginx
Porta: 4200
2. Conversational AI (Spring Boot)
Backend principal que processa conversas utilizando Google Gemini. Mantém histórico de conversas no MongoDB e permite que o Gemini utilize ferramentas externas através do MCP Server.
Tecnologias: Spring Boot, Spring AI, MongoDB, MCP Client, Java 21
Porta: 8080
3. MCP Server (Spring Boot)
Servidor de ferramentas que implementa o Model Context Protocol. Expõe 15 ferramentas para o Gemini executar ações no Pipefy e Calendly. Atua como ponte entre a IA e os serviços externos.
Tecnologias: Spring Boot, Spring AI MCP Server, GraphQL, WebFlux, Java 21
Porta: 8081
4. MongoDB
Banco de dados NoSQL que armazena o histórico de conversas de cada usuário, permitindo que o Gemini mantenha contexto entre diferentes sessões.
Porta: 27017
Funcionalidades Principais
Gerenciamento de Leads (Pipefy)
- Criar novos leads com informações completas (nome, empresa, telefone, email, etc)
- Listar leads por fase do pipeline
- Buscar leads por nome, empresa ou outros critérios
- Atualizar informações de leads existentes
- Mover leads entre fases (Prospecção → Apresentação → Proposta → Negociação → Ganho)
- Adicionar comentários e notas em leads
- Definir prazos e datas de vencimento
- Adicionar etiquetas de categorização
- Deletar leads quando necessário
Agendamento de Reuniões (Calendly)
- Gerar links personalizados de agendamento para leads
- Lead escolhe horário disponível automaticamente
- Notificações automáticas para ambas as partes
Conversação Natural
- Interface de chat intuitiva
- Histórico de conversa persistido
- Gemini entende contexto e intenção do usuário
- Respostas em linguagem natural
- Execução automática de ações nos sistemas integrados
Requisitos
- Docker e Docker Compose
- Conta Google Cloud (para Gemini API)
- Conta Pipefy com API Token
- Conta Calendly com API Token
Configuração
- Clone o repositório:
git clone <repository-url>
cd mcp-altus
- Crie o arquivo
.envna raiz do projeto com as seguintes variáveis:
# MongoDB
MONGO_INITDB_DATABASE=conversational_ai
MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=<sua-senha>
MONGODB_HOST=mongodb
MONGODB_PORT=27017
MONGODB_DATABASE=conversational_ai
MONGODB_USERNAME=admin
MONGODB_PASSWORD=<sua-senha>
# Pipefy
PIPEFY_API_TOKEN=<seu-token-pipefy>
PIPEFY_PIPE_ID=<seu-pipe-id>
# Google Gemini
GEMINI_API_KEY=<sua-api-key-gemini>
# MCP
MCP_CLIENT_ENABLED=true
MCP_SERVER_URL=http://mcp-server:8081/sse
# Calendly
CALENDLY_API_TOKEN=<seu-token-calendly>
CALENDLY_USER_URI=<seu-user-uri>
CALENDLY_EVENT_TYPE_URI=<seu-event-type-uri>
- Configure credenciais adicionais (se necessário):
# Crie o arquivo config/credenciais.json se precisar de Service Account do Google
# IMPORTANTE: Este arquivo está protegido pelo .gitignore
Executando a Aplicação
Iniciar todos os serviços
docker-compose up
Iniciar serviços individualmente
# Apenas MongoDB
docker-compose up mongodb
# Apenas MCP Server
docker-compose up mcp-server
# Apenas Conversational AI
docker-compose up conversational-ai
# Apenas Frontend
docker-compose up frontend
Acessar a aplicação
Após iniciar todos os serviços:
- Frontend: http://localhost:4200
- API Conversational AI: http://localhost:8080
- MCP Server: http://localhost:8081
- MongoDB: localhost:27017
Fluxo de Funcionamento
- Usuário envia mensagem no frontend (ex: "Sou da empresa TechCorp e gostaria de fechar negócio com a Altus Software")
- Frontend envia requisição HTTP para Conversational AI (porta 8080)
- Conversational AI passa a mensagem para o Gemini
- Gemini analisa a intenção e identifica que precisa criar um lead
- Gemini invoca a ferramenta
createCarddo MCP Server via SSE - MCP Server chama a API GraphQL do Pipefy
- Pipefy cria o lead e retorna os dados
- MCP Server retorna resultado ao Gemini
- Gemini formula resposta em linguagem natural
- Conversational AI salva mensagens no MongoDB
- Frontend recebe e exibe resposta ao usuário
Exemplos de Uso
Criar Lead
Usuário: Crie um lead para João Silva da empresa TechCorp, telefone 11999999999,
email joao@techcorp.com, indústria Tecnologia, valor R$ 50000
Assistente: Lead criado com sucesso! João Silva da TechCorp foi adicionado à fase
de Prospecção com o ID 123456.
Listar Leads
Usuário: Liste todos os leads na fase de negociação
Assistente: Encontrei 3 leads na fase de Negociação:
1. Maria Santos - ABC Corp (R$ 75.000)
2. Pedro Oliveira - XYZ Ltda (R$ 120.000)
3. Ana Costa - Innovation Inc (R$ 90.000)
Agendar Reunião
Usuário: Gere um link de agendamento para João Silva da TechCorp
Assistente: Link de agendamento criado! Envie este link para João Silva:
https://calendly.com/seu-usuario/meeting?name=Joao+Silva
Desenvolvimento
Estrutura de Diretórios
mcp-altus/
├── conversational-ai/ # Backend principal (Gemini + MCP Client)
├── mcp-server/ # Servidor de ferramentas MCP
├── frontend/ # Interface Angular
├── config/ # Arquivos de configuração sensíveis (gitignored)
├── docker-compose.yml # Orquestração de containers
├── .env # Variáveis de ambiente (gitignored)
└── README.md # Este arquivo
Logs e Depuração
Ver logs de um serviço específico:
docker-compose logs -f conversational-ai
docker-compose logs -f mcp-server
docker-compose logs -f frontend
Rebuild após mudanças no código
docker-compose up --build
Segurança
- Arquivo
.envestá no.gitignore- nunca commite credenciais - Arquivo
config/credenciais.jsonestá protegido pelo.gitignore - Tokens de API devem ser mantidos seguros e rotacionados periodicamente
- Use variáveis de ambiente para todas as credenciais
Tecnologias Utilizadas
Backend
- Spring Boot 3.5.7
- Spring AI (MCP Client/Server)
- Java 21
- MongoDB
- GraphQL
- WebFlux
Frontend
- Angular 20.3
- TypeScript 5.9
- RxJS 7.8
Infraestrutura
- Docker & Docker Compose
- Nginx
Integrações
- Google Gemini (modelo de IA)
- Pipefy (CRM)
- Calendly (agendamento)
MCP Altus
Demo video: https://www.youtube.com/watch?v=MWDJhmTF3OQ
Note: The demo video is in Brazilian Portuguese (pt-BR) and does not have subtitles in other languages.
Overview
MCP Altus is a full-featured AI-powered sales assistant platform that integrates Google Gemini, Pipefy (CRM), and Calendly (scheduling). The system enables users to interact naturally with an intelligent assistant capable of managing leads, updating sales pipelines, and scheduling meetings automatically.
Architecture
The application consists of 4 main components working together:
┌─────────────┐ ┌──────────────────────┐ ┌──────────────┐
│ Frontend │───────▶│ Conversational AI │───────▶│ MCP Server │
│ (Angular) │ HTTP │ (Spring Boot) │ SSE │ (Spring Boot)│
└─────────────┘ └──────────────────────┘ └──────────────┘
│ │
│ │
▼ ▼
┌──────────┐ ┌──────────────┐
│ MongoDB │ │ Pipefy API │
│ │ │ Calendly API │
└──────────┘ └──────────────┘
1. Frontend (Angular)
Modern web interface where users interact with the assistant via chat. Sends messages and displays responses from Gemini in real-time.
Technologies: Angular 20, TypeScript, RxJS, Nginx Port: 4200
2. Conversational AI (Spring Boot)
Main backend that processes conversations using Google Gemini. Maintains conversation history in MongoDB and allows Gemini to use external tools through the MCP Server.
Technologies: Spring Boot, Spring AI, MongoDB, MCP Client, Java 21 Port: 8080
3. MCP Server (Spring Boot)
Tool server implementing the Model Context Protocol (MCP). Exposes 15 tools for Gemini to perform actions in Pipefy and Calendly. Acts as a bridge between AI and external services.
Technologies: Spring Boot, Spring AI MCP Server, GraphQL, WebFlux, Java 21 Port: 8081
4. MongoDB
NoSQL database storing conversation history for each user, allowing Gemini to maintain context across sessions.
Port: 27017
Key Features
Lead Management (Pipefy)
- Create new leads with full details (name, company, phone, email, etc.)
- List leads by pipeline stage
- Search leads by name, company, or other criteria
- Update existing lead information
- Move leads between stages (Prospecting → Presentation → Proposal → Negotiation → Won)
- Add comments and notes to leads
- Set deadlines and due dates
- Add categorization tags
- Delete leads when necessary
Meeting Scheduling (Calendly)
- Generate personalized scheduling links for leads
- Automatic selection of available time slots
- Automatic notifications for both parties
Natural Conversation
- Intuitive chat interface
- Persistent conversation history
- Gemini understands context and user intent
- Natural language responses
- Automatic execution of actions on integrated systems
Requirements
- Docker & Docker Compose
- Google Cloud account (for Gemini API)
- Pipefy account with API Token
- Calendly account with API Token
Setup
- Clone the repository:
git clone <repository-url>
cd mcp-altus
- Create a
.envfile in the project root with the following variables:
# MongoDB
MONGO_INITDB_DATABASE=conversational_ai
MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=<your-password>
MONGODB_HOST=mongodb
MONGODB_PORT=27017
MONGODB_DATABASE=conversational_ai
MONGODB_USERNAME=admin
MONGODB_PASSWORD=<your-password>
# Pipefy
PIPEFY_API_TOKEN=<your-pipefy-token>
PIPEFY_PIPE_ID=<your-pipe-id>
# Google Gemini
GEMINI_API_KEY=<your-gemini-api-key>
# MCP
MCP_CLIENT_ENABLED=true
MCP_SERVER_URL=http://mcp-server:8081/sse
# Calendly
CALENDLY_API_TOKEN=<your-calendly-token>
CALENDLY_USER_URI=<your-user-uri>
CALENDLY_EVENT_TYPE_URI=<your-event-type-uri>
- Configure additional credentials if needed:
# Create config/credenciais.json if Google Service Account is required
# IMPORTANT: This file is protected by .gitignore
Running the Application
Start all services
docker-compose up
Start individual services
docker-compose up mongodb
docker-compose up mcp-server
docker-compose up conversational-ai
docker-compose up frontend
Access the Application
- Frontend: http://localhost:4200
- Conversational AI API: http://localhost:8080
- MCP Server: http://localhost:8081
- MongoDB: localhost:27017
Example Usage
Create Lead
User: Create a lead for João Silva at TechCorp, phone 11999999999, email joao@techcorp.com, industry Technology, value R$ 50000
Assistant: Lead successfully created! João Silva from TechCorp has been added to the Prospecting stage with ID 123456.
List Leads
User: List all leads in the Negotiation stage
Assistant: Found 3 leads in Negotiation:
1. Maria Santos - ABC Corp (R$ 75,000)
2. Pedro Oliveira - XYZ Ltda (R$ 120,000)
3. Ana Costa - Innovation Inc (R$ 90,000)
Schedule Meeting
User: Generate a scheduling link for João Silva at TechCorp
Assistant: Scheduling link created! Send this link to João Silva:
https://calendly.com/your-user/meeting?name=Joao+Silva
Technologies
Backend: Spring Boot 3.5.7, Spring AI, Java 21, MongoDB, GraphQL, WebFlux Frontend: Angular 20.3, TypeScript 5.9, RxJS 7.8 Infrastructure: Docker & Docker Compose, Nginx Integrations: Google Gemini, Pipefy, Calendly