MCP RSS Crawler

Busca e armazena em cache feeds RSS usando um banco de dados SQLite para uso com LLMs através do protocolo MCP.

Documentação

MCP-RSS-Crawler

Um servidor MCP (Message Chain Protocol) que busca feeds RSS e os compartilha com LLMs.

Recursos

  • Busca e cache de feeds RSS (banco de dados SQLite)
  • Implementação do protocolo MCP para integração perfeita com LLMs
  • Suporte para filtragem de feeds por categoria, fonte ou palavras-chave
  • Endpoints de API abrangentes para gerenciamento de feeds
    • Adicionar, atualizar e excluir feeds
  • Suporte para busca de artigos do Firecrawl

Requisitos

  • Bun
  • Chave de API do Firecrawl
  • Claude Desktop ou outro cliente MCP

Configuração como Servidor MCP

  1. Clone este repositório
  2. Crie um arquivo claude_desktop_config.json baseado em claude_desktop_config.json.example com sua configuração
{
  "mcpServers": {
    "rss-crawler": {
      "command": "/path/to/bun",
      "args": ["run", "/path/to/mcp-rss-crawler/apps/mcp-server/src/mcp-cli.ts"],
      "cwd": "/path/to/mcp-rss-crawler",
      "env": {
        "PORT": "5556",
        "DB_DIR": "/path/to/mcp-rss-crawler",
        "FIRECRAWL_API_KEY": "fc-<YOUR_FIRECRAWL_API_KEY>"
      }
    }
  }
}
  1. Instale as dependências:
    bun install
    
  2. Inicie o Claude Desktop:

Protocolo MCP

O servidor implementa o Message Chain Protocol (MCP), que permite que LLMs acessem seus feeds RSS mais recentes. O endpoint MCP aceita requisições POST com um corpo JSON contendo um array de mensagens e retorna uma resposta com os itens de feed mais recentes.

Exemplo de requisição:

{
  "messages": [
    {
      "role": "user",
      "content": "What are the latest news from my RSS feeds?"
    }
  ]
}

Exemplo de resposta:

{
  "messages": [
    {
      "role": "assistant",
      "content": "Here are the latest articles from your RSS feeds:",
      "name": "rss-mcp"
    },
    {
      "role": "tool",
      "content": "[{\"title\":\"Article Title\",\"summary\":\"Article summary...\",\"published\":\"2025-03-16T04:30:00.000Z\",\"origin\":\"Feed Name\",\"link\":\"https://example.com/article\"}]",
      "name": "rss-feeds"
    }
  ]
}

Opções de Configuração

O servidor pode ser configurado por meio de variáveis de ambiente ou de um arquivo .env:

  • PORT - Porta do servidor (padrão: 5556)
  • FIRECRAWL_API_KEY - Chave de API do Firecrawl
  • DB_DIR - Diretório do banco de dados (padrão: ~/.mcp-rss-crawler)

Solução de Problemas

  • Para problemas de conexão, verifique suas configurações de rede e firewall
  • Os logs estão disponíveis no console e podem ser usados para diagnosticar problemas
  • Para logs mais detalhados, defina a variável de ambiente DEBUG=mcp-rss:*