Explore powerful content workflows for marketers using the native Directus MCP Server with ChatGPT and Claude. This episode demonstrates real-world marketing use cases including importing formatted content from Google Docs, creating landing pages with AI, automating translations, and generating images.
Speaker 0: Alright. Alright. Alright. Welcome, marketing folks. This is the video for you.
I'm Brian from Directus. In this video, we're gonna cover content workflows with the Directus native MCP and ChatGPT and Claude. So this is gonna be exciting. We're gonna step through a couple different content workflows that you're dealing with on your day to day basis and give you a couple ideas for how you can improve that. Right?
First one on the list, developers versus content teams. No. We've got content that we have inside a Google Doc. This has been written by a guest author. It has specific formatting, And anytime you've tried to copy and paste this inside your CMS, you know what a challenge it is.
Alright. So let's tackle it. Right? We're going to go inside our CMS, and I'm just gonna first create a new user for our AI. This is just best practice as far as security goes.
We don't need to do anything else other than scroll down. We're gonna give them a team member role and we're gonna generate what we call a static access token. That's really all we need to do here. We're gonna hit save, and now we've got our AI user. Make sure that you, copy paste that token somewhere because we're gonna reuse it in a moment.
For this, let's go to ChatGPT. We're gonna go to our apps and connectors, and make sure you go to the advanced settings. Now you're gonna have to be a plus member of ChatGPT or better. Make sure you enable developer mode and we're just gonna create a new connector. Sounds scary, it is not.
We're just gonna call this Directus CMS and what we're gonna do here, we're gonna copy our Directus base URL, I'm gonna paste it here, I'm gonna do a big slash, m c p, question mark, access, underscore, token, and then we're going to take that, static access token that we generated and just stick it at the end of that URL. Now we get a big scary warning here. The nice part about the Directus MCP is we have guardrails in place, so anything that you can't do via that user's permissions, the LLM is not allowed to either, and that's an important part of the Directus MCP. So we hit create. This should create our custom connector and connect to the direct assistance and sometimes that takes a little longer in chat g p t.
Cool. Alright. So now we can see that. We've got access. It is connected.
We can see all the different tools. Cool. Alright. So next up on the list, right, we've got our blog post here and we want to get it here. Cool.
But, now, one of the things that guest writers often forget is we have a lot of extra fields like SEO, meta titles, and descriptions. We've got content. But again, if I copy paste this, it's not gonna work great. So we're just gonna add this from Google Drive, find our article, here it is, Devs versus Marketers, and we'll say please add this to our Directus blog posts collection with all the proper fields for our schema. Cool.
Alright. With that, we'll hit go. And what this should do is call the Directus MCP and start working through this document. Alright. So it's reading the different documents.
We could see the train of thought over here. Just my own personal experience with chat GPT version five is, it's a little bit slower. We can, you know, crank that up if we want to, but this should call the direct to schema, and then it will hopefully, pick up our post structure as well so it knows what fields that we need to send. It's doing a bit of thinking here, and we could turn that down if we want to. But there we go.
We could see it's picking up the post schema from the direct instance. And after that, it should start formatting this into, an article for our post. Alright? Need to create a post using the uploaded docx file. I'll extract the title.
There's a slug. Set the publish state to in review as null. Perhaps add an AI generated summary. Okay. So now we can see here that it is going to call a tool to create this post force.
Let's take a look at the results. So if we hit refresh, it doesn't look like it's quite done yet. What do we get here? Are we done? Successfully created the item.
All I have to do is hit refresh over here, and now we can see our article. Right? It's populated the title, populated the slug. We've got all of our formatting and AI generated summary. And if I open up the code here, there is no crazy formatting.
These are just standard HTML tags, instead of the Google Docs nightmare. Right? So that's all done. Amazing. Right?
Now let's take a look at how to go further with this. Right? Alright. So now let's switch over to Claude and just show that workflow as well of how to connect if you're using that. I find that Claude's sonnet is usually a better writer than, ChatGPT in in my own experience.
Now they they got a little better with GPT five, but SONNET remains, great at writing. So we're gonna go into the settings. We're gonna hit add custom connector. It's a very similar setup. We'll just call it direct to CMS.
We're going to copy and paste our URL, again, slash m c p question mark access underscore token, and then we're gonna paste that token that we generated, which I believe is this one, I think. And then we'll hit add. That should connect, and we'll know it's connected here because then we can click configure. Now with Claude, we've got some stuff that we don't have in ChatGPT, and that's why I wanted to show this to you as well. You've got the ability to load prompts from Directus.
So inside your Directus instance, if you're using our CMS starter, you already have this baked in or, you know, it you could create this collection really easily. You can use these templated prompts essentially to build powerful workflows. You know, this one is a dad joke. We've got a system prompt here, etcetera. But, you know, we've got samples in here like humanize the content or create a landing page, which is what we're going to do now.
Right? So I wanna create a landing page for the Directus MCP. We'll get super meta here. And what I'm gonna do is click add and hit landing page, and here is a series of prompts. Right?
So the Directus MCP server is the product we're promoting. We want, we want folks to try it with Claude and chat GPT. Reduces busy work. This is gonna be marketers as our audience and, clicking around a bunch and wasting three hours of your life to create a blog post. Cool.
Is this too technical? Maybe. Alright. So we're gonna add our prompt here. Failed to get the prompt.
Why did you fail to get the prompt? Test. There we go. Okay. Sometimes that happens.
Alright. Create a landing page for the Directus MCP. Cool. So what should happen next? Right?
This should call a series of the Directus MCP tools. First is gonna get the system prompt, and I could choose to allow once or always allow. The system prompt is pretty harmless. It just basically has some instructions for the LLM. Then it's going to fetch our direct to schema so it knows how the landing pages look, and it's going to fetch the available blocks.
So as a marketer, you don't want to hit up the development team every time you wanna launch a page. Directus CMS is beautiful in that regard because you can build pages, really detailed pages from, just dynamic blocks here. So you could see I've got a hero. I've got rich text. We've got some blog posts.
We've got pricing plans. And then we have our form. Right? So each one of these blocks has its own setup, different style of fields. Here's all our different images, etcetera.
But it can be time consuming to scaffold out some of those pages. Now you could duplicate pages or, we can, in this case, have our LLM friends create some of this content for us. So now you can see it's actually going through and building out the landing page for us. So we've got a block hero. Here's the copy for that.
It is creating the buttons for the hero. Now it's updating the hero with the button group. Now it's gonna create the problem solution section. And, you know, if we take a look at the prompt that we had here, basically, I'm telling it that, hey. You're Harry Drey, the world class copywriter.
You are amazing at generating landing pages that actually convert. You examine the direct to schema to see what blocks are available. So basically, all this is just templated prompt so that you know, you're gonna get predictable or somewhat predictable results out of this thing if you use it over and over again. And you can create those prompts here inside Directus. Whatever works for you, save them, share them with your team.
It's definitely a very nice workflow. So it's going through and creating all the different sections for us, and then once it's done, it should come back and put them all together. Now I'm going to just fast forward for your sake through this process, and then we'll come back. And we're back. Okay.
So it has completed this landing page for us. I'm a little scared to open it. Obviously, these things are never scripted here, but we could see our landing page that it created for us. If I want to take a look at the live preview there, great. Stop clicking around for three hours, start creating content in minutes.
And and as far as the design of this starter page here, it's a starter. We keep it relatively simple. So there's nothing crazy going on as far as the design, but we've got a ton of copy here that we could then potentially go in and easily update inside Directus, either, you know, through the visual editor or, you know, right inside the form. We've got a lot of different options there. But now let's take a look at one of the other use cases that I wanna cover in this video.
Alright. So let's go back to our blog post that we created through ChatGPT, this developers versus content teams. I'm gonna start a new chat over in Claude's sonnet, and we're just gonna have it actually run some translations for us. If you're based in Europe or even in The US, content needs to be localized into each language, which can be a challenge. Now Directus has a great interface for this where I could see my different translations side by side and compare those, but the act of actually translating the copy takes a while.
Newsflash, LLMs are incredibly good at translations because of all the the data they've been trained on. So let's put that to use. Right? We have this article inside our directus CMS, I'd like you to generate all the translations for that post in all the different languages we support in the languages collection. Alright.
So let's just see if the LLM could get this right. You know, I intentionally misled it a bit because the collection inside Directus is called post. Right? It is not called articles, so, you know, this is my attempt to confuse it a bit and see what results we get. Right?
So it's gonna call the system prompt. Amazing. That's our expected behavior. It should then fetch the schema, and that's going to return a list of all the collections. We could see those there.
And then it's going to be fetching the posts and the languages collection. Alright. So now I could see the post has a translations field. Let me find the specific article. Okay.
So it looks like it's located the article. It's gonna actually check our translation schema to see what fields that we need. And now it is going to check on the actual relationship. Direct us relations. Okay.
I think this is because I've activated the skills, which is a relatively new cloud feature inside my accounts. Don't have access to do this. Okay. So here, we have hit a snag. Right?
Let's just pause. This looks like it's a permissions issue because this post translation is a relatively new thing. Look. LLMs are not perfect. This is not a rehearsed demo, so sometimes you're gonna run into interesting bits.
Right? So let's go in and for a team member inside here, we'll just add some access to create, read, update post translations. That should solve that issue. And now I'm just gonna start a new chat. You know, one thing that I've found, sometimes it's better just to start a new chat when things get squirrelly instead of trying to actually, course correct.
These LLMs, they pick up steam. It's kinda like gravity, a ball going downhill. Alright. So we're gonna go through the same progression here. It should check on the schema.
It's gonna find the languages. Now it's actually picking up on the post translations. We'll get all the available languages. Cool. See you have eight languages.
Let me check if there are any existing translations. So it's going through this in a a smart manner. Now it's going to generate all the translations for the non English languages. Excellent. Alright.
So it it understands the schema. It knows what each of our translations, look like behind the scenes, and it should do all of this work for me. Looking nice. Is it going to make all of these in a single call? Let's kinda monitor what it's going to do.
Great. K. We could see it's still translating this. So, again, in order to save you guys some time, I'll just hit fast forward. The last time was about sixty seconds.
We'll see how long it takes here. Alright. And we're back. So Claude has told us it's successfully created all the different translations for our article. So let's just pop back in here.
We'll go to the translations tab, and let's do this side by side. So we could see the Arabic translation, if we wanna look at French versus the Italian. I am terrible at both of these languages, so I couldn't tell you if these are accurate or not. But I can tell you that it is amazing not to have to do all of this work manually myself. So we could see those side by side.
You could close that out if you want to. Just drop that there. We could filter through these and see which translations are actually completed versus not. It has done all those fields for us, which is great. And that is it for translating content.
Right? I wanna show you just one more thing before we go. Directus has built in automations. These things are called flows. Flows are just simple or complex low code, no code automations that, the MCP can create for you or your developers can create to enable you.
Think sending email notifications or pulling data from other systems into Directus. Now you can call these flows, at least the manual once, through the MCP, but also you can run those through the Directus UI. So the last piece of the puzzle, right, we're missing a beautiful image for this. Let's just pop open our flow. We've got a generate image flow and, create a kind of developers versus, generate an image of a developer fighting a marketer inside a boxing ring, ultra realistic, four k, high def, whatever.
Right? If I could actually spell high def. Alright. So we'll do this in, what, sixteen nine, run this flow. We'll get a notification that this is and image generation has kicked off.
And in just a moment, there we go, we see our image to use. Looking great. And then we could just go back in and quickly add this to our blog post. We'll look for all files. There we go.
Let's set a publish date on this. We'll make that for today. We've got, the author, the webmaster, and then we can see this image in its full glory. Well, the image is not loading, but, why is that? It's probably because it needs to be moved to the public folder to be visible.
Again, no perfect demos, but this is, you know, this is a great workflow, I believe. Alright. So there we go. We can see our blog post. I can go in.
And if I do need to change something here, we've got the visual editor inside Directus. Maybe I want to tweak this and use that em dash that everyone is avoiding. Cool. So that is it for this video and content editing workflows in Directus. I hope you, mister marketer, missus marketer, miss marketer, will find a ton of value in the Directus MCP.
Stay tuned for more videos in this series.