mcp-altus

gabrafo/mcp-altus

3.2

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

Tools
3
Resources
0
Prompts
0

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

  1. Clone o repositório:
git clone <repository-url>
cd mcp-altus
  1. Crie o arquivo .env na 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>
  1. 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:

Fluxo de Funcionamento

  1. Usuário envia mensagem no frontend (ex: "Sou da empresa TechCorp e gostaria de fechar negócio com a Altus Software")
  2. Frontend envia requisição HTTP para Conversational AI (porta 8080)
  3. Conversational AI passa a mensagem para o Gemini
  4. Gemini analisa a intenção e identifica que precisa criar um lead
  5. Gemini invoca a ferramenta createCard do MCP Server via SSE
  6. MCP Server chama a API GraphQL do Pipefy
  7. Pipefy cria o lead e retorna os dados
  8. MCP Server retorna resultado ao Gemini
  9. Gemini formula resposta em linguagem natural
  10. Conversational AI salva mensagens no MongoDB
  11. 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 .env está no .gitignore - nunca commite credenciais
  • Arquivo config/credenciais.json está 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

  1. Clone the repository:
git clone <repository-url>
cd mcp-altus
  1. Create a .env file 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>
  1. 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

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