Repositório com um MCP-Server que traz um resumo de notícias, mas só se tiver a senha correta da tool
Details
Author
marioluciofjr
GitHub stars
4
Downloads
342
Categories
Other, AI
Jump to
- 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.
# mcp_news
[](https://python.org "Go to Python homepage")



## Índice
* [Introdução](#introdução)
* [Estrutura do projeto](#estrutura-do-projeto)
* [Tecnologias utilizadas](#tecnologias-utilizadas)
* [Requisitos](#requisitos)
* [Como instalar no Claude Desktop](#como-instalar-no-claude-desktop)
* [Links úteis](#links-úteis)
* [Contribuições](#contribuições)
* [Licença](#licença)
* [Contato](#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
](https://physia.com.br/mcp/). É um MCP-Server simples que utiliza somente o pacote FastMCP, seguindo também as orientações do repositório oficial do [Model Context Protol](https://github.com/modelcontextprotocol/python-sdk), 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](https://talktogithub.com/marioluciofjr/mcp_news)
Want to better understand this repository, but you don't speak Portuguese? Check out this complete tutorial: [`Codebase - mcp_news`](https://code2tutorial.com/tutorial/a67c8977-c7d2-49de-8374-c601a2893a00/index.md)
## Tecnologias utilizadas
<div>
<img align="center" height="60" width="80" src="https://github.com/user-attachments/assets/c0604008-f730-413f-9c4e-9b06c0912692" />  
<img align="center" height="60" width="80" src="https://github.com/user-attachments/assets/76e7aca0-5321-4238-9742-164c20af5b4a" />  
<img align="center" height="60" width="80" src="https://github.com/user-attachments/assets/cf957637-962d-4548-87d4-bbde91fadc22" />  
<img align="center" height="60" width="80" src="https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/vscode/vscode-original.svg" />  
<img align="center" height="60" width="80" src="https://github.com/user-attachments/assets/abafaea5-eb57-4965-9130-7816280a8d84" />  
</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](https://www.python.org/downloads/)
2. Já no VSCode, utilize o terminal para verificiar a versão do python com o comando
```powershell
python --version
```
3. Depois instale o `uv` com o comando
```powershell
pip install uv
```
4. Para conferir se estava tudo certo, utilize o comando
```powershell
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
```powershell
uv init
```
8. Adicione as dependências necessárias deste projeto
```powershell
uv add mcp[cli] dotenv smolagents[toolkit]
```
9. Verifique se está tudo ok, com o comando abaixo
```powershell
mcp
```
> [!IMPORTANT]
> Se aparecer esta informação abaixo no seu terminal é porque está tudo certo
>
> 
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`
```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
>
> 
>
> 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](https://modelcontextprotocol.io/introduction) - Você saberá todos os detalhes dessa inovação da Anthropic
* [Site oficial da Anthropic](https://www.anthropic.com/) - Para ficar por dentro das novidaddes e estudos dos modelos Claude
* [Como baixar o Claude Desktop](https://claude.ai/download) - Link direto para download
* [Como instalar o VSCode](https://code.visualstudio.com/download)- Link direto para download
* [Documentação oficial do pacote uv](https://docs.astral.sh/uv/) - Você saberá todos os detalhes sobre o `uv` e como ele é importante no python
* [venv — Criação de ambientes virtuais](https://docs.python.org/pt-br/3/library/venv.html) - Explicação completa de como funcionam os venvs
* [Conjunto de ícones de modelos de IA/LLM](https://lobehub.com/pt-BR/icons) - site muito bom para conseguir ícones do ecossistema de IA
* [Devicon](https://devicon.dev/) - site bem completo também com ícones gerais sobre tecnologia
* [Smolagents](https://github.com/huggingface/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](https://github.com/marioluciofjr/mcp_news/blob/main/LICENSE) para detalhes.
## Contato
Mário Lúcio - Prazo Certo®
<div>
<a href="https://www.linkedin.com/in/marioluciofjr" target="_blank"><img src="https://img.shields.io/badge/-LinkedIn-%230077B5?style=for-the-badge&logo=linkedin&logoColor=white"></a>
<a href = "mailto:marioluciofjr@gmail.com" target="_blank"><img src="https://img.shields.io/badge/-Gmail-%23333?style=for-the-badge&logo=gmail&logoColor=white"></a>
<a href="https://prazocerto.me/contato" target="_blank"><img src="https://img.shields.io/badge/prazocerto.me/contato-230023?style=for-the-badge&logo=wordpress&logoColor=white"></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.
Social sign-in isn’t configured yet. You can still create an account with email below, or ask an admin to add Google/GitHub/Discord OAuth credentials.
Sequential Thinking is an MCP server that provides a tool for dynamic and reflective problem-solving through a structured, step-by-step thinking process. It is…
Filesystem is a Node.js server that implements the Model Context Protocol (MCP) for filesystem operations. It enables AI assistants to read, write, and manage…
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!