Fev 2026
How to Connect Your APIs to LLMs: A Deep Dive into MCP
In this article, we’ll build a real .NET-based MCP server that connects APIs to LLMs, turning GitHub issues into actionable tasks automatically.
Hey, I’m a backend software engineer originally from São Paulo 🇧🇷, now living in Porto 🇵🇹 since 2018. I love turning complex problems into clean, maintainable solutions, building systems with .NET, cloud platforms, and event-driven architectures, and making sure they’re reliable, scalable, and performant.
Outside of work, I’m a curious and social person. I enjoy spending time with friends, exploring local restaurants, going to stand-up comedy shows, and soon I’ll be welcoming my first child — Bernardo! I also love traveling with my wife, watching series and movies together, reading books and tech articles, and listening to podcasts on all kinds of topics. Fun fact: I don’t play much video games, but I’m always up for learning something new.
I believe curiosity — about technology, people, and the world — makes life and software more interesting, and I try to bring that mindset into everything I do.
How I design, build, ship and scale backend systems — from architecture and development to cloud infrastructure, production deployment and long-term reliability.
I design and deliver scalable, resilient backend systems that handle high-throughput and complex business workflows. My work spans building distributed microservices, designing REST and GraphQL APIs with strong contracts, implementing event-driven architectures, and ensuring long-term maintainability, performance, and reliability across diverse domains including IAM, data processing, and e-commerce platforms.
I design, operate, and optimize cloud platforms to enable secure, scalable, and observable systems. From setting up developer-friendly cloud environments to managing production deployments, I leverage Azure, containerization, GitOps pipelines, and automation to ensure reliability, efficiency, and smooth delivery across services, including identity solutions and large-scale data processing systems.
I build systems that are deeply observable, resilient, and performant under real-world conditions. This includes designing distributed tracing and structured logging, creating dashboards and alerts, defining SLOs, and performing load and stress tests to ensure reliability, fast incident response, and continuous improvement across backend, cloud, and data-intensive systems.
I design and maintain reliable, high-performance data layers for both transactional and large-scale workloads. My work includes optimizing relational and NoSQL schemas, implementing caching and replication strategies, supporting zero-downtime migrations, and ensuring data consistency, scalability, and resilience across complex distributed systems.
I build systems that are safe to evolve and easy to operate by designing comprehensive testing strategies across unit, integration, contract, and end-to-end layers. I implement CI/CD pipelines, enforce quality gates, and automate tests to ensure performance, reliability, and maintainability across diverse applications and microservices.
I drive technical strategy and system design across teams, defining architectures, reducing technical debt, and building internal frameworks to improve developer productivity. I mentor engineers, facilitate technical discussions, and enable teams to deliver high-quality software efficiently while promoting engineering best practices and long-term maintainability.
Postgraduate Degree in Big Data & Decision Making
Porto, PortugalTechnologist in Software Development and Systems Analysis
São Paulo, BrazilHere I share my thoughts, experiences, and learnings related to software development and technology. It’s a space to explore ideas, document discoveries, and reflect on the things I find interesting or useful in my work.
Fev 2026
In this article, we’ll build a real .NET-based MCP server that connects APIs to LLMs, turning GitHub issues into actionable tasks automatically.
Dec 2024
Discover what .NET Aspire is and how it can be used. This post shows a file-processing workflow built with .NET 9, integrating Azure Services, databases, and cache.
Apr 2024
Learn how to embed a Superset dashboard with a ClickHouse dataset into a .NET web application, with a brief introduction to both tools.
Oct 2022
Learn how to embed a Superset dashboard with a ClickHouse dataset into a .NET web application, with a brief introduction to both tools.
Apr 2021
Continuing the series: implementing mutations, subscriptions, and advanced API patterns, plus best practices for testing and deploying a containerized GraphQL service.
Mar 2021
Introduction to building a GraphQL API with .NET Core and HotChocolate, covering schema design, queries, and connecting to MongoDB in a containerized environment.
Here I highlight some of the books and resources that have influenced my thinking and approach to software development. They reflect the topics I enjoy exploring and the lessons I’ve found most valuable in my professional journey.
A practical guide on writing readable, maintainable, and efficient code. Reinforced best practices and the importance of craftsmanship in software development.
Robert C. Martin
Explores principles and patterns for designing flexible, maintainable, and scalable software systems. Highlights the importance of separating concerns and building resilient architecture.
Robert C. Martin
An engaging guide to understanding common software design patterns. Focuses on practical examples and real-world applications to improve code structure and maintainability.
Eric Freeman & Elisabeth Robson
A practical guide for software developers on best practices, problem-solving, and continuous improvement. Emphasizes craftsmanship, adaptability, and pragmatic approaches to everyday coding challenges.
Andrew Hunt & David Thomas
Here’s a peek at the things that make me tick beyond coding: spending time with family and friends, exploring new places and flavors, cheering for football teams, laughing at stand-up shows, and always staying curious.
Time with my wife, caring for Donna, our golden retriever, and preparing to welcome our son Bernardo. Family first — sharing laughter, memories, and support every day.
I love exploring new places, tasting local cuisine, and discovering hidden gems in each city. Every trip is a chance to connect with the world.
Enjoying good coffee, craft beer, or a fine wine with friends and family, swapping tasting notes, and discovering new favorites.
Watching series and movies with my wife, going to stand-up comedy shows, and laughing as much as possible.
Playing and watching football, cheering for my teams, and staying active with fun, local games.
Reading books, tech articles, and listening to podcasts on a variety of topics — always curious, always learning.