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

vtsis-mcp-greeting-tabnews-server

v1.0.0

Published

Servidor MCP com saudações amistosas e consulta aos artigos do TabNews

Downloads

10

Readme

🤝 Servidor MCP de Saudação e TabNews

Um servidor Model Context Protocol (MCP) que fornece saudações calorosas e consulta aos artigos mais recentes do TabNews com dados dinâmicos como data e hora.

✨ Características

  • 🕐 Data e hora dinâmicas - Sempre atualizada com horário de Brasília
  • 👋 Saudações contextuais - Bom dia, boa tarde ou boa noite baseado no horário
  • 🎨 Mensagens aleatórias - Diferentes mensagens amistosas a cada chamada
  • 😊 Emojis dinâmicos - Torna a interação mais amigável
  • 🌍 Personalização - Aceita nome personalizado
  • 📅 Formatação brasileira - Data e hora no formato brasileiro
  • 📰 Artigos do TabNews - Consulta em tempo real à API do TabNews
  • 🔗 URLs completas - Links diretos para os artigos

🚀 Instalação Rápida via NPX

Para usuários finais:

Uso direto (sem instalação):

npx mcp-greeting-tabnews-server

Com o Inspector MCP:

npx @modelcontextprotocol/inspector npx mcp-greeting-tabnews-server

Configuração no Claude Desktop:

{
  "mcpServers": {
    "greeting-tabnews": {
      "command": "npx",
      "args": ["mcp-greeting-tabnews-server"]
    }
  }
}

🛠️ Instalação para Desenvolvimento

  1. Clone/baixe os arquivos do projeto

  2. Instale as dependências:

npm install
  1. Execute o servidor:
npm start

🚀 Como Usar

Ferramentas Disponíveis

friendly_greeting

Gera uma saudação calorosa e amistosa com data e hora atuais.

Parâmetros:

  • name (opcional): Nome da pessoa para personalizar a saudação (padrão: "Amigo")
  • language (opcional): Idioma da saudação - "pt" ou "en" (padrão: "pt")

get_tabnews_articles

Consulta a API do TabNews e retorna os títulos, URLs e informações dos artigos mais recentes.

Parâmetros:

  • limit (opcional): Número máximo de artigos para retornar (padrão: 10, máximo: 30)

Exemplo de Uso - Saudação

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "friendly_greeting",
    "arguments": {
      "name": "João",
      "language": "pt"
    }
  }
}

Exemplo de Uso - TabNews

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_tabnews_articles",
    "arguments": {
      "limit": 5
    }
  }
}

Exemplo de Resposta - Saudação

🌟 Boa tarde, João! 

📅 Hoje é terça-feira, 26 de novembro de 2024
🕐 Horário atual: 14:30:25 (GMT-3)

💝 Que seu dia seja repleto de alegria e sucesso!

Obrigado por usar nosso servidor MCP! Estou aqui para ajudar no que precisar. ✨

Exemplo de Resposta - TabNews

📰 **Últimos 5 artigos do TabNews**

**1. 🌳 Árvore Genealógica Resumida dos Sistemas Operacionais (UNIX, LINUX, BSD, MacOS/iOS, Android, Windows)**
👤 Autor: Oletros
📅 Publicado: 24/06/2025
💰 TabCoins: 19
💬 Comentários: 13
🔗 Link: https://www.tabnews.com.br/Oletros/arvore-genealogica-resumida-dos-sistemas-operacionais-unix-linux-bsd-macos-ios-android-windows

---

**2. Sua primeira contribuição open source está a um clique (e sem o medo de quebrar a main)**
👤 Autor: andretimm
📅 Publicado: 24/06/2025
💰 TabCoins: 13
💬 Comentários: 3
🔗 Link: https://www.tabnews.com.br/andretimm/sua-primeira-contribuicao-open-source-esta-a-um-clique-e-sem-o-medo-de-quebrar-a-main

---

📊 **Estatísticas:**
• Total de artigos consultados: 5
• Fonte: TabNews (https://www.tabnews.com.br)
• Consultado em: 26/11/2024 14:30:25

🔧 Configuração com Clientes MCP

Claude Desktop

Usando NPX (Recomendado):

{
  "mcpServers": {
    "greeting-tabnews": {
      "command": "npx",
      "args": ["mcp-greeting-tabnews-server"]
    }
  }
}

Usando Node.js diretamente:

{
  "mcpServers": {
    "greeting-tabnews-server": {
      "command": "node",
      "args": ["/caminho/para/seu/projeto/index.js"]
    }
  }
}

Outros Clientes MCP

O servidor usa transporte STDIO padrão, compatível com qualquer cliente MCP.

📁 Estrutura do Projeto

mcp-server/
├── index.js              # Servidor MCP principal
├── package.json          # Configurações e dependências
├── README.md             # Esta documentação
├── mcp-config.json       # Configuração para inspector
├── TROUBLESHOOTING.md    # Guia de solução de problemas
├── PUBLISH-GUIDE.md      # Guia de publicação no NPM
├── .npmignore            # Arquivos excluídos do pacote NPM
└── test-tabnews.js       # Script de teste (dev only)

🎯 Funcionalidades Técnicas

  • Protocolo: Model Context Protocol (MCP)
  • Transporte: STDIO (Standard Input/Output)
  • Formato: JSON-RPC 2.0
  • SDK: @modelcontextprotocol/sdk
  • Timezone: America/Sao_Paulo (GMT-3)
  • API: TabNews REST API (https://www.tabnews.com.br/api/v1/contents)
  • Distribuição: NPM Package via NPX

📋 Logs e Debug

O servidor envia logs para stderr, permitindo debug sem interferir na comunicação MCP:

🚀 Servidor MCP de Saudação iniciado!
📋 Ferramentas disponíveis:
   • friendly_greeting - Saudação personalizada
   • get_tabnews_articles - Artigos do TabNews
⏰ Servidor pronto para receber requisições...

🔒 Tratamento de Erros

  • ✅ Validação de parâmetros
  • ✅ Tratamento de exceções HTTP
  • ✅ Respostas de erro padronizadas
  • ✅ Graceful shutdown com SIGINT
  • ✅ Timeout e retry para requisições de rede
  • ✅ Validação de dados da API

🎨 Personalização

Para adicionar mais funcionalidades:

  1. Novas saudações: Modifique o array friendlyMessages
  2. Mais emojis: Adicione ao array emojis
  3. Novos idiomas: Expanda a função generateGreeting
  4. Outras APIs: Adicione novas funções de consulta seguindo o padrão
  5. Ferramentas extras: Adicione novos handlers no servidor

🌐 Sobre o TabNews

O TabNews é uma plataforma brasileira de conteúdo focada em tecnologia, criada por Filipe Deschamps. A API utilizada é pública e retorna os artigos mais recentes da plataforma.

Dados disponíveis por artigo:

  • Título e slug
  • Autor (username)
  • Data de publicação
  • TabCoins (sistema de pontuação)
  • Número de comentários
  • URL da fonte (quando disponível)

📤 Publicação

Para publicar no NPM, consulte o arquivo PUBLISH-GUIDE.md.

📄 Licença

MIT - Sinta-se livre para usar e modificar!


📊 Estatísticas

npm version npm downloads

💡 Dica: Este é um exemplo educativo de servidor MCP. Use como base para criar suas próprias ferramentas mais complexas e integrar outras APIs!