@promovaweb/notificamecli
v0.1.0
Published
CLI e servidor MCP para Instagram e LinkedIn pelo NotificaMe Hub.
Maintainers
Readme
NotificaMeCLI da Promovaweb
O NotificaMeCLI reúne um cliente de terminal e um servidor MCP para perfis do
Instagram e do LinkedIn conectados ao NotificaMe Hub. Cada perfil local guarda a
plataforma, o identificador do canal e a API key usada no header
X-Api-Token.
O executável principal é notificamecli. O pacote também instala
notificamehub como alias de compatibilidade.
Documentação
- Guia do usuário: instalação, perfis, envios, API, MCP e solução de problemas.
- Documentação técnica: arquitetura, contratos, testes e manutenção.
- Índice completo: entrada única para as duas trilhas.
- Changelog: histórico das versões publicadas.
Requisitos
- Node.js
>=22.12.0. - Um perfil do NotificaMe Hub com API key.
- O identificador de cada canal conectado.
Instalação para desenvolvimento
npm install
npm run build
npm linkConfira os dois nomes instalados:
notificamecli --version
notificamehub --helpConfiguração de perfis
O comando auth add cadastra ou atualiza um perfil. A API key pode ser digitada
em um prompt oculto ou informada por flag em automações locais:
notificamecli auth add
notificamecli auth add \
--channel meuinstagram \
--platform instagram \
--identifier "id-do-canal" \
--api-key "api-key-do-perfil" \
--non-interactiveAs credenciais ficam em ~/.notificame/config.js. O diretório recebe permissão
0700, e o arquivo recebe 0600. Não adicione esse arquivo ao Git nem grave a
API key no .mcp.json de um projeto.
O arquivo aceita vários perfis:
module.exports = {
version: 1,
activeChannel: "meuinstagram",
channels: {
meuinstagram: {
name: "Meu Instagram",
platform: "instagram",
identifier: "id-do-canal-instagram",
apiKey: "api-key-do-perfil",
createdAt: "2026-07-31T12:00:00.000Z",
updatedAt: "2026-07-31T12:00:00.000Z"
},
empresalinkedin: {
name: "Empresa no LinkedIn",
platform: "linkedin",
identifier: "id-do-canal-linkedin",
apiKey: "outra-api-key",
createdAt: "2026-07-31T12:00:00.000Z",
updatedAt: "2026-07-31T12:00:00.000Z"
}
}
};Use os comandos abaixo para consultar e selecionar perfis sem exibir a API key:
notificamecli auth list
notificamecli auth show meuinstagram
notificamecli auth use meuinstagram
notificamecli auth remove perfil-antigo --yesA variável NOTIFICAME_CHANNEL seleciona um perfil quando --channel não foi
informado. NOTIFICAME_CONFIG troca o caminho do arquivo para testes e
automações isoladas.
Sintaxe de envio
O comando send recebe o tipo como argumento e os campos como parâmetros
nomeados:
notificamecli send image \
--channel meuinstagram \
--to id-do-destinatario \
--file-url https://example.com/imagem.jpg \
--file-caption "Legenda"Uma publicação no LinkedIn também usa flags legíveis:
notificamecli send article \
--channel empresalinkedin \
--title "Título" \
--text "Texto da publicação" \
--description "Descrição do artigo" \
--article-url https://example.com/artigoUse notificamecli send --help para consultar todos os parâmetros. O alias
notificamehub executa o mesmo CLI.
Listagens usam tabelas por padrão. Acrescente --json quando uma automação
precisar consumir a saída estruturada.
Tipos do Instagram
Todos os tipos abaixo usam o identificador salvo como from.
| Tipo | Finalidade | Parâmetros |
| --- | --- | --- |
| text | Envia texto direto. | --to, --text |
| audio | Envia um arquivo de áudio. | --to, --file-url, --file-caption opcional |
| image | Envia uma imagem. | --to, --file-url, --file-caption opcional |
| video | Envia um vídeo. | --to, --file-url, --file-caption opcional |
| file | Envia mídia com tipo explícito. | --to, --file-url, --file-mime-type, --file-caption opcional |
| reply_text | Responde a um comentário. | --to, --message-id, --text |
| template | Envia um template com até três botões de URL. | --to, --text, --button |
| feed | Publica uma imagem no feed. | --file-url, --file-caption opcional |
| stories | Publica imagem ou vídeo nos Stories. | --file-url, --file-caption opcional |
| reels | Publica um vídeo como Reel. | --file-url, --file-caption opcional |
| posts | Lista as publicações do perfil. | Nenhum |
O NotificaMe Hub exige que mensagens diretas respeitem a janela do Instagram. O CLI valida o formato do payload, mas a API continua responsável por validar a disponibilidade do destinatário e as permissões do canal.
Tipos do LinkedIn
| Tipo | Finalidade | Parâmetros |
| --- | --- | --- |
| text | Publica texto. | --text |
| article | Publica um artigo externo. | --title, --text, --description, --article-url |
| image | Publica uma imagem. | --title, --text, --description, --file-url |
| video | Publica um vídeo. | --title, --text, --description, --file-url |
| reply | Responde a um comentário. | --comment-id, --text |
| comments | Busca comentários de uma publicação. | --post-id |
Consulte a lista aceita pela versão instalada:
notificamecli types
notificamecli types --platform instagram
notificamecli types --platform linkedinEndpoints da API v1
O catálogo interno registra todos os endpoints publicados na documentação do
NotificaMe Hub em 31 de julho de 2026. Execute notificamecli endpoints para
consultar IDs, métodos e caminhos.
api call executa qualquer entrada desse catálogo com o header de autenticação
do perfil selecionado. --field, --number, --boolean e --null montam o
body por parâmetros. --query aceita pares chave=valor repetíveis:
notificamecli api call subscriptions.create \
--channel meuinstagram \
--field criteria.channel=id-do-canal \
--field webhook.url=https://example.com/webhook
notificamecli api call linkedin.comments \
--channel empresalinkedin \
--query channel=id-do-canal \
--query post_comments=id-da-publicacao| Área | Método | Caminho |
| --- | --- | --- |
| Revendas | GET | /resale/ |
| Webhooks | POST | /subscriptions/ |
| Templates | GET, POST | /templates/:channelId |
| WhatsApp | POST | /channels/whatsapp/messages |
| WhatsApp | GET | /channels/whatsapp/media |
| Instagram | POST | /channels/instagram/messages |
| Instagram | GET | /channels/instagram/publish |
| Facebook | POST | /channels/facebook/messages |
| Telegram | POST | /channels/telegram/messages |
| Mercado Livre | POST | /channels/mercadolivre/messages |
| WebChat | POST | /channels/webchat/messages |
| Email | POST | /channels/email/messages |
| OLX | POST | /channels/olx/messages |
| LinkedIn | POST, GET | /channels/linkedin/publish |
A validação especializada de payloads cobre Instagram e LinkedIn nesta versão.
api call permite acessar os demais endpoints com campos repetíveis. Pontos
criam objetos, e segmentos numéricos como items.0.name criam arrays.
MCP local por projeto
Execute o comando na raiz do projeto que vai usar o perfil:
notificamecli mcp init --channel meuinstagramO comando mescla o servidor no .mcp.json existente:
{
"mcpServers": {
"promovaweb-notificamecli": {
"command": "notificamecli",
"args": ["mcp", "serve", "--channel", "meuinstagram"]
}
}
}O nome do perfil fica fixo na configuração do projeto. As ferramentas MCP não
aceitam outro canal, e a API key continua somente no arquivo da pasta pessoal.
Use --read-only no mcp init quando o agente puder listar posts ou comentários
sem enviar mensagens e publicações.
O servidor registra somente ferramentas da plataforma configurada. Cada uma
possui schema próprio e parâmetros nomeados. Por exemplo,
notificame_instagram_send_text exige to e text, enquanto
notificame_linkedin_publish_article exige title, text, description e
articleUrl. Nenhuma ferramenta recebe um objeto genérico data.
Desenvolvimento e validação
npm run typecheck
npm test
npm run build
npm run validarOs testes usam arquivos temporários e servidores HTTP locais. Nenhuma chamada de teste envia conteúdo para o NotificaMe Hub.
Consulte a documentação técnica para entender os módulos, os contratos internos e o fluxo de contribuição.
Fontes da API
O cliente foi implementado a partir da documentação oficial do NotificaMe Hub e da coleção oficial no Postman.
