---
title: "Carmelo Buelvas Comas (@cbuelvasc) | Hashnode"
description: "Senior Backend Engineer · Java, Go & AI (MCP) · Building production-grade systems. Read the latest articles by Carmelo Buelvas Comas on Hashnode."
url: "https://hashnode.com/@cbuelvasc"
---

@cbuelvasc

# Carmelo Buelvas Comas

@cbuelvasc · Colombia · Joined November 2026

Senior Backend Engineer · Java, Go & AI (MCP) · Building production-grade systems

### [MCP in Production, Part 6: Java vs Go, Measured](https://cbuelvasc.hashnode.dev/mcp-in-production-part-6-java-vs-go-measured?utm_source=hashnode&utm_medium=feed)

TL;DR Same hexagon, same tools, same k6 scenario, two runtimes. Both servers handled the agent burst with zero failures and stayed far below the SLO. Go answered with a ~5× lower p95 (2.6 ms vs 13.8

6 min read · [cbuelvasc.hashnode.dev](https://cbuelvasc.hashnode.dev/mcp-in-production-part-6-java-vs-go-measured?utm_source=hashnode&utm_medium=feed)

[8h ago](https://hashnode.com/posts/mcp-in-production-part-6-java-vs-go-measured/6af883f3c928a577f810f3c6)

### [The Same MCP Server in Go: Hexagonal Architecture with the Official Go SDK](https://cbuelvasc.hashnode.dev/the-same-mcp-server-in-go-hexagonal-architecture-with-the-official-go-sdk?utm_source=hashnode&utm_medium=feed)

TL;DR Same server, same tools, same scopes, same metrics, different language. I rebuilt the hexagonal MCP server from parts 1–4 in Go, with the official MCP Go SDK, to see what changes and what doesn

8 min read · [cbuelvasc.hashnode.dev](https://cbuelvasc.hashnode.dev/the-same-mcp-server-in-go-hexagonal-architecture-with-the-official-go-sdk?utm_source=hashnode&utm_medium=feed)

[1d ago](https://hashnode.com/posts/the-same-mcp-server-in-go-hexagonal-architecture-with-the-official-go-sdk/6af799dfbfa6d82aae9ec149)

### [Observing AI Agents: Grafana Dashboards and k6 Load Tests for MCP](https://cbuelvasc.hashnode.dev/observing-ai-agents-grafana-dashboards-and-k6-load-tests-for-mcp?utm_source=hashnode&utm_medium=feed)

TL;DR Agents don't behave like humans: they call tools in bursts, in loops and in chains. If you can't see latency, errors and auth failures per tool, you can't run an MCP server in production. ⭐ Co

5 min read · [cbuelvasc.hashnode.dev](https://cbuelvasc.hashnode.dev/observing-ai-agents-grafana-dashboards-and-k6-load-tests-for-mcp?utm_source=hashnode&utm_medium=feed)

[1d ago](https://hashnode.com/posts/observing-ai-agents-grafana-dashboards-and-k6-load-tests-for-mcp/6af79105a87c70622a6271f9)

### [Swapping Adapters: PostgreSQL Without Touching the Core](https://cbuelvasc.hashnode.dev/swapping-adapters-postgresql-without-touching-the-core?utm_source=hashnode&utm_medium=feed)

TL;DR Hexagonal architecture is a promise: you can replace an adapter without touching the core. In this part I keep that promise by swapping the in-memory repository for PostgreSQL, and I prove it w

6 min read · [cbuelvasc.hashnode.dev](https://cbuelvasc.hashnode.dev/swapping-adapters-postgresql-without-touching-the-core?utm_source=hashnode&utm_medium=feed)

[1d ago](https://hashnode.com/posts/swapping-adapters-postgresql-without-touching-the-core/6af790e7712755e4b8ae07fc)

### [Securing MCP Tools with OAuth 2.1: Scopes per Tool in Spring AI](https://cbuelvasc.hashnode.dev/securing-mcp-tools-with-oauth-2-1-scopes-per-tool-in-spring-ai?utm_source=hashnode&utm_medium=feed)

TL;DR An AI agent calling your tools is a client like any other, and it needs a token. With Spring Security 7 your MCP server becomes an OAuth 2.1 Resource Server, and each tool declares the scope it

7 min read · [cbuelvasc.hashnode.dev](https://cbuelvasc.hashnode.dev/securing-mcp-tools-with-oauth-2-1-scopes-per-tool-in-spring-ai?utm_source=hashnode&utm_medium=feed)

[1d ago](https://hashnode.com/posts/securing-mcp-tools-with-oauth-2-1-scopes-per-tool-in-spring-ai/6af790c957e7f6667519af66)
