May updates: MCP Server debut, custom aspect ratios for images, multi-origin preview support. Don't miss Spring Release (May 8) and Meetup (May 22)!
Evelina WahlstrΓΆm
Technical Product Marketing Manager at Sanity
Published
Evelina from the product marketing team here with our May roundup of all the developments from the last month across the Sanity ecosystem.
We're only three days away from our biggest launch yet!
On Thursday, you'll find out what cake has to do with Content Operations. But most importantly, we're releasing new features (and products !) you can get your hands on soon.
It's also the perfect moment to join our new community space on Discord to watch it with us and ask all questions you may have. The Sanity team will be hanging out there during and after the premier.
Sign up for the premiere here β
Even though the launch is approaching quickly, our engineering team is always iterating and improving the product as you know it.
Due to the upcoming release, I am keeping things short and sweet in the video edition of this post.
Instead of finding, updating, or creating content yourself, you can now co-create this with your favorite AI Agent, using your voice!
Our new MCP server connects your Sanity content directly to AI agents like Claude and Cursor, letting you manage content through natural language conversations.
Knut and Even have put together an excellent blog post describing the origin of MCP and what it enables you to do in more detail. The post includes the two fundamental approaches you can use it for:Β Content IntelligenceΒ (knowledge is power, after all!)Β orΒ Content OperationsΒ (get stuff done quicker!), and shares a ton of ideas for how you can use this yourself.
Learn more about the MCP Server β
In short, here is what our MCP server enables you to do:
If you want to stop reading (I wouldn't blame you), you can go directly to the source of this (i.e., GitHub) and get started in minutes.
Permission to do that here β
If you are like me, a generalist specialist, and would like more context before diving in, I sat down with Even to discuss MCP as a whole - what it is, what it/you can do, and its future.
Go here for the full conversation β
James Warner and the Creator Experience Team have been focused on improving this beloved feature, smoothing out the interactions, and increasing accessibility (you can use your keyboard to navigate this now!).
The image schema options now also support a hotspot object for configuring the image hotspot tool. This now enables custom aspect ratios for the crop previews to be applied through configuration.
defineField({
name: 'hotspotImage',
title: 'Hotspot image',
type: 'image',
options: {
hotspot: {
previews: [
{title: '2:1', aspectRatio: 2 / 1},
{title: 'Square', aspectRatio: 1 / 1},
{title: '4:5', aspectRatio: 4 / 5},
{title: '9:16', aspectRatio: 9 / 16},
],
},
},
})
James was kind enough to jump on a call with me and showcase these improvements.
Go here to watch the full demo β
π Webhooks now see your versions.
Content Releases just got increasingly more powerful, as you can trigger webhooks when document versions change, not just drafts and published documents. This means your automated workflows can respond to content changes before publishing.
Want to set it up? Just check "Trigger webhook when versions are modified" in sanity.io/manage.
No more awkward "click in" or space bar tapping to get going in the Portable Text Editor in Studio. Keyboard users can finally scroll and tab through forms naturally without the editor hijacking their focus. In our opinion, it is a small but mighty change that makes a huge difference in accessibility and workflow.
That isn't the only improved UX...
A dynamic styleguide is now available to allow your editors to manage this through a document.
The function is passed a context object with Sanity client and the current documentId and schemaType. Use it as below:
assist({
translate: {
styleguide: ({client, documentId, schemaType}) => client.fetch('* [_id=="styleguide.singleton"][0].styleguide')
},
})
AI Assist now also supports these previously ignored types:
Since language about date and time is time-zone and locale-dependent, Assist will now send the browser's timezone and locale as part of the request by default. This allows instructions to use language like "today at noon" and "next year" and still get dates and date times as expected.
Our Presentation Tool now handles multiple preview URLs in a single instance. This unlocks better support for those of you with multiple domains setups, like marketing sites and websites that share the same dataset and schema.
allowOrigins
optionpreviewUrl.initial
and previewMode
previewUrl.origin
and preview
optionsThis is the first milestone towards an improved experience, with multi-origin editing experience in Presentation. The team has promised more improvements coming soon, like autocomplete and an enhanced UI for switching between origins.
sanity build
command would fail if the version
parameter in the Studio's package.json
was missingsanity init
couldn't be run in Next.js projects in unattended (-y
) modeOur video podcast series, "Code && Content," hosted by Simeon Griggs, has released two new episodes exploring the intersection of code and content.
Subscribe to our YouTube channel so you don't miss an episode, or to the RSS feed if you prefer audio only!
Aaron Francis, founder of Try Hard Studios, joins the Code && Content podcast to discuss the contrast between internal and independent content production, being your authentic self without projecting your whole self, and the role of human education in the age of all-knowing AI.
This month, Simeon asked me to join the Code && Content Podcast. As you probably can tell from the first few minutes, I was very nervous and talked too fast, as this was my first podcast ever.
But if you are curious to hear about changing from a full-time Engineer to a part-time Engineer, full-time Content Creator / Generalist Specialist, self-validation, and how I made a pact with myself to end imposter syndrome, listen via the link below.
The Sanity community always inspires us with their creativity! Here's what they've been building:
@sanity/client
with native async querying and parsing support for Rust projectsFinal reminder to join us this Thursday for our big launch event!
Join the watch party in the #live-event-chat channel in our new community space on Discord and hang out with me, Simeon, Knut, our co-founders, and the developers behind the features and products. This is the perfect opportunity to ask all your questions!
When: May 8th, 08:00 AM PDT | 11:00 AM EDT | 5:00 PM CET
Where: Online
We're hosting our next show-not-tell meetup, where developers in the Sanity ecosystem will share their challenges, solutions, and lessons learned. This is a great opportunity to see real-world examples of Sanity in action and connect with other developers.
The lineup includes a deep dive into the new App SDK (releasing this Thursday!) by Simeon Griggs (on his birthday, no less!), plus a look at scaling localized content with Matt from loveholidays, using the internationalization plugin, automated workflows, and smart schema design.
When: May 22nd, 12:00 PM β 1:00 PM EDT
Where: Online
On April 17, we skipped the slides and went straight into Powerhouse Museum's Studio to see how they built a system that works across physical and digital spaces. The Powerhouse team showed us:
With over 500,000 objects, Powerhouse needed a content system that scales. Their solution empowers editorial teams while enabling seamless content reuse across web, signage, and upcoming digital installations.
Go here to watch the recording β
That's all for May!
Have you built something cool with Sanity? Please share it in our #showcase channel in our new community space!
As I mentioned earlier, we are slowly but surely moving to Discord. Join in on the fun early, and let us know your thoughts in the #feedback channel.