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.
search_posts
Search posts with specific filters like impressions, dates, and content.
get_post_details
Retrieve details of a specific post by its ID.
analyze_engagement
Analyze engagement metrics of the posts.
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