Is the n8n MCP worth the hype? (set up guide + no fluff review)

Rory Ridgers sets up the n8n MCP for Claude Desktop and tests it on three workflows: a Slack news digest, a lead-enrichment pipeline, and a more complex flow. The generated workflows are 60-70% complete and take 10-15 minutes to build, but need manual credential setup and custom nodes. It's useful for drafting and debugging, not yet ready to replace developers.
Chapters
So you've probably seen a lot recently about the NAN MCP in Claude Desktop, and if you're an NAN developer like myself, you might be worried about something like this taking your job. So in this video, I'm going to walk through exactly how to set this up, and I'm also going to test it out so we can both see together how the NAN MCP actually performs compared to just doing it manually. So I have used this very, very briefly before, but this is pretty much going to be a live reaction of how this actually works, because like I said, I've only very briefly tested this out before. I think I only created one workflow and it was very simple. So we're kind of going to see together how this actually performs, and I'll give my real thoughts and opinions on how it looks for the future of NAN developers with more tools like this coming out. So let's jump straight in. I'll show you how to set it all up, and then we'll get on to actually testing it. So to set it up, we're going to be using this NAN MCP repo on GitHub, and this is, as far as I know, the best NAN MCP on GitHub that you can download for free. And the reason for that is because it includes all of the documentation from NAN. So you can see it's got 528 nodes, and then all the node properties, node operations, and then 90% coverage coverage of official NAN documentation. And this is kind of what sets the system like this apart from just doing this with ChatGPT, because as you probably know, with ChatGPT you can just get to generate you a JSON file that you can upload to NAN, and they work. And I mean, they might be good for like really, really simple solutions, but a lot of the time the, uh, ChatGPT or Claude or whatever you're using, whichever LLM, doesn't have context on NAN, doesn't have context on the actual workflow that it's building, and that's why you just can't create complex solutions at all with it. So something like this should be very, very good considering it has all of this documentation and it has full context on how N8M works and how it actually builds these workflows. So to begin with, to set this up, as a prerequisite you're going to need Docker installed. So if you don't have Docker installed, it's really, really simple. You just go over to docker.com and you can click download Docker Desktop and then download it. It's free to set up an account and you don't really have to do much configuration in there. So make sure that's downloaded, and then you also have to download Claude Desktop for this. This won't work for the web version, it has to be the actual desktop app. So the first thing you're going to do is if you come over to this repo, if you scroll down, you can see we get this terminal command here. So what we're going to do is we're going to open up the terminal. Of course, I've already done this, but I'm going to be walking through how you would do this if this was your first time. So I simply copied and pasted that command into the terminal on my Mac And then you can see this is what I got. And basically we're just pulling the latest version of that GitHub repo into a Docker container so it's running locally on our PC. So now that's set up, all you need to do is come over to the Claude desktop app. And if you go to Claude and then settings and go to developer, you can see I've already got this configuration running, but you'd go to edit config and then open up this file here. And this will open something that looks kind of like this, but it won't be like this, it'll be a little bit different. And the way you get this to paste this in here is if we come back over to this GitHub repo and then Scroll up, we're going to paste in this one. This one is going to allow the Claude Desktop to actually make the workflow or the system in NAN and then upload it to your NAN instance. So it's just going to be in NAN. If you do this one, it'll just be able to create the JSON file, which is still okay, but if you want to just upload directly into your NAN instance, then you'd use this one. So all you're going to do is you're going to copy that and then you're going to paste that into here. And if you see in the one here, the two things you have to change is going to be your URL and your API key. So the way you get this you simply just go over to your NAN instance and you just copy the URL here, everything before the slash, copy that, paste that into the URL input here. And then the NAN API key, all you do, come back over to NAN, and if you go to settings and then NAN API key, you just create an API key here. And then of course paste that into this input here. And that's all you have to do, save that. And then once that's saved, all you're going to do is you're going to shut down Claude. So you can quit the app like this. Okay, so it's quit. Perfect. And then if you open it back up again, this might take a minute for it to load, but if you open it back up again, basically, uh, Claude is going to go through and see this new configuration file when it loads out the app. And you should see, if you go to your little toolbar here, you should see something that says NAN MCP with 39 tools. And then what you're going to want to do is you go to projects, and then I've already created a project here, but you'd go new project and you can call it anything you like, like NAN MCP demo. Put a description if you like. I'm not going to. Hit Create Project. And then in the instructions, you can open some new instructions. And then if we come back over again to the GitHub repo, if you scroll down a little bit, there should be a big prompt somewhere. So keep scrolling down, then yeah, you get this prompt here. So you just copy that, come back over to Claude, paste that in there, and hit Save Instructions. And then now you can talk to it through this project, or you can just start a new chat and then click the plus and then use project and then click on the project that you just created. So I'm going to do the one that I used earlier and now we can get on to actually testing out this system. So I already have a couple prompts prepared just for systems I wanted to create in NaN and kind of ranging from easier to harder. So there's 3 systems, the first one's pretty easy and then the third one's pretty complex. So we're just going to test them all out, see how it does for each of them, see if we can change anything and then kind of see would it have been easier to just do it manually or use Claude to do this. So the first one is designing a Slack news digest that runs every hour, checks my Gmail inbox for any unread messages whose subjects contain daily news. For each message, extract the plaintext body, strip quoted text and signatures, then ask Claude to summarize it in 3 concise bullet points. Post a summary to the team news channel in Slack, prefixed with the original email subject as a bold header. Mark the email as read when successful. If any steps fail, route the error to an error Slack channel with the errors in JSON. So all we're going to do is we're going to send that off, and then it should ask me a few clarifying questions. So it's kind of going to scope out the project, and then it's going to ask me a few clarifying questions. And also, by the way, you can see while it's using these tools— these are the different tools— like it's reading the tools documentation and search nodes. You'll get a pop-up that says, can Claude use this tool? And if you just hit allow always, then it will stop asking you the next time it uses that tool. So you'll get some pop-ups if it's the first time running through here. But you can see here what's happening. So it's searching the tool documentation, gets all of this data back here, and then it searches all the different nodes that it can use. And then it searches again, obviously looking for specific nodes here. And you can see, now let me search for AI nodes, specifically Claude. Searches nodes again. Let me get the essential details for each node I'll need. Get node details. So you can see it's using all these different tools and it's kind of intelligently working its way through the entire process and taking it all step by step and seeing exactly what it has to do. So, so it's searching all the nodes to see which individual node it will actually need, and then it's checking all the details of that node to see how it actually configures that node in NAN. And this is the kind of pop-up that you're going to be getting. So you just hit allow always. So this is the output it's given us. You can see it's still going on, but it's given us this little output based on your requirements. Here's how I envision the Slack News Digest workflow. Interval trigger, Gmail filter code, AI agent, Slack, Allow always. Keep getting pop-ups like this. Um, Slack, Gmail, and then the error flow is going to be an if/switch node and then a Slack post to errors channel. So perfect, sounds like it's got it all figured out. It's now validating all of the different nodes, which is really cool, searching the node properties. And we should just let this be able to run for a minute and kind of, um, yeah, see what outputs. Check and it also give us a breakdown of exactly what it did. Okay, see, now you can see it's actually coding the NAN workflow. But yeah, we're gonna let this run for a minute and we're gonna come back when it's done. Okay, so you can see right now it's still going and basically what it's doing is it created the initial workflow and then it said there's some issues I need to fix. So cycle detected, missing trigger node, error handling placement, and then expression issues. And it's basically just fixing that and then it validates it again to see essentially would this work in NAN. And then again it said there's some issues, so I'm going to validate it again and then retry it. And then again, there's been some issues, so it's doing the same thing. And we also get these now and then. So the response paused because Claude reached its max length for a message. Hit continue to nudge Claude along. So you have to hit continue. Basically just reaches like context window limits in the chat. So you just have to hit continue and then it just kind of starts again and picks up where it left off. But yeah, still going. So we'll come back when it's done. Okay, guys, so it is still going. It's kind of just getting stuck in this loop of making changes, validating it, saying something's wrong, making changes, validating it. You can see up here, this was the original, uh, point where it realized there was an issue. So it made a new version, validated it, made a new version, actually let me do this instead, made a new version, made a new version because I had to hit continue, validated it, new version, validate, new version, had to hit continue, new version, validated it, Validate it again. Okay, then now it's saying it's complete. So perfect, I've successfully built and designed and validated your Slack News Digest workflow. What we built, and it's given us a breakdown of exactly what it built with the error handling and then all of the key features here. And then I'm just going to say, okay, deploy this to my NAN. So now it's actually going to deploy it to my NAN. So it first does a health check on my NAN and then says your NAN is accessible. And it does nan create workflow, and it basically just uploads that entire JSON file into NAN using the tools it's got from the MCP. Okay guys, so you can see it's having some issues. So first of the health check, tried to create the workflow and said there was an issue with deployment. Did a diagnostics check, and then it tried to create the workflow again. And then tried to do partial updates, partial update again. Then tried to get the structure back that it's already uploaded. Then it tried to do more partial updates. You can see, and then try to update the whole thing a couple of times, did a partial update, and now it's hit context window limits. So we're going to hit continue, and hopefully this does actually get deployed to NAN. So it's going to try and do an NAN update partial workflow again, uh, just picking up from this step, and we'll see if it can actually deploy it. Okay guys, so it has actually deployed. My camera actually died halfway through that, so that's why the angle might look a little bit different, but this whole process probably took around 15, 20 minutes from start to finish. So it took quite a long time for it to actually do this. Of course, I'm going to cut a lot of it out of the video, but yeah, it took about 15 minutes for this entire process. But you can see now I've had to click continue quite a few times, but you can see now it's actually, uh, deployed the entire workflow. This is the workflow ID, status created but needs manual connection setup. So basically, this is what it's done. It's given us a link to it. So if we go over back to our NAN instance. I've opened it up here, you see it's called Slack News Digest, and this is how it looks. I haven't touched it at all. This is what it's given us. So you can see a lot of these aren't connected, um, credentials need to be set up, which of course is something I'll do. Don't expect the Claude MTP to do that. But yeah, this is what's given us. So every hour— this is obviously correct, this runs every hour— search unread news. So it just gets the last 10 emails every hour, okay. Filter valid emails is put in the ID of the email, and then if it's not empty, so I guess just validating if it's a valid email or not, which is what it says. And then get email details, it puts in the JSON ID, uh, but there's no input here, so I guess we've got to connect that up. And then it puts in the JSON ID, gets the details from that email, and then we also have to connect this up, I'm presuming, as well. So if we look into here, there's actually no JavaScript in here. I'm not too sure why there's no JavaScript, but it just says language and then JavaScript. There's no actual JavaScript here. So not too sure what's happening there. And then this node, I don't even know what this node is. AI summarized 3 bullet points. It says the node is not currently installed. It's either from a newer version of NAN, which is impossible because this is the newest version of NAN that I'm using, or a custom node or has invalid structure. So I'm willing to bet that this is probably one that has invalid structure, because I doubt the MCP would know about the custom nodes. And it's obviously not because it's an older version of an— so I'm not sure what that node was even trying to be. I assume it's some type of AI agent or LLM node, because you can see here above it there's the Claude model. And then post to #teamnews. So I haven't actually got Slack credentials set up, but you can see pretty much filled up everything in here quite nicely. And then this hasn't been connected up, so I assume it would go like that and then like this, mark that same email as red. So it's taking the ID from the email that we extracted and then the error handling, uh, message text Slack News Error Digest, and then the time. If we switch this to expression, you can see does actually put the time variable in there, which is pretty cool. And then this is just sending to the error handling Slack channel. So it's okay. I mean, obviously it needs some work manually Um, but the bare bones of it is there. I'd say about 60-70% of the system is actually there. So it didn't do a bad job, but would I have been able to just do this quicker if I did this manually? I mean, maybe. And I'm not too sure what this node is supposed to be there. Okay, so now we're going to start a new chat. And I know I said we're going to test out 3 different prompts, but I don't think there's any way it's going to be able to do the third prompt based on that first one. So we're going to try out the second one. So if we click new and then use project and AN MCP, and then we can paste in this prompt here. So Act as an NAN solution designer. Create a workflow for lead enricher and nurturer that automates new lead intake. Trigger is gonna be a new row in Google Sheet, uh, call Clearbit company API with company domain from the sheet. Map back industry, employee count, description, and logo URL. Query HubSpot CRM for an existing contact with the same email. If found, update it or not. Create a new contact and associate with company data. Add a simple numeric lead score out of 100 based on industry and employee count. Store it in a custom property, AI lead score, personalized email. Have Claude draft a short, friendly cold outreach email that references the company description and value props. Send, send via Gmail with the sales rep signature pulled from an environment variable. Append a row with a timestamp, email, and score to a second sheet, lead log. So basically we're just pulling leads from Clearbit company API and then enriching them, finding the right data, updating HubSpot CRM, scoring them out of 100 based on the industry and employee count. And then crafting a personalized outreach and sending that via Gmail. So we're going to send this off. I assume it would have some clarifying questions with this. It didn't with the other one like I thought it might, but with this it might be asking like, what industry or employee count are we looking for to score out of 100, for example. So we'll see what it comes back with. So you can see here it's doing the same thing as before. It's searching for nodes they can use, getting the node essentials, and it's kind of drafting up a flow of how this is going to look. So Google Sheets trigger, HTTP request, HubSpot, if node, and then creating a company or updating a contact, code node to score, HubSpot again to update the AI lead score, an AI agent, Gmail, Google Sheets. Cool. So does this architecture look good to you? Should I proceed with building the detailed workflow configuration, or would you like me to modify any part of the flow? I'm going to say no. Start, start now, and when you're finished, deploy it to n8n. Spelled finish wrong, but shouldn't matter. It should know what I mean. Perfect. I'll build the complete workflow and deploy to n8n. Let me start by validating the node configurations and then building the workflow. So I'm going to let this run and just come back when it's done and show you the entire output of it. Okay, so it's now actually finished. You can see this is the plan where we left off, and then I said no start now, and when you're finished, deploy it to n8n. And you can see it went through this whole thing of creating the initial workflow, validating it, hit context window limit, had to hit continue, carried on validating, created the workflow in NAN, did an NAN health check, and then now it's getting on to when it's actually creating the workflow in NAN rather than just coding it inside of Claude. And you can see here it just keeps trying to update it, update it, had to hit continue again, updating, updating, updating, updating, updating, validating, and then actually went through. This one didn't take as long, but it still took probably around 10 minutes to do this whole thing, and I haven't even looked at this yet. So we're going to have a look at it now together. So it's given us a breakdown of what's included, but I kind of just want to take a look at it to see exactly what's going on. So if we click on it, it should be this one here. You can see again, nothing's really connected up, which is kind of annoying. I don't know why it's doing this, but it's got the beginning right. So Raw Leads trigger when there's a new, uh, row created in Google Sheets, and then Clearbit Company Enrichment. So we're doing a HTTP to Clearbit Company Enrichment, which is pretty cool. Search existing contact in HubSpot. That's working perfectly. And then these should be connected up here like this and like this. So if we have a look, it's basically switching it to see if the existing contact is greater than zero. So if the contact exists or not, then it either updates or creates a new one, and then it merges this data back together, calculates the lead score. And then you can see this time there is actual JavaScript in here, which is pretty cool actually. And then updates HubSpot lead score. Uh, perfect. So obviously it doesn't create that column or that field in HubSpot, so that would obviously already have to be there. Um, but I can do that myself, which isn't a big issue. So then again, it's using these nodes that don't even exist. I assume these are meant to be AI agent nodes, but for some reason it's generating them and they're saying they're not existing. So I assume that's meant to be an AI agent node. And then send personalized email. So it's put all of that data in the subject, uh, obviously have to— quick question about— and then it looks like it's used the execute node calculate lead score output, which would be a lead score rather than the actual person's name, which is a little bit odd. Uh, this is to calculate lead score again. Maybe that calculate lead score actually outputs, um, just all of the data as well as the lead score, so like their email, their name, that kind of stuff. So I'm hoping, and then the message, it generates a message which would have been from this AI agent step before, and then it logs all of that into a spreadsheet. So pretty cool. This one worked out pretty well actually compared to the last one. Okay, so that is it for the video, guys. And now I want to share my opinions on this NAN MCP for Claude. And I just want to start off by saying, is this taking anyone's jobs? No, not how it is at the moment. It's not going to be taking anyone's jobs at all. I think the main application I see of this is just drafting out workflows. So if you have a fairly simple workflow and you just want to quickly draft it out and start adding your own stuff to it, and this is probably a good use for this actually, it's just, yeah, like I said, drafting out these workflows. But then also another great use I see for this is rather than actually having it generate the workflows in NN, it's just being able to ask questions to it and review your existing workflows. So it has all of the documentation tools so it can search all of the documentation So you can just say to it, I have this issue in my NAN workflow, maybe upload the JSON file, and Claude with the NAN MCP should be able to go through that and tell you the exact issues by looking at all of the documentation. I think those are the two best uses for this. I think if you're looking to create actual full-blown workflows and systems that you can either use internally or sell to people for any significant amount of money, I don't think it's there yet. So that's my honest opinion on it. I think it's coming along great. And I think what they have so far is pretty cool and it is pretty useful for some use cases. But in terms of actually just building N8N workflows and replacing N8N developers, I really don't think it's there yet. So yeah, that is it for the video, guys. If you have any video suggestions you'd like to see, anything else you'd like me to build or test out or show you guys how to do inside of N8N, please do just let me know in the comments or just drop me an email and I'll try my best to get around to doing it.
More from Rory

Dynamic Workflows are crazy. This is how to actually use them (beginner's guide)










