Opening
DevFest Milano / 10 October 2026
Agents
Speak
Protocol
Why standards are the
real infrastructure of AI
Stefano Maestri & Alessio Soldano
Opening
We have worked on both sides of the boundary
The previous wave
Alessio
Soldano
Apache CXF / WS-*
RESTEasy / REST
Shared contractsThe current wave
Stefano
Maestri
A2A Technical Steering Committee
Linux Foundation
Independent agents
Our agents need to talk to other people's systems
History
Different decade, familiar integration problem
NetworksConnect
different systems
TCP/IP
ServicesAgree on
an interface
WSDL + SOAP
REST APIs
EditorsReuse
integrations
LSP
AgentsMeet the
same problems
Models / tools / peers
Move repeated decisions into a shared contract
History
A lens for this talk
The simplest protocol
that reduces the most
uncertainty wins
How many decisions disappear from the application?
The thesis
What can we replace without rewriting the agent?
Keep the contract. Change the implementation
The map
Standards emerge at different boundaries
What do you want to make replaceable?
Model boundary
One model contract, several providers
Typed itemsSemantic streamingTool invocation
Open Responses ≈ POSIX for model APIs
Tools boundary
Every new tool multiplies the wiring
A shared interface changes the shape of integration
From access to delegation
Same incident. A different request
“Read the latest
payment errors”
“Investigate the payment failure
and send me a diagnosis”
Who owns the work on the other side?
Agents boundary
A2A addresses an independent counterpart
Agent CardMessages / TasksArtifacts
Agree on the work. Keep internals private
Agents boundary
A task can outlive a single response
Track work, exchange input, receive artifacts
Illustrative path / input-required is a pause, not completion
The architecture
Capability access + outcome delegation
MCP Invoke a capability
A2A Delegate an outcome
Users boundary
Let the user follow and guide the work
AG-UI
Events & shared state
A2UI
Declarative components
MCP Apps
Tool UI inside a host
Knowledge boundary
A shared meaning can fit in a file
.md
AGENTS.md
Project instructions
Convention/
Agent Skills
SKILL.md + resources
Load detail when needed{ }
Agent Plugins
Manifest + reusable parts
Package / check client support
Interoperability starts when implementations agree on meaning
Operations boundary
Follow one request across boundaries
OpenTelemetry GenAI semantic conventions
Propagate context / instrument each service / pin the convention version
IDE boundary
Change the coding agent, keep the editor
Agent Client Protocol ≈ the LSP pattern
Sessions / progress / permissions / cancellation
Epilogue
The next boundary: money
402Payment Required
A long-reserved HTTP status
gets a machine-readable payment contract
x402 / request, terms, authorize, verify & settle, deliver
The bets
Adopt where replacement matters
Start from a needMCP
Reusable tool integrations
A2A
Independent agent delegation
Evaluate the contractCompatibility
Common subset
Extensions
Independent implementations
Keep the rest on your radarOne boundary
at a time
Introduce a standard when
the integration pain is real
Closing
We have seen this before
Replace what is
on the other side.
Keep your applicationAgent
That is when a protocol becomes infrastructure
Discussion
Grazie! Questions?
Appendix
Choose the interaction contract
| Question |
MCP |
A2A |
| What does the caller need? |
Access to a capability |
Work from an independent counterpart |
| Main building blocks |
Tools, resources, prompts |
Agent Card, messages, tasks, artifacts |
| Does state decide the choice? |
No: implementations can keep state |
No: direct responses are possible |
| Can an agent sit behind it? |
Yes, exposed as a capability |
Yes, addressed as a remote agent |
| What must still be designed? |
Domain semantics, policy, errors |
Outcome, evidence, limits, trust |
Choose by the contract needed by the caller
Appendix
A shared protocol still needs a trust model
IdentityWho is calling?
Authentication
Delegated identity
AuthorityWhat is allowed?
Least privilege
Host policy / consent
EvidenceWhat can we trust?
Validate inputs and outputs
Assess the result
Discovery describes a peer. It does not establish trust
Appendix
Three UI contracts, different responsibilities
| Contract |
What it standardizes |
What the client owns |
| AG-UI |
Agent/frontend event and state exchange |
Application experience and event handling |
| A2UI |
Declarative component and data descriptions |
Supported catalog and rendering |
| MCP Apps |
Interactive UI supplied by MCP tools |
UI hosting, isolation and permissions |
Compose what you need. No mandatory full stack
Appendix
x402: authorization before settlement
V2 headers: PAYMENT-REQUIRED / PAYMENT-SIGNATURE / PAYMENT-RESPONSE
Appendix
Test replacement, not just protocol support
- Connect two independent implementations
- Exercise the common capability subset
- Check errors, permissions and lifecycle
- Identify private extensions and semantics
- Replace one side and measure what changes
Compatibility is something you demonstrate