Extensions: Enabling Dynamic Agent-to-Extension Communication #152
adamkitain
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The Problem
From what I can tell, UCP extensions currently add fields to checkout data but not net-new functionality. They don't seem to have a way to instruct agents to call an endpoint or MCP server to enable additional functionality.
This feels limiting for use cases like:
In these cases, the data is dynamic and user-specific. It seems like you can't just bake it into the checkout response server-side without some kind of call.
What Extensions Look Like Today
The
specis docs. Theschemadefines data structure. But as far as I can tell, neither one says "call this endpoint to get data."If I'm understanding correctly, this means the merchant's UCP server has to integrate every extension internally. For Shopify merchants, that would mean Shopify has to build integrations with every extension provider — which doesn't seem like it would scale well.
Proposal: Let Extensions Declare Service Endpoints
What if extensions could optionally declare an endpoint that agents should call?
Or for REST:
How It Might Work
/.well-known/ucpfrom merchantservicefieldPossible Triggers
Extensions could maybe declare when agents should call them:
on_discoverybefore_checkout_createbefore_checkout_completeafter_order_createdWhy This Might Be Useful
This seems similar to how Shopify checkout extensibility works:
The difference here: instead of the merchant's server calling extensions, the agent calls them directly. If I'm thinking about this correctly, that would mean:
Example: Targeted Offers
Agent calls the service:
Prior Art
I noticed Discussion #127 (Product Safety Extension) seems to describe something like this — an MCP endpoint that agents can query for recall data before checkout. Not sure if I'm reading that correctly, but if so, this proposal would basically formalize that pattern.
Open Questions
Would love to hear if I'm on the right track here, or if I'm missing something about how this is supposed to work. Are there concerns about agents calling external services directly?
Beta Was this translation helpful? Give feedback.
All reactions