Rocky Lhotka 🤘🖖
banner
rockylhotka.fosstodon.org.ap.brid.gy
Rocky Lhotka 🤘🖖
@rockylhotka.fosstodon.org.ap.brid.gy
🧑 he/him

🧑‍💻 Open-source creator (#cslanet and more)

🤵 VP of Strategy @ Xebia; Chief Software Architect @ Marimer LLC

🎗️ #MicrosoftMVP and RD […]

[bridged from https://fosstodon.org/@rockylhotka on the fediverse by https://fed.brid.gy/ ]
November 25, 2025 at 8:54 PM
Reposted by Rocky Lhotka 🤘🖖
I'm bringing copies of of my two latest books from Packt to #Live360 to give away during my sessions. I'm happy to sign them too.

www.amazon.com/stores/autho...
Alvin Ashcraft: books, biography, latest update
Follow Alvin Ashcraft and explore their bibliography from Amazon's Alvin Ashcraft Author Page.
www.amazon.com
November 16, 2025 at 3:04 PM
I really enjoy #battlefield6 - I liked #bf3 and #bf4, and #bf6 has much the same feel. I like Conquest mode quite a bit, but the Escalation mode is even better imo. Mostly because the nature of the mode leads to a lot of mid-game wins and losses, so the end game is almost always very intense and […]
Original post on fosstodon.org
fosstodon.org
November 15, 2025 at 6:03 PM
Submit your talks for Visual Studio Live! in Redmond for 2026. #vslive at Redmond is always a good event because it is on campus. Great attendees, lots of Microsoft folks around, and summer in the Pacific Northwest!

https://sessionize.com/vslive_Microsoft26/

#dotnet #azure #ai #copilot #blazor […]
Original post on fosstodon.org
fosstodon.org
October 24, 2025 at 8:22 PM
Reposted by Rocky Lhotka 🤘🖖
@jimsalter Really appreciate you making the distinction on the latest @25admins that Windows Professional isn't nearly as encumbered with ad and spyware as Home is. I'm a HUGE fan of technical accuracy even when discussing preferences, and this seems both HUGE and non obvious.

I think that IF […]
Original post on oldbytes.space
oldbytes.space
October 20, 2025 at 3:57 PM
This is an excellent article about using #ai to develop software with #dotnet, #copilot, #vscode and #visualstudio. It mirrors my experiences exactly and has some good guidance about how to be successful with today's state of technology […]
Original post on fosstodon.org
fosstodon.org
October 15, 2025 at 5:31 PM
Observations and thoughts about the basics around #ai communication via #mcp, #a2a, and the activity protocol. I'm working in the #dotnet space, but really this applies anywhere.

https://blog.lhotka.net/2025/10/07/MCP-and-A2A-Basics
MCP and A2A Basics
I have been spending a lot of time lately, learning about the Model Context Protocol (MCP) and Agent to Agent (A2A) protocols. And a little about a slightly older technology called the activity protocol that comes from the Microsoft bot framework. I’m writing this blog post mostly for myself, because writing content helps me organize my thoughts and solidify my understanding of concepts. As they say with AIs, mistakes are possible, because my understanding of all this technology is still evolving. (disclaimer: unless otherwise noted, I wrote this post myself, with my own fingers on a keyboard) ## Client-Server is Alive and Well First off, I think it is important to recognize that the activity protocol basically sits on top of REST, and so is client-server. The MCP protocol is also client-server, sitting on top of JSON-RPC. A2A _can be_ client-server, or peer-to-peer, depending on how you use it. The sipmlest form is client-server, with peer-to-peer provide a lot more capability, but also complexity. ## Overall Architecture These protocols (in particular MCP and A2A) exist to enable communication between LLM “AI” agents and their environments, or other tools, or other agents. ### Activity Protocol The activity protocol is a client-server protocol that sits on top of REST. It is primarily used for communication between a user and a bot, or between bots. The protocol defines a set of RESTful APIs for sending and receiving activities, which are JSON objects that represent a message, event, or command. The activity protocol is widely used in the Microsoft Bot Framework and is supported by many bot channels, such as Microsoft Teams, Slack, and Facebook Messenger. (that previous paragraph was written by AI - but it is pretty good) ### MCP The Model Context Protocol is really a standard and flexible way to expand the older concept of LLM tool or function calling. The primary intent is to allow an LLM AI to call tools that interact with the environment, call other apps, get data from services, or do other client-server style interactions. The rate of change here is pretty staggering. The idea of an LLM being able to call functions or “tools” isn’t that old. The limitation of that approach was that these functions had to be registered with the LLM in a way that wasn’t standard across LLM tools or platforms. MCP provides a standard for registration and interaction, allowing an MCP-enabled LLM to call in-process tools (via standard IO) or remotely (via HTTP). If you dig a little into the MCP protocol, it is erily reminiscent of COM from the 1990’s (and I suspect CORBA as well). We provide the LLM “client” with an endpoint for the MCP server. The client can ask the MCP server what it does, and also for a list of tools it provides. Much like `IUnknown` in COM. Once the LLM client has the description of the server and all the tools, it can then decide when and if it should call those tools to solve problems. You might create a tool that deletes a file, or creates a file, or blinks a light on a device, or returns some data, or sends a message, or creates a record in a database. Really, the sky is the limit in terms of what you can build with MCP. ### A2A Agent to Agent (A2A) communication is a newer and more flexible protocol that (I think) has the potential to do a couple things: 1. I could see it replacing MCP, because you can use A2A for client-server calls from an LLM client to an A2A “tool” or agent. This is often done over HTTP. 2. It also can be used to implement bi-directional, peer-to-peer communication between agents, enabling more complex and dynamic interactions. This is often done over WebSockets or (better yet) queuing systems like RabbitMQ. ## Metadata Rules In any case, the LLM that is going to call a tool or send a message to another agent needs a way to understand the capabilities and requirements of that tool or agent. This is where metadata comes into play. Metadata provides essential information about the tool or agent, such as its name, description, input and output parameters, and more. “Metadata” in this context is human language descriptions. Remember that the calling LLM is an AI model that is generally good with language. However, some of the metadata might also describe JSON schemas or other structured data formats to precisely define the inputs and outputs. But even that is usually surrounded by human-readable text that describes the purpose of the scheme or data formats. This is where the older activity protocol falls down, because it doesn’t provide metadata like MCP or A2A. The newer protocols include the ability to provide descriptions of the service/agent, and of tool methods or messages that are exchanged. ## Authentication and Identity In all cases, these protocols aren’t terribly complex. Even the A2A peer-to-peer isn’t that difficult if you have an understanding of async messaging concepts and protocols. What does seem to _always_ be complex is managing authentication and identity across these interactions. There seem to be multiple layers at work here: 1. The client needs to authenticate to call the service - often with some sort of service identity represented by a token. 2. The service needs to authenticate the client, so that service token is important 3. HOWEVER, the service also usually needs to “impersonate” or act on behalf of a user or another identity, which can be a separate token or credential Getting these tokens, and validating them correctly, is often the hardest part of implementing these protocols. This is especially true when you are using abstract AI/LLM hosting environments. It is hard enough in code like C#, where you can see the token handling explicitly, but in many AI hosting platforms, these details are abstracted away, making it challenging to implement robust security. ## Summary The whole concept of an LLM AI calling tools and then service and then having peer-to-peer interactions has evolved very rapidly over the past couple of years, and it is _still_ evolving very rapidly. Just this week, for example, Microsoft announced the Microsoft Agent Framework that replaces Semantic Kernel and Autogen. And that’s just one example! What makes me feel better though, is that at their heart, these protocols are just client-server protocols with some added layers for metadata. Or a peer-to-peer communication protocol that relies on asynchronous messaging patterns. While these frameworks (to a greater or lesser degree) have some support for authentication and token passing, that seems to be the weakest part of the tooling, and the hardest to solve in real-life implementations.
blog.lhotka.net
October 8, 2025 at 3:47 PM
View from my "office" today.
October 2, 2025 at 5:04 PM
I've been spending a lot of time with #mcp #ai and identity lately, and this article calls out a serious issue with the whole ecosystem (and the upcoming #a2a one) […]
Original post on fosstodon.org
fosstodon.org
October 2, 2025 at 4:50 PM
Allen Conway did a really nice montage from #vslive San Diego

https://youtube.com/shorts/kdKbgX3S7Yk?si=hOmm9mKc3VNehNTH
September 23, 2025 at 12:20 AM
I think the **#cslanet** logo looks pretty good surrounded by **#blazor** purple :)

Here's what you can expect to learn on Friday, Sept 26 in my pre-con class for **#sqlsaturdaymn**

Register here […]

[Original post on fosstodon.org]
September 20, 2025 at 10:03 PM
As someone who is in the process of moving to a small rural town, I'm pleased that the #maga attempt to reduce funding for rural hospitals is being blocked, even if that does mean a government shutdown.

Most of my family relies on various rural hospitals, which are already often barely capable […]
Original post on fosstodon.org
fosstodon.org
September 20, 2025 at 9:57 PM
Reposted by Rocky Lhotka 🤘🖖
On the Fediverse, the posts on your feed are moderated by dozens or even hundreds of different servers.

Ever wonder how that works out for your personal feed? Find out with https://moderation-explorer.online/
September 19, 2025 at 1:53 PM
Canceled our #hulu and #disney streaming. If they won't stand up for free speech they don't need my money
September 19, 2025 at 6:17 PM
Sign up for my Blazor Day presentation on Sept 25. I'll be talking about authentication and authorization in #blazor

https://luma.com/8w0qt7cy
September 18, 2025 at 1:24 PM
Jon Galloway giving the keynote at #vslive in San Diego
September 9, 2025 at 6:31 PM
Sign up now for a full day of training on using Blazor, CSLA .NET, SQL Server to build maintainable enterprise apps. This is live in St. Paul, MN on Sept 26.

#blazor #cslanet #sqlserver […]
Original post on fosstodon.org
fosstodon.org
September 5, 2025 at 4:09 PM
September 4, 2025 at 4:14 PM
I'm giving a full day presentation on **#blazor**, **#cslanet**, and **#sqlserver** on Friday September 26, in St. Paul, Minnesota. This is a pre-con for the **#sqlsaturday** event.

Here's a brief video about what I'll be covering. You can register here […]
Original post on fosstodon.org
fosstodon.org
September 3, 2025 at 2:43 AM
Trying to debug a networking issue. Tried #copilot - no joy. #chatgpt - no joy. #claude Sonnet 4 - immediate resolution.
August 31, 2025 at 11:25 PM
This is clearly a silly metric. To say someone looses focus 1200 times a day means they lose focus 2-3 times a minute. I call bs.

#ai #softwaredeveloper #productivity

https://venturebeat.com/ai/developers-lose-focus-1200-times-a-day-how-mcp-could-change-that/
August 24, 2025 at 7:58 PM