devoxi

Transformamos ideias em soluções digitais de alto impacto. Desenvolvimento de software customizado com décadas de experiência.

Construindo um Servidor MCP em Rust

Servidores Model Context Protocol (MCP) expõem capacidades estruturadas para clientes de IA. Neste guia vamos montar uma implementação mínima em Rust que fala MCP via entrada e saída padrão, encaixando em qualquer cliente compatível sem precisar abrir sockets. Pelo caminho vamos analisar o envelope JSON-RPC usado pelo MCP, mapeá-lo para estruturas tipadas em Rust e ligar handlers suficientes para exercitar o loop com requisições reais.

Rust: Organizando fontes em arquivos e diretórios separados

A documentação oficial do Rust é formidável, porém a explicação sobre a estruturação de arquivos e diretórios pode parecer confusa. Nesse artigo pretendo mostrar de maneira simples - sem se aprofundar em todas possibilidades e detalhes. Vamos conferir!

Rust: Lidando com erro ao misturar borrow imutável e mutável

Ao trabalhar com Rust cedo ou tarde você irá se deparar com o "error[E0502]: cannot borrow ... as immutable because it is also borrowed as mutable". As vezes acontece quando vamos tentar fazer algo simples, coisa que fazemos de maneira corriqueira em outra linguagem. Vamos conferir algumas soluções para contornar esse problema.

Trabalhando com Option em Rust

Diferente de muitas linguagens, Optional type é um mecanismo fundamental no desenvolvimento com Rust - ele está por trás da sua característica null safe. Mas além de funcionar como um Optional pointer, o tipo Option possui alguns recursos bem úteis. Option é um enumerado, em Rust isso significa que temos o poder dos enumerados algébricos, que permite levar consigo um determinado valor. Option é um enumerado de variedade None e Some(T). Muitas de suas operações possuem formato funcional - que faz um callback através de closure, sendo bastante eficiente, pois é invocado somente quando necessário. Vamos explorar isso e muito mais!

Por que Rust? Ou... é possível usar Rust com outras linguagens?

Percebe-se que muitos estudam Rust, experimentam e se apaixonam, mas na prática não usam profissionalmente. A famosa pesquisa anual do Stack Overflow prova isso - há um grande percentual no quesito de linguagem amada, mas baixo quando comparado ao uso.

Por ser uma linguagem relativamente nova e pouco popular, Rust acaba sofrendo algumas barreiras para ser adotado de forma mais ampla. Nesse artigo gostaria de compartilhar a minha experiência para conseguir conciliar o Rust e usar no trabalho ao lado de outras linguagens.