mcp_news

by marioluciofjr

4 342 downloads Not rated yet MIT

About

Repositório com um MCP-Server que traz um resumo de notícias, mas só se tiver a senha correta da tool

Details

License
MIT

Explore

- Provides a search_news tool with password-based authentication.
- Includes a predefined acesso prompt for structured summarization.
- Uses smolagents' WebSearchTool for web news search.
- Built with FastMCP and the official MCP Python SDK.
- Outputs news summaries in a specific format: title, summary, additional context.

Install Python 3.10+, the uv package, and Claude Desktop. Clone the repository, run uv init inside the project folder, then add dependencies with uv add mcp[cli] dotenv smolagents[toolkit]. Rename .env.example to .env and set the password. Add the MCP server configuration to claude_desktop_config.json using the command uv --directory <path> run server.py. Finally, use the prompt "acesso" via the Claude Desktop interface, fill in the password and topic, and execute the prompt.

Made with Python
license - MIT
site - prazocerto.me
linkedin - @marioluciofjr

Índice

Introdução
Estrutura do projeto
Tecnologias utilizadas
Requisitos
Como instalar no Claude Desktop
Links úteis
Contribuições
Licença
Contato

Introdução

Este projeto mcp_news oferece uma ferramenta para buscar e resumir notícias da web. Utilizando o protocolo MCP (Model Context Protocol), ele permite que um modelo de linguagem interaja com uma ferramenta de busca de notícias de forma segura, por meio de uma senha, e apresente os resultados de forma estruturada. A ideia é fornecer um resumo conciso e direto ao ponto sobre um determinado tema, simulando o trabalho de apuração jornalística.

Estrutura do projeto

Este projeto leva em consideração as explicações do professor Sandeco Macedo, da UFG (Universidade Federal de Goiás), sobre MCPs por meio do livro MCP e A2A para Leigos
. É um MCP-Server simples que utiliza somente o pacote FastMCP, seguindo também as orientações do repositório oficial do Model Context Protol, da Anthropic.

Este MCP-Server tem as seguintes classes:

tool search_news:
Esta ferramenta é responsável por realizar a busca de notícias na web.
Argumentos:
pesquisa (str): O termo ou tema a ser pesquisado.
senha (str): Uma senha para autorizar o uso da ferramenta.
Funcionamento: Se a senha fornecida estiver correta (conforme definido em um arquivo .env), a ferramenta utiliza WebSearchTool (de smolagents) para buscar a notícia. Caso contrário, retorna uma mensagem de erro.
Retorno: O resultado da busca ou uma mensagem de erro.
prompt acesso:
Este prompt é projetado para ser usado por um modelo de linguagem. Ele instrui o modelo a atuar como um jornalista experiente.
Argumentos (para o modelo preencher e depois usar na tool):
senha (str): A senha para acessar a tool search_news.
tema (str): O tema da pesquisa de notícias.
Funcionamento: O prompt guia o modelo a:
1. Verificar a senha.
2. Formular uma consulta de pesquisa combinando o tema com a palavra "news".
3. Chamar a tool search_news com a consulta e a senha.
4. Com base nos resultados da tool, criar um resumo da notícia em um formato específico (Título, parágrafo 1: Resumo, parágrafo 2: Contexto adicional).
Retorno: Uma string formatada contendo o resumo da notícia ou uma indicação de falha se a senha estiver incorreta.

Se quiser conversar sobre esse projeto, basta acessar a versão TalkToGitHub

Want to better understand this repository, but you don't speak Portuguese? Check out this complete tutorial: Codebase - mcp_news

Tecnologias utilizadas

<div>
&nbsp;&nbsp;&nbsp
&nbsp;&nbsp;&nbsp
&nbsp;&nbsp;&nbsp
&nbsp;&nbsp;&nbsp
&nbsp;&nbsp;&nbsp
</div><br>

MCP (Model Context Protocol);
Python;
Claude Desktop;
VSCode;
Powershell.

Requisitos

Python instalado (versão 3.10 ou superior);
Pacote uv instalado;
Claude Desktop instalado.

Como instalar no Claude Desktop

Agora vou detalhar um passo a passo no Windows 11, utilizando o terminal (atalho CTRL + J) no VSCode:

1. Instalei a versão mais atualizada do Python
2. Já no VSCode, utilize o terminal para verificiar a versão do python com o comando

   python --version

3. Depois instale o uv com o comando
   pip install uv

4. Para conferir se estava tudo certo, utilize o comando
   uv

5. Faça o download do zip desse projeto para a sua máquina pelo caminho Code > Download ZIP aqui mesmo no GitHub. Descompacte a pasta no diretório que preferir.

6. No VSCode use o caminho CTRL + O e escolha a pasta que acabou de descompactar

7. Voltando ao terminal, utilize o comando abaixo para inicializar um novo projeto Python, criando arquivos de configuração e dependências automaticamente

   uv init

8. Adicione as dependências necessárias deste projeto
    uv add mcp[cli] dotenv smolagents[toolkit]

9. Verifique se está tudo ok, com o comando abaixo
    mcp

> [!IMPORTANT]
> Se aparecer esta informação abaixo no seu terminal é porque está tudo certo
>
> Image

10. Renomeie o arquivo .env.example clicando nele e usando o atalho F2 do teclado. Renomeie como .env somente.

11. Instale o json abaixo do MCP-Server diretamente no arquivo claude_desktop_config.json

    "news": {
"command": "uv",
"args": [
"--directory",
"C://Users//meu_usuario//OneDrive//area_de_trabalho//MCPs//mcp_news",
"run",
"server.py"
]
}

> [!IMPORTANT]
> O meu diretório foi algo parecido com isso "C://Users//meu_usuario//OneDrive//area_de_trabalho//MCPs//mcp_news", mas é óbvio que você deve colocar o seu caminho para a pasta mcp_news
>

> [!IMPORTANT]
> Se você já instalou o Claude Desktop corretamente, siga o caminho para acessar o arquivo claude_desktop_config.json no seu computador\
> 11a. Com o Claude Desktop aberto, utilize o atalho CTRL + ,\
> 11b. Clique na aba Desenvolvedor e depois em Editar configuração\
> 11c. Procure o arquivo claude_desktop_config.json e edite no VSCode corretamente\
> 11d. Salve o arquivo com CTRL + S\
> 11e. Feche o Claude Desktop e abra novamente depois de alguns segundos\
> 11f. Confira no ícone de configuração se a ferramenta do MCP mcp_news está instalada corretamente
>
> Image
>
> A ferramenta foi nomeada como search_news.
>
> 11g. Para utilizar, você deve clicar no ícone de '+' e, na opção Adicionar do news, clicar no no prompt chamado acesso.
> Ao clicar no prompt acesso, aparecerá um formulário. Basta preencher e clicar no botão Adicionar prompt e executar no Claude Desktop.

Links úteis

Documentação oficial do Model Context Protocol - Você saberá todos os detalhes dessa inovação da Anthropic
Site oficial da Anthropic - Para ficar por dentro das novidaddes e estudos dos modelos Claude
Como baixar o Claude Desktop - Link direto para download
Como instalar o VSCode- Link direto para download
Documentação oficial do pacote uv - Você saberá todos os detalhes sobre o uv e como ele é importante no python
venv — Criação de ambientes virtuais - Explicação completa de como funcionam os venvs
Conjunto de ícones de modelos de IA/LLM - site muito bom para conseguir ícones do ecossistema de IA
Devicon - site bem completo também com ícones gerais sobre tecnologia
Smolagents - documenttação oficial da biblioteca smolagents

Contribuições

Contribuições são bem-vindas! Se você tem ideias para melhorar este projeto, sinta-se à vontade para fazer um fork do repositório.

Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.

Contato

Mário Lúcio - Prazo Certo® <div> <a href="https://www.linkedin.com/in/marioluciofjr" target="_blank"></a> <a href = "mailto:[email protected]" target="_blank"></a> <a href="https://prazocerto.me/contato" target="_blank"></a> </div>
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.