npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@promovaweb/notificamecli

v0.1.0

Published

CLI e servidor MCP para Instagram e LinkedIn pelo NotificaMe Hub.

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

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 link

Confira os dois nomes instalados:

notificamecli --version
notificamehub --help

Configuraçã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-interactive

As 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 --yes

A 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/artigo

Use 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 linkedin

Endpoints 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 meuinstagram

O 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 validar

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