README.md (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# news-mcp
Servidor MCP de noticias via RSS. Um coletor baixa os feeds do feeds.json de tempos em tempos, guarda tudo num banco SQLite e responde pelas ferramentas do MCP. Nao precisa de token de terceiros nem servico pago.
Ferramentas:
- list_sources: lista as fontes por categoria
- get_latest_news: ultimas noticias (todas, por categoria ou por fonte)
- search_news: busca por palavra-chave
- get_stats: total de artigos e hora da ultima coleta
Categorias das fontes: tech, programming, security, science, linux, windows, news.
Rodar local:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python server.py
O servidor sobe em http://127.0.0.1:17631/mcp. O coletor roda uma vez ao subir e depois a cada 30 minutos.
Rodar com Docker:
cp .env.example .env
(edite o .env e defina NEWS_MCP_TOKEN)
mkdir -p data
docker compose up -d --build
A porta fica presa em 127.0.0.1:17631, atras de um proxy reverso (nginx) com HTTPS. O banco fica em ./data/news.db e persiste. Editar o feeds.json vale na proxima coleta, sem rebuild.
Configuracao pelo .env: NEWS_MCP_TOKEN, NEWS_MCP_PORT, POLL_INTERVAL_MIN, RETENTION_DAYS.
Trocar as fontes: edite o feeds.json. Cada fonte tem id, name, url e category.
Conectar no cliente MCP (transporte http com bearer token):
news https://mcpnews.grupomurad.net/mcp
header: Authorization: Bearer SEU_TOKEN
|