erikfig/linkedin-insights-mcp
If you are the rightful owner of linkedin-insights-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server for analyzing LinkedIn post data stored in MongoDB.
LinkedIn Insights MCP Server
Um servidor MCP (Model Context Protocol) para análise de dados de posts do LinkedIn armazenados em MongoDB.
📋 Sobre o Projeto
Este projeto implementa um servidor MCP que se conecta a um banco MongoDB contendo dados de posts do LinkedIn e fornece ferramentas e recursos para análise desses dados. É ideal para análise de engajamento, performance de posts e insights de conteúdo.
🚀 Funcionalidades
Recursos (Resources)
- Todos os Posts: Lista completa de posts
- Top Posts: Posts com maior número de impressões
- Posts Mais Engajados: Posts com maior taxa de engajamento
- Resumo Analytics: Estatísticas gerais dos posts
Ferramentas (Tools)
- search_posts: Busca posts com filtros específicos (impressões, datas, conteúdo)
- get_post_details: Obtém detalhes de um post específico por ID
- analyze_engagement: Analisa métricas de engajamento dos posts
📊 Estrutura dos Dados
Os posts do LinkedIn têm a seguinte estrutura:
interface LinkedInPost {
_id: { $oid: string };
url: string;
comments: number;
content: string;
impressions: number;
reactions: number;
shares: number;
postedAt: string;
}
🛠️ Instalação
- Clone o repositório:
git clone <url-do-repositorio>
cd mcp-linkeding-mongo
- Instale as dependências:
npm install
- Configure as variáveis de ambiente criando um arquivo
.env
:
MONGO_CONNECTION_STRING=mongodb://localhost:27017
MONGO_DB=linkedin_insights_v2
MONGO_COLLECTION_NAME=linkedin_posts
🔧 Scripts Disponíveis
npm run build
: Compila o TypeScript para JavaScriptnpm run start
: Executa o servidor compiladonpm run dev
: Executa em modo desenvolvimento com ts-nodenpm run mcp
: Alias para executar o servidor MCP
📱 Como Usar
Executar o Servidor
npm run mcp
Conectar via MCP
O servidor implementa o protocolo MCP e pode ser usado com qualquer cliente compatível. Ele se comunica via STDIO.
Exemplos de Uso
Buscar posts com filtros:
{
"tool": "search_posts",
"arguments": {
"minImpressions": 1000,
"startDate": "2024-01-01",
"hasContent": true
}
}
Obter detalhes de um post:
{
"tool": "get_post_details",
"arguments": {
"postId": "60f7b2b4c4f5a3b2d4e6f7a8"
}
}
🗄️ Configuração do MongoDB
O projeto espera uma coleção MongoDB com posts do LinkedIn. Certifique-se de que:
- O MongoDB está rodando e acessível
- O banco de dados e coleção existem
- As credenciais estão corretas no
.env
📈 Métricas Calculadas
- Taxa de Engajamento:
(reactions + comments + shares) / impressions * 100
- Total de Interações:
reactions + comments + shares
- Impressões Médias: Média de impressões por post
🔒 Variáveis de Ambiente
Variável | Descrição | Padrão |
---|---|---|
MONGO_CONNECTION_STRING | String de conexão MongoDB | mongodb://localhost:27017 |
MONGO_DB | Nome do banco de dados | linkedin_insights_v2 |
MONGO_COLLECTION_NAME | Nome da coleção | linkedin_posts |
🛡️ Tratamento de Erros
O servidor inclui tratamento de erros para:
- Conexão com MongoDB
- Posts não encontrados
- Ferramentas inexistentes
- Recursos inválidos
📦 Dependências
@modelcontextprotocol/sdk
: SDK para implementação MCPmongodb
: Driver oficial do MongoDBdotenv
: Carregamento de variáveis de ambientezod
: Validação de esquemas TypeScript
🤝 Desenvolvimento
O projeto usa TypeScript e está estruturado em módulos:
src/index.ts
: Servidor principal e configuração MCPsrc/database.ts
: Gerenciador de conexão e operações MongoDBsrc/tools.ts
: Implementação das ferramentas MCPsrc/resources.ts
: Implementação dos recursos MCPsrc/types.ts
: Definições de tipos e esquemas
📄 Licença
ISC