Building an MCP Server for Umbraco Commerce
4 min read
It’s undeniable that the biggest story to come out of this year’s Codegarden was the MCP integration developed by Phil Whittaker and Matt Wise. The possibilities it unlocks in Umbraco when paired with AI were nothing short of jaw-dropping. Their work was so impressive that Umbraco adopted MCP as the official way to implement AI in the platform — even featuring it in the keynote.
Whilst the keynote was impressive from a content perspective, one element that stood out to me was the demo of a simple commerce integration. Rather than connecting to Umbraco Commerce, it worked from a CSV file of orders — a neat example, but it got me thinking about what an actual MCP integration with Umbraco Commerce might look like.
Since then, we’ve been tinkering with a proof-of-concept Umbraco Commerce MCP integration — taking what we saw in the keynote, making it work for commerce, and seeing where we can push it next.
The Goal
Our focus with the Umbraco Commerce MCP proof-of-concept has been to explore MCP as an assistant for store owners — one that can provide insights on demand and help augment day-to-day actions. Instead of digging through reports or manually filtering data, the idea is that you can simply ask a question in natural language and get the answer, or trigger a related task, right away. What follows is a look at some of the things you can already ask it, along with a few ideas we’re exploring for the future.
What It Can Do Now
For this proof-of-concept, we’ve focused on what’s possible using the existing Umbraco Commerce management APIs, which already power dashboards, analytics, and order management features in the back office. That means our MCP can tap into a broad range of capabilities right from the start.
🖥️ Daily Operations Dashboard
- View total orders and revenue for the day.
- Spot orders that require immediate attention.
🛒 Order Management
- Search and filter orders by product, status, date, and more.
- Add notes or tags to an order without leaving your current workflow.
- Capture pending order payments.
📊 Business Analytics
- Identify top-selling products.
- Compare performance with previous timeframes.
- Measure customer retention rates.
These features aren’t new to Umbraco Commerce — but MCP makes them quicker and easier to use by putting them behind a simple, conversational interface.
Example Queries in Action
Here are some examples of the kinds of natural-language requests the MCP integration can already handle.
🖥️ Dashboard Insights
- “How is my store doing today?”
- “What orders require my immediate attention?”
- “How do today’s sales compare to yesterday?”
🛒 Order Management
- “Find me all orders whose payments need capturing”
- “Add a note to ORDER-123-456-789 saying ‘The customer requested gift wrapping’”
- “Tag all orders over £100 as ‘VIP’”
📊 Analytics
- “What is our average order value trending at right now?”
- “How are our repeat customer rates compared to last month?”
- “What are our top-selling products this quarter?”
What It Can’t Do (Yet)
This proof-of-concept already covers a lot of ground, but there are still important capabilities we haven’t tackled.
🏪 Store Management
- Edit full order details, including addresses and custom properties.
- Create and manage carts (e.g., generate a cart link to send to a customer).
- Create discounts from a simple description.
- Generate gift cards and send them directly to customers.
📊 Analytics
- Run stock-based analytics reports.
- Analyse refund rates over time.
- Integrate analytics with Umbraco Engage via MCP.
We see these as opportunities rather than gaps — and many of them are on our radar for future exploration.
How to Try It
If you’d like to see the Umbraco Commerce MCP integration in action, we’ve made the proof-of-concept available in our GitHub repo, complete with setup instructions and example queries.
You’ll find:
- Installation guide — steps to get the MCP integration running locally.
- Configuration tips — how to connect it to your own Umbraco Commerce instance.
- Example prompts — ready-to-use natural-language queries to try right away.
👉 View the source code and instructions on GitHub
We’d recommend spinning it up in a test or staging environment first — the current release is an early proof-of-concept, so things may change quickly as we refine it.
Once you’ve had a chance to explore it, I’d love to hear how it works for you and what ideas it sparks.
What Do You Think?
This proof-of-concept is just the beginning, and I’d love your feedback.
- Does the assistant-style workflow fit how you’d like to work with Umbraco Commerce?
- What kinds of questions or actions would you want it to handle?
- Are there integrations or data sources you think would make it more powerful?
Your input will help shape the next iteration — whether that’s refining the existing features, tackling some of the “can’t do yet” items, or exploring completely new ideas.
You can share your thoughts by:
- Opening a discussion on the GitHub repo
- Reaching out on the Umbraco community forums or Discord
- Dropping me a note on social
Every suggestion helps me get closer to building something genuinely useful for store owners and developers alike.
Until next time 👋