Itential logo
Demos

The Hello World of AI for Network Engineers & Why You Don’t Need Python Anymore

Andy Lapteff has been honest on this show about being in the 70% – the network engineers who haven’t crossed into automation yet, who’ve watched the “learn to code” narrative from the outside, and who are starting to wonder what AI means for their careers. John Capobianco has been just as honest about where that 70% actually needs to start: not with a Python course, but with a working MCP connection, a read-only source of truth, and a question asked in natural language.

In this episode, the two of them do it live. Andy clones the NetBox MCP server, wires it into VS Code and Claude Desktop, and by the end of the hour he’s querying a real NetBox instance – listing sites, filtering by region, and generating a CSV — by simply asking for what he wants. Every hiccup along the way is left in: the JSON syntax error, the virtual environment detour, the moment the agent tries to write a Python script instead of using the tool it already has. This is the first real AI lab for network engineers who don’t want to become developers.

You don’t need to become a developer. You need to learn how to work with AI.
John Capobianco
Head of AI & DevRel

What You’ll Learn:

  • MCP (Model Context Protocol), explained simply – what Model Context Protocol is, how it advertises tools, why it matters.
  • AI querying your network like a human would – “List my sites in New York.” “Create a CSV.” Done.
  • Real-world friction (and how to fix it) – JSON errors, virtual environments, agents that hallucinate instead of using the tool. Left in on purpose.
  • Two clients, one MCP – same lab working in VS Code Copilot and Claude Desktop.
  • Why this changes how network engineers work.

What They Build:

A working AI lab that:

  • Connects an LLM to NetBox using MCP
  • Queries network data using natural language
  • Generates outputs like CSV files
  • Debugs real issues along the way

No advanced coding required.

The Shift This Episode Is Really About

The old path into network automation asked engineers to learn Python, learn APIs, and debug their own code before they could deliver value. That bar kept most of the industry on the sidelines. MCP changes the shape of the on-ramp. Ask the question. Guide the agent. Validate the output. The skill that matters now is judgment – knowing what to ask, knowing when the answer is wrong, and knowing how to keep a human in the loop while the tools do the heavy lifting.

That’s the shift. And for the 70% of network engineers who haven’t automated yet, this episode is the clearest argument yet that the door is open, the lab is free, and the first working demo is less than an hour away.

+

Andy Lapteff • 00:00

The network engineer’s role is changing as fast as the job market. A1 Labs is how you keep up. Hands-on labs with new technologies built for engineers who can’t afford to fall behind. Show up, suit up, and level up in A1 Labs. Welcome to the Art of Network Engineering podcast. My name is Andy Lapteff, and in this episode, we have John Capabianco back for the hello world of AI. How you doing, John?

John Capobianco • 00:27

I’m doing great. I’ve been really excited about this. I know we put a little bit of prep time into it. I think this might be one of the more valuable things that I’ve done recently, actually starting with and meeting you where you’re at and starting right from how to clone a repo that has an MCP server, how to connect it to VS Code, hopefully how to connect it to Cloud Desktop. And I hope the viewers get something out of this. I think this could really set a lot of people onto their journey, I think.

Andy Lapteff • 00:51

Yeah.

John Capobianco • 00:52

So, 1st of all, thank you for being so naked and open and honest. It takes a lot of courage to learn in public like this. No, I’m serious. It takes a lot of courage to put yourself out here like this and do something for the victim time, right?

Andy Lapteff • 01:06

So, the feedback I’ve got has been great because, like, when I was a kid, I didn’t ask questions in school because I thought everybody knew everything. And then, when I went to college and had to pay my own way, I’m like, well, hell, this is expensive. I’m going to make sure I know this stuff. And since then, I am the person that asks the questions. And yeah, it’s the vulnerability in it. What I’d like the audience to hear up front, obviously, is the last time we were talking, you know, we talked about 70% of networks aren’t automated, which means 70% of network engineers. Engineers aren’t doing any automation stuff.

Andy Lapteff • 01:31

You know, they may or may not be displaced by folks who are leveraging AI in the future. So I always try to keep those folks in mind: the 70% of like folks, we can stay employed, but we have to skill up. We always have. And the coding stuff, the dev stuff, it’s been painful for me. But like anything, you just keep your head down, you learn, you push through. And so now I’m at a point where, you know, we had this conversation, and I think it was Mike Bouchong on the last episode. He’s like, hey, John, what is the hello world for AI?

Andy Lapteff • 01:59

And you came up with this brilliant idea. So I’m very excited. And I want to just tell everybody out there, I spent about a half an hour today doing some pre-work just to make tonight a little smoother. So there’ll be in the notes. There’ll be just a document. It’s not that heavy, but there’s four or five things you have to do prior to what we’re about to do. You can look in the notes and find it.

Andy Lapteff • 02:17

You create a couple accounts, you grab an API key, you install a thing or two. It’s really not that bad. And in full transparency, which we’ll get to soon, I got to depart in GitHub where I had to clone a repo and I got scared and I ran away. And we’re going to save that for tonight. So I guess with that all said, when we get to the end of this, if and when this is successful, we’ll be speaking to our source of truth in natural language and we’ll be querying our network on things like, you know, what circuits are in Atlanta or how many routers are in such and such. And I find that really compelling. And if you can get that far in all this and then maybe build something like that at your job, how valuable would you be at a place?

Andy Lapteff • 02:52

Like, hey, I got, you know, I created this because Netbox is free, correct? I don’t want to speak out a term and push people in a weird direction, but is it a free source of truth?

John Capobianco • 02:59

It is open source. And they all also have a cloud commercial offering in Netbox Labs. So tonight we’re going to be using the always on 24 hours a day demo instance that’s always available for people to play with. So in terms of hello world, I typically actually use Netbox for a lot of hello worlds. Okay. If I’m trying to do something with a REST API, because the public sandbox has data, it actually has some records in it that you can play with for free.

Andy Lapteff • 03:26

That’s nice.

John Capobianco • 03:27

And I thought, you know, what better way to learn MCP than through abstracting the REST APIs in Netbox via MCP? But tonight we’re actually going to be using the official Netbox MCP. Another great hello world, and I’ll show you why. So, and if you want to start sharing your screen, we could probably get into it. We’re going to be on the Netbox Labs GitHub repository for their official MCP. Now, it’s three tools. That are all read-only.

John Capobianco • 03:57

So, in terms of starting with human in the loop and starting with read-only safe activities, this Git repo and this MCP is a really good example to start with. So, as you can see, Andy installed DS Code, he installed Cloud Desktop, he made sure he had Git, he went ahead and got himself an API key, and we sort of hit the point where it says go here and to go to that Netbox Labs MCP server and follow their instructions. So that’s we’re going to pick up where we left off here.

Andy Lapteff • 04:23

And anyone at home between the API key and the MCP server, there was the install copilot and VS Code, which I was happy to see was already there. Like I just saw it down in the bottom right and it was there. So that’s going to be our intelligence in the system, I guess, right? It’ll translate my questions to the.

John Capobianco • 04:38

It really is an agent. And it’s a React agent, meaning it’s going to use reasoning capability from the LLM and it’s going to use tool calling, the action in React to reach out to Netbox on our behalf. So if you want to click on the hyperlink there, Andy, and we’ll go to the Netbox repo. So if you scroll down, this is why I like to start here and maybe point network engineers here because a lot of people use Netbox and a lot of people want to start with safe read-only activities. And you can see here right here, this is a simple read-only MCP server for Netbox. It enables you to interact with your data directly via LLMs that support MCP. It has three tools, get objects, objects by ID, and change logs.

John Capobianco • 05:20

And we’re sort of at the installed dependencies. So if you want to scroll up, Andy, we’re going to click on the green button all the way to the top. Code here. There we go. Yeah, code. And then click on the copy and paste buffer. And get the link.

John Capobianco • 05:34

Yeah. And then let’s head into VS Code or your terminal. And we’re going to do git clone.

Andy Lapteff • 05:42

And for listeners, don’t be afraid. I’m already like, oh, God, I’m in a terminal. I’m in VS Code. Get clone. Like, this isn’t, if you can work in the Cisco CLI, you can work in a VS Code terminal. Just I’m saying it for my people out there. No, this is Andy.

John Capobianco • 05:56

Good point. And this might be Andy’s 1st Git clone. So big round of applause.

Andy Lapteff • 05:59

So then before I do this, do we have to install dependencies 1st ? We’ll get to that. Yep.

John Capobianco • 06:05

So let’s close 1st and then we’ll go back to the space. So, right there? Yeah. Okay. Enter. Okay. So now C D space and then Netbox and then tab and go into that folder.

John Capobianco • 06:18

Okay. So now what we want to do 1st is create a Python virtual environment inside of this folder. There’s a bit of lag here.

Andy Lapteff • 06:25

Yeah. So how did you know that was there? Because at the end of that path, that’s the folder. Because I’m learning Linux as I go, so I would have done an LSC once in there.

John Capobianco • 06:34

The 2nd line, cloning into, and then Netbox MCP.

Andy Lapteff • 06:37

Oh, so that’s the destination. Okay.

John Capobianco • 06:42

So now the instructions sort of jump right to doing install using UV, but let’s make a virtual environment 1st . So what we’re going to do is Python 3.

Andy Lapteff • 06:50

Is this the time to ask you what pip install in UV means, or should I just?

John Capobianco • 06:54

So this is a package. It’s all packaged up, and we want to install that package into our virtual environment, our Python virtual environment, to extend that virtual environment with this MCP server. So it’s going to say run pip install requirements. And if we look at the requirements.txt file, it’s going to list all of the packages that are made up. It’s probably fast MCP is probably one of them. I’m not sure what other is.

Andy Lapteff • 07:18

The packages that this Netbox MCP server needs, right? That doesn’t come included in the repo. We have to go install it separately.

John Capobianco • 07:25

Is that correct? The repo will give you a requirements.txt file and we’re going to use pip install to install those required packages. Okay, so if I were to look in here somewhere, I’d see the required cat readme or something like that. So I would do a cat on readme. Oh, cat. And it’s going to be the same thing as uppercase. It’s going to be the same thing as the Git repository.

John Capobianco • 07:54

But you’ll see what the next steps are here. Yeah, watch the-there , though. Okay. No, no, we need.md, yeah.

Andy Lapteff • 08:04

So this would have been in the same file as it’s in the GitHub repository.

John Capobianco • 08:09

Yeah. So if you go back to the Git repository or the README, if you want to scroll up, it will tell you what the instructions are on how to install it. So let’s just keep going up.

Andy Lapteff • 08:20

Okay, so it’s in here somewhere.

John Capobianco • 08:21

Right.

Andy Lapteff • 08:21

So we’re looking for the dependencies, right? That’s in here somewhere.

John Capobianco • 08:26

If you just keep going all the way to the top of this file, it’s going to explain. So it’s a lot. I would look at it in the browser. I would go back to your browser and not read it in text. And if you scroll down, so it’s going to say install dependencies. Dependencies. So you can do a UV sync, and they recommend that.

John Capobianco • 08:42

So let’s go ahead and just follow the instructions. So let’s do the UV sync from inside that folder.

Andy Lapteff • 08:49

So I’m in the right folder, UV sync. Is it all one word? I know there’s a few contextual stuff here.

John Capobianco • 08:56

S-N-Y-C. Yeah.

Andy Lapteff • 08:57

And this is installing the dependencies. Is that what it is?

John Capobianco • 09:00

Yeah. So the MCP is quite literally installed and ready to go. So now how do we connect that MCP server to VS Code? So if you click on the gear in the bottom left of VS Code, there’s a little gear icon with the number one on it.

Andy Lapteff • 09:14

Here, number one, and VS Code. Oh, yeah, gotcha.

John Capobianco • 09:18

And go to command palette and just type in MCP to show the users at home. So there’s a few different ones in here. Now, don’t get tripped up and go to add server. Add server is a way to add other like official MCPs. What we want to do is open the user configuration.

Andy Lapteff • 09:33

This guy here, boop.

John Capobianco • 09:35

And then, Andy, if you go to the text I sent you, let’s just paste it in here to save people time.

Andy Lapteff • 09:40

Sure, that JSON?

John Capobianco • 09:41

Yeah, that JSON blob that I sent you.

Andy Lapteff • 09:43

Now, where did you get that if we didn’t have John Capi Bianco giving us this?

John Capobianco • 09:47

It’s right in the README file, yeah. So if you copy. Do I need all these? The mustaches. The mustaches. Is that what they’re called? That’s funny.

John Capobianco • 09:57

Yeah. I like that. Okay, so inside of servers, Andy, between the mustaches, they’re the purple. So go inside there and press enter like twice. Go to the very beginning of the line and paste in what you copied there, the JSON blob. And let’s just see here. It’s a bit of a mess.

John Capobianco • 10:15

Okay, there’s on line four, there’s an extra mustache. If you get rid of that one.

Andy Lapteff • 10:19

So I wanted to ask you about this. That’s the beauty, I guess, of VS Code. I don’t really know JSON well, if at all, but VS Code is going to tell us when there’s syntactical issues here. It’s a good point.

John Capobianco • 10:29

You notice how the file name itself is red and there’s a white circle.

Andy Lapteff • 10:34

So that means white circle means it hasn’t been saved yet, right? I kind of remember that.

John Capobianco • 10:38

Red means it’s not valid JSON right now.

Andy Lapteff • 10:41

Okay, so this red squiggly guy says view problem, but we just know to delete it.

John Capobianco • 10:48

Yeah. And then all the way to the bottom and delete. This guy here, is he a problem? Yeah. Okay. And see how it’s known. Our space is a problem.

John Capobianco • 10:56

Well, it should be better formatted, but it will work. This will work as it is. Don’t worry about the formatting. Fair enough. See how it says on line 10, path to Netbox MCP server? So in your terminal, type PWD, and that will give you the absolute path to where the server is. Okay, so replace that line 10 with that path there.

Andy Lapteff • 11:17

Okay, starting at for/users . Yep. The whole thing. Okay. So between the quotes, I guess.

John Capobianco • 11:23

Yeah, correct. Okay.

Andy Lapteff • 11:24

And again, for folks who don’t have John at home, you can watch this and follow along. You’ll have all the documentation. And I believe the documents in GitHub tell you all this.

John Capobianco • 11:32

Yeah, I encourage you to watch and just pause the video and catch up and rewind the video. Honestly, seriously, follow along at home. So then on line 15, we need to update the URL with the demo. Yeah, let me see. Is that somewhere in here? I think you put it up here.

Andy Lapteff • 11:49

Demo.tetbox. Yeah.

John Capobianco • 11:51

And then your API key inside of the JSON.

Andy Lapteff • 11:54

Question: While we’re doing this: when I went to get the API key, it was called a token in there. Are they synonymous? Yes. Is that kind of the same thing? Correct.

John Capobianco • 12:03

Okay. Correct. And the other thing is, normally we wouldn’t share the token with the world like this in VS Code and with the world, but it’s a demo ephemeral. By the time people watch this, this key will be obsolete. This whole sandbox will be obsolete.

Andy Lapteff • 12:16

So other people could use this and do things in my account.

John Capobianco • 12:20

I just want to bring it up in real life, there’s a lot of practice put into key handling with environment variable files and other methods. For now, this will be fine. Okay, so paper. It’s like a password, right? You don’t want to share it. Right. Now, save this file, Ctrl S, Command S.

Andy Lapteff • 12:37

And for folks watching at home, look at the white.go away, Command S.

John Capobianco • 12:42

And see how there’s a start button? Andy, we’re off to the races here. Sorry, right above MCP servers on line four. Oh, that’s good. Hit start. Oh, hang on. What’s the error?

John Capobianco • 12:51

Let’s click on the error. That’s not great. Can we try to restart it? Can we hit restart? Sure. And I can check my side and see maybe what we’ve done wrong here.

Andy Lapteff • 13:02

I’m fairly certain I screwed something up.

John Capobianco • 13:04

No, can we? Okay, so can we scroll down? Let’s take a look at it again. Yeah, look at the JSON. Let me look at my side. I can double-check my token. Sorry, can you go back up to the so it’s command UV args directory users run netbox MCP server?

John Capobianco • 13:24

Yes, and then your environment. Yes, all of that is fine. Okay, let’s. Did we do a virtual environment or anything? Did we have to do that? That’s what I was going to say. We used UV to install it.

John Capobianco • 13:36

So let’s go ahead and let’s go back to our terminal. So let’s go back to our terminal and install it the other way, the long way.

Andy Lapteff • 13:44

I thought it was in the terminal.

John Capobianco • 13:46

Click on the three little dots there beside output.

Andy Lapteff • 13:48

Three little dots besides output. Got it. Okay, and then terminal. Gotcha.

John Capobianco • 13:52

Okay, so what we’re going to do is scroll down. That’s weird. UV should have taken care of that. Okay, so what we’re going to type is Python 3-M space VENV. Yeah, and then just call it demo or something. Space or no space? No, that’s fine.

John Capobianco • 14:10

Let’s do it like that. Enter? Yep.

Andy Lapteff • 14:12

So that creates our virtual environment. Could you explain why we need that?

John Capobianco • 14:15

So, what we’re going to do is we’re going to be installing this Netbox MCP server as a Python package. And this kind of protects our main instance of Python and it lets us do development. So let’s say there was a new version of this Netbox instance. I wanted to test it but not break my working one. I could make a VENV called new version of Netbox MCP and install it there and not break this one. So now you’re going to type in source and then demo/bin/activate . Slash bin.

John Capobianco • 14:45

Oh, but there’s no space. Get rid of the space. Yeah.

Andy Lapteff • 14:48

It’s just Linux syntax. Is this what you’re doing to me? Yeah, it is. You’re doing really good, though. You have to learn Linux, folks. Well, we’ll see here.

John Capobianco • 14:55

But now, once you do this, you’ll see that your CLI will change. Yeah, enter. You’re going to see your virtual environment. In the virtual environment. So now what you’re going to do is pip three. Let’s go to the netbox instructions real quick. I’ll get the command.

John Capobianco • 15:10

Hang on. I have it open in front of me. Yeah, pip3 install-E and then a period. Yeah, so run that command. This is how I did it locally, by the way, earlier today to prepare for this.

Andy Lapteff • 15:22

So whatever you did with the UV is either still there or getting overwritten by this? Is that like we don’t have to roll back the UV stuff we did?

John Capobianco • 15:30

I don’t think so. So let’s hopefully this will work. We’re not going to get much further because I’m not sure what the error we’re getting is. I didn’t get that error. Let’s try it this way. The other thing, I think, in the instructions, they show you how to test it with a one-line command to start the MCP server to make sure it runs. Okay, so now let’s try that start button again inside of VS Codes.

Andy Lapteff • 15:51

Same place as before.

John Capobianco • 15:53

Yeah, hit start. Restart. Yeah, that is very strange.

Andy Lapteff • 15:58

Error sending message to file undefined. Is it trying to access a path?

John Capobianco • 16:05

I have the exact same code as you, and I discover four tools. I’m on a Mac. We had the virtual environment and installed everything. Let’s try their manual command, Andy. Let’s do that next. And you’re going to need your API key and the URL. So if you scroll down a little bit and take that.

John Capobianco • 16:24

This guy. Yeah. So we’re going to export a couple.

Andy Lapteff • 16:28

And where do I put that? They put that in terminal.

John Capobianco • 16:31

So, what they want you to do is export a couple of environment variables and then run the Netbox MCP server. All right, let me make this smaller. Let’s just try the run command: run netbox MCP. So UV run netbox MCP server. Yeah, terminal.

Andy Lapteff • 16:49

And back in the terminal.

John Capobianco • 16:50

And just try UV environment and then netbox MCP server. And if it complains about the environment variables, then we’ll set those.

Andy Lapteff • 16:59

Can I auto-complete this? I don’t know what command. Netbox-MCP-server?

John Capobianco • 17:06

Yeah, I think so.

Andy Lapteff • 17:07

Gotcha. Able to see that on your side?

John Capobianco • 17:11

Yeah, that’s just a warning. Okay, so what do we get here? URL and token. Okay, so we do have to export those. So if you type in export and then in all caps, netbox_URL , URL equals and then the HTTPS, yeah, the thing from grab it from the actual netbox site or the word document you had.

Andy Lapteff • 17:36

Oh, I gotcha.

John Capobianco • 17:37

This thing here, right? Yeah. Yep.

Andy Lapteff • 17:40

I think that’s correct. I didn’t click that work. That’s correct.

John Capobianco • 17:44

Yep, that’s it.

Andy Lapteff • 17:45

So I think when I grabbed it from the LinkedIn DM, you see the path there? It’s actually like a LinkedIn redirect URL. That might not.

John Capobianco • 17:53

I don’t know that that’s the problem, though, because in your VS Code file. Oh, maybe not. It’s fine in the VS Code file. Okay. Paste that URL into your environment variable that you’re exporting.

Andy Lapteff • 18:02

So here, and then I need, I guess, the API key.

John Capobianco • 18:06

Yeah, and it’s no, no, just press enter now.

Andy Lapteff • 18:10

Enter.

John Capobianco • 18:10

Yeah, and then do the same thing: export. And the next thing.

Andy Lapteff • 18:14

Okay.

John Capobianco • 18:14

And then my key. Yeah, but make sure you say export. Okay. That’s really strange. I didn’t have that same friction on my end. That’s really too bad. But let’s just try it.

John Capobianco • 18:25

We’ll go through the motions here.

Andy Lapteff • 18:27

So export after equals? No, before. No, export 1st . Gotcha. Yeah, yeah, I see it. John, there are certain people in the world that attract every weird bug. Huh.

Andy Lapteff • 18:35

I’m one of them. That’s okay. So press enter. You think I’m kidding?

John Capobianco • 18:39

And then press up arrow like three times, and we’ll run that UV command again. Yeah, let’s try it again. Yeah, don’t worry about that warning. Okay, see, look. So it runs. Looks like it worked, right? It does.

John Capobianco • 18:51

It runs just fine. So why can’t we connect it with VS code? Let me let me do something here. Well, so that’s a good sign. That means everything’s installed and everything should be working. Let me send you something in chat. Can you take that and paste it over top of your MCP settings?

Andy Lapteff • 19:15

Sure. So just grab the whole thing. It’s a JSON, right? Yeah.

John Capobianco • 19:18

Grab that whole thing and let’s paste it over the servers that you have running there. And don’t even worry about the token. That token should work. You’re going to have to change the path to where the MCP server is. So paste it over the whole thing here.

Andy Lapteff • 19:33

So the whole thing, yep.

John Capobianco • 19:34

Yep. Start at 22. Control A.

Andy Lapteff • 19:37

I control V of this, or I got to wipe it out 1st .

John Capobianco • 19:39

Control V. Yeah, you can paste over it. Okay, now scroll up and change the path there from users john.capobianco to users andylapteph on line seven. So just change the users there to your username.

Andy Lapteff • 19:55

Was it andy.laptep?

John Capobianco • 19:57

I don’t remember. No, it’s just Andy Laptef. Okay, now save it and let’s try the start it again. I don’t have to change the token. No, that’s my token. That should work. So scroll up.

John Capobianco • 20:09

Now I don’t see the start button anymore. Do you? No, I don’t see it. Okay, so close VS Code and relaunch it and go back. Okay, so now try start. There it is. Haha, running.

John Capobianco • 20:23

Four tools. Okay, must not have liked the JSON. Okay, so if you click on running, if you click on running, it will show you the output of the logs of your server. And you see how it discovered four tools? Yeah. So that’s the key here. So if you scroll all the way to the bottom, we can keep an eye on this.

Andy Lapteff • 20:40

So is this now reaching out to the sandbox and they’re doing their MCP magic? What do you do? What do you do? What commands can we tell each other?

John Capobianco • 20:48

We’re not quite there yet. So open up your co-pilot now. Control Shift I.

Andy Lapteff • 20:54

I’m going to click Mickey Mouse instead down here.

John Capobianco • 20:56

Or whatever. No, no, we need to bring the whole co-pilot back up. Okay. So Ctrl Command Shift I.

Andy Lapteff • 21:04

Okay.

John Capobianco • 21:05

Now you see the little wrench-looking thing?

Andy Lapteff • 21:09

Yes.

John Capobianco • 21:09

We want to click there. And now if you scroll down, you’re going to see Netbox in here. And expand that, you’re going to see the four tools that are available to your co-pilot now.

Andy Lapteff • 21:22

Hot dang.

John Capobianco • 21:23

So now just try this. Say in your co-pilot, say, hello, could you please get me a list of all of my sites in Netbox?

Andy Lapteff • 21:34

Oh, my God. So I do it down here in the co-pilot chat, right?

John Capobianco • 21:38

Yep, that’s right.

Andy Lapteff • 21:39

Hello. Can you show me a list of sites?

John Capobianco • 21:43

In Netbox. Yep. Enter. And you can close that tool selection now.

Andy Lapteff • 21:50

Just click OK. Okay.

John Capobianco • 21:52

So we’re going to hit enable here.

Andy Lapteff • 21:54

Enable access.

John Capobianco • 21:56

So we hit a little friction there, but that’s okay. That’s okay. It was just the JSON structure.

Andy Lapteff • 22:00

Do we know? Oh, right. Okay. So I screwed up the JSON format. We used yours and it worked. So, audience, this was me, not John. I screwed up the JSON.

Andy Lapteff • 22:08

No, no. Listen, every time somebody gives me a file, it happened to me in a YAML at work and I screwed it up. Apparently, I can’t copy and paste it.

John Capobianco • 22:15

I’m glad we worked through it, and I’m glad we started it. So here, if you hit the drop-down beside allow, and I would change that to always allow.

Andy Lapteff • 22:23

Always allow. Is that okay?

John Capobianco • 22:24

Yeah, otherwise it’s going to be always. So if you expand that, you can see that it tried to grab some netbox objects, right? You can actually expand that box there, Andy.

Andy Lapteff • 22:32

Oh, right here, ran the thing.

John Capobianco • 22:33

You know, you can click on that and expand, and it’ll show you the payload. So it’s checking this here.

Andy Lapteff • 22:39

Right.

John Capobianco • 22:39

So that’s so this is right. No code, no Python, no nothing. It’s going to go ahead and use the MCP tool. And if you keep scrolling down now.

Andy Lapteff • 22:47

So hold on. So the tool it’s using is Netbox GetObjects. I think we saw that tool in one of the lists on the GitHub. And I guess it’s using this. Is this JSON? I guess I see mustaches. I think JSON.

Andy Lapteff • 22:58

Right. So it’s JSP. So is this the stuff it looks for?

John Capobianco • 23:00

MCPs. MCP uses JSON RPC 2.0. So yes, this is under the hood what the MCP is sending to Netbox. Okay.

Andy Lapteff • 23:10

And then if you give me all these things.

John Capobianco • 23:11

Yeah. And if you keep going down, there’s the output that Netbox returned. So there’s 3rd . Now, if you keep going down, Copilot’s going to turn that into natural language. Right.

Andy Lapteff • 23:23

So if you keep this hurts my brain. Right. Right. You don’t want to. Look at all that. Oh my God. But this is like a format of data that now can be given to my brain in a way that I can understand.

Andy Lapteff • 23:36

Right.

John Capobianco • 23:36

Well, you don’t need to necessarily have to look at this. If you collapse that field, this is just, this is just developer stuff to see what’s happening under the hood. Right. But under the hood, that’s all the stuff. And now all the way to the bottom now. Drag and drop the scroll bar on the side because there’s going to be a lot of them. Just go all the way to the bottom.

John Capobianco • 23:56

Gotcha. Right. So there you go. So it actually gave you a table with all of the netbox information, right? So now you can just keep probing it. Now, the advantage of being in VS Code is if you see in the top left of VS Code, there’s two like files on top of each other. Can you click on that?

John Capobianco • 24:14

Yep. So open a folder and just make a new folder called demo or whatever. We just need a placeholder folder to work in.

Andy Lapteff • 24:24

I don’t know what I have, John. I can’t figure out how to navigate in a Mac. This is where I’m at. Do I just put it in it? I don’t even know how to get. How about desktop? Is desktop good?

Andy Lapteff • 24:32

No, no, no.

John Capobianco • 24:33

Make new, no, no. We want a new folder. Don’t do desktop.

Andy Lapteff • 24:36

I was going to put a folder on my desktop.

John Capobianco • 24:38

Okay. Where do you want? You can do that. You can put a folder on your desktop.

Andy Lapteff • 24:41

Well, I have a Python folder.

John Capobianco • 24:43

Just don’t do the root of it and just call it demo. And you’ll see why I’m doing this in a 2nd because we don’t want to make it MCP demo. Sure, MCP demo. That’s fine. And then we want to open that folder.

Andy Lapteff • 24:53

Open. Okay.

John Capobianco • 24:54

Now, yes, I trust the authors. And let’s go back into your MCP settings and make sure that it’s still turned on. Go into your command palette. Bottom left, the gear. Right. Click that and then click command palette. And then go into the user settings and just turn on the MCP again.

John Capobianco • 25:09

Since we changed folders on. Yeah, that’s right. That’s right. Gotcha. And then hit start. And now, okay, now what you can do is in your question, ask the same question, but say, can I please get a list of my sites in Netbox? And then go ahead and create a local file called netbox sites.csv.

John Capobianco • 25:31

Now, this is the power of ES Code: it’s a file editor with folders and other extensions and stuff, right?

Andy Lapteff • 25:37

Can’t do two things at once. So, can I get a list of sites in Netbox and create a local file called local sites CSV? Okay. And that’s going to send that, I guess, to our folder or ask where we want it.

John Capobianco • 25:47

So, Chris, if you just go ahead and send that.

Andy Lapteff • 25:49

So, is it still going to give me all the JSON gobbledygook? And at the end, I’ll have a CSV I can download.

John Capobianco • 25:53

Yeah, the only reason why we saw the JSON gobbly gook is because we expanded the box to show that to us.

Andy Lapteff • 26:00

This episode of the Art of Network Engineering is sponsored by Meter. Meter delivers network infrastructure for the enterprise because every organization deserves seamless connectivity. Whether you have a large team of network engineers or an IT team of one, Meter makes it simple to get online and stay online. Meter provides a full-stack integrated platform that combines hardware, software, deployment, and support. So enterprises can ensure their networks have the performance, security, and reliability they need without the inefficiencies of juggling multiple vendors. It’s Enterprise Networking Reimagined, giving IT teams the ability to spend less time managing complexity and more time driving business strategy. Go to meter.com forward slash A1 to book a demo now.

Andy Lapteff • 26:45

That’s M-E-T-E-R.com forward slash A-O-N-E. Now back to the show. I’m not anti-JSON Gobblyguck. I mean, the more I’m exposed to this stuff, the less scary it is. Like, so I like seeing it. I’m glad you showed me that.

John Capobianco • 26:57

It’s like a trust but verify, right? So, you know, instead of just blindly trusting this list of sites, if I wanted to, I can look in the payload and see where it got that list of sites from. So we’re just going to let this cook here.

Andy Lapteff • 27:10

While this is cooking, can I ask you a question? Yeah, absolutely. I guess I just did, so I asked you another question. I’m trying to get my head around what’s happening. So we’re talking to Copilot in VS Code, asking it a question. The MCP server is the connection between this instance of Copilot running on VS Code and this sandbox running in the cloud for Netbox. Is that correct so far?

Andy Lapteff • 27:34

And Copilot is talking to Netbox over that connection. Like, I’m trying to get my head around what’s happening.

John Capobianco • 27:41

We have to stop this right now. Can you hit the stop button? And we’ll just start a whole new chat and we’ll answer your question again. It’s trying to write a Python script to do this instead of using the MCP. Hit undo there.

Andy Lapteff • 27:52

Did we get an error?

John Capobianco • 27:54

Yeah, it sort of hallucinated. It didn’t use the MCP server. So scroll down again. Click on the wrench and just make sure that the MCP for Netbox is turned on still because we started a new folder, right? So I just want to make sure that it’s still turned on. So scroll down. Netbox.

John Capobianco • 28:09

Okay. In the co-pilot, say, please use the Netbox MCP to achieve this. We don’t need a Python script or something like that. It just needs a little help. It needs a little nudge to note that we have an MCP. Please use the MCP server for Netbox to achieve this or something like that.

Andy Lapteff • 28:29

No, I missed the output.

John Capobianco • 28:30

So somewhere in here, it’s like, hey, it tried to write a Fython file and wanted you to do a public thing. So, it just didn’t know for whatever reason. So, hit enter. Sometimes we have to be explicit and say, please use the Netbox MCP to get me a list of sites or something.

Andy Lapteff • 28:45

You know, it’s outside of the scope of this, John. But, you know, I used to be like tinfoil hat, you know, our jobs are going to go away. And then I read something, I forget what hyperscaler it was, but the guy laid off 16,000 people, replaced them with AI. It melted the world. And now they have a new thing where every script written by AI has to be reviewed by a human. So I say all that to say that, like, here, this is an amazing tool. I love it.

Andy Lapteff • 29:06

It’s awesome, but it also seems really helpful to have a human looking at it to make sure it’s not going outside of the parameters.

John Capobianco • 29:13

Human in the loop is the way to start. Absolutely. It’s just like network automation, right? When we have those playbooks, it usually was a human operator running the playbook. So now this is what we want it to do: the Gephex would be MCP. And then make the CSV file directly, right?

Andy Lapteff • 29:31

Now, and just because I’m endlessly curious, we don’t know why it didn’t know of the MCP server like it did the 1st time it did in the 2nd time.

John Capobianco • 29:39

It’s about the prompt engineering, Andy. So when you just say, go get me a list of sites in Netbox, it took that literally and just said, okay, well, here’s a Python script that will do that. Sometimes you have to make it aware of the tools that are connected to it, right? So here we go.

Andy Lapteff • 29:53

Plus, the sometimes part that’s interesting. The 1st time I didn’t specify MCP and it used it. So yeah, the prompt is all about the prompt engine. It is. It’s all about the prompting.

John Capobianco • 30:02

So I’ll write the local file with the 32 Netbox records, and we should have a file in just a 2nd or two here. There we go. So if you click on hit keep and click on the CSV file now that it created. So, Andy, do you see the extensions box there? Yeah. Just type in CSV and grab the 1st one. It’s got a lot of stars.

John Capobianco • 30:22

Okay. Yeah, install that. And then there should be.

Andy Lapteff • 30:25

So when you’re looking for extensions. Look at the stars and the amount, and just like anything, right? Yeah, exactly.

John Capobianco • 30:32

So, now if you close this and go back to the local CSV files, the CSV file that we created, there should be a button to preview that. Close it and open it again, maybe?

Andy Lapteff • 30:42

Yeah, VS Code, right?

John Capobianco • 30:43

Well, no, no, just the tab, just close the tabs and reopen it. So, close local sites, yeah, and close that and then the double files.

Andy Lapteff • 30:51

Would that be in the file list over here? Yeah, oh, yeah, there it is, right there. Okay, cool.

John Capobianco • 30:55

There we go. Now, you can follow up with questions like: Do I have any devices in site ID 15? Or, right? Like, you literally can just talk to it to your point and the hello world. So, the hello world is successful, Andy. Give yourself a hand, bravo.

John Capobianco • 31:12

You’ve just cloned the repo, set up a virtual environment, installed the requirements, installed the MCP settings, connected it to Copilot, and now you’re literally talking to Netbox, right? Like, you’ve achieved.

Andy Lapteff • 31:26

The question someone would ask me is: How many sites do we have in New York, right? Like, I’m thinking back to my operations days, right? You said the other day, you know, how many circuits in Atlanta or like whatever. So, I just asked it, you know, give me a list of sites in New York. It’s going to use the MCP server. Great.

Andy Lapteff • 31:39

But no, this is super powerful, John. I mean, you know how it used to go, right? You had spreadsheets and jump boxes, and like that was a nightmare ask something simple. Like, how many sites do we have in such and such, or how many circuits are in whatever? How many of this? So, like, if this was populated with make models, and I could ask, you know, how many switches of certain models do we have? And it’ll give me an inventory.

Andy Lapteff • 32:00

Like, that’s compelling, man. Yeah, I used to do a magic.

John Capobianco • 32:02

We have a new rack going into Atlanta. Do I have the circuits for it or whatever, right?

Andy Lapteff • 32:07

So, does this have like circuits, devices? I mean, I know it’s a free instance, so maybe it’s limited.

John Capobianco • 32:13

Yeah, you might need to poke around the actual instance itself in the GUI and then see. But here we go. There’s your list of New York sites based on the slugs, 10 of them, right?

Andy Lapteff • 32:23

But I’m thinking of all the things that we were building into Source of Truth in Production when I was there and all the questions I could ask. So I think the Python thing happened and we got interrupted. But are you able to simply explain to me what happens when we ask a question here, like all the moving parts and how it works? Was my description close or no?

John Capobianco • 32:43

Yeah. So MCP, you notice how it has four tools, Andy? Right? It actually advertises that it has four tools. So it’s kind of like DHCP in that way. The MCP server advertises the tools that it has, and then the LLM has tool calling capability and will pass JSON RPC 2.0 to the MCP that then communicates with Netbox. Now, I think in Netbox’s case, it’s likely a wrapper around the REST API, but it might not be, right?

John Capobianco • 33:14

So it’s a remote procedure call under the hood with JSON 2.0. If you were to do a Wireshark, you’d see that JSON 2.0 payload. And we saw some of the payload when we expanded that developer box. So do you want to? Yeah, there’s lots to take in here. There’s a lot to take.

Andy Lapteff • 33:30

No, I’m listening. I’m just, I need a picture and I’m looking. It is a lot of reference.

John Capobianco • 33:35

Your best reference is modelcontextprotocol.io. If you want to visit that right now, gotcha. It really is a one-stop shop for everything about servers, about clients, about the protocol.

Andy Lapteff • 33:46

And John, this is the problem with my curiosity: honestly, man, I don’t probably need to know every wrench and screw and grease fitting under the hood. Like, I’m curious, but as soon as you started talking, I’m like, uh-oh, I think this is a lot of things I don’t know. You know, header wrappings.

John Capobianco • 34:03

We sort of covered everything you need to know from a consumer point of view. If you want to use MCPs, you don’t need to know anything more than what we did today. Go to the GitHub repo. Which is success. Like, this is successful, right?

Andy Lapteff • 34:16

I think this is the perfect hello world for AI, right? Like, you do hello world encoding to do the very basic and like have an output. Like, oh, look, I did something, a new skill, and I got it to do something. To me, this is the equivalent. Holy crap. We just got AI.

John Capobianco • 34:29

Do you want to try Claude Desktop while we’re here? Just to see if we can get that going.

Andy Lapteff • 34:32

However much time you have, man, I could do this forever, and I want to be respectful of your time.

John Capobianco • 34:37

Let’s launch Claude Desktop just to show people another client. So I love VS Code.

Andy Lapteff • 34:42

So this is instead of Copilot? No, no, no. We’re going to. Instead of using VS Code at all, we’re going to use Copilot. Okay, can I shut this down or does it matter?

John Capobianco • 34:49

I would keep it open and go into that MCP settings because we’re going to be copying the MCP settings from VS Code. Not exactly, but pretty close.

Andy Lapteff • 34:59

You know what? I’m so silly. I thought that Claude was going to be what we were going to use instead of Copilot because I see them both.

John Capobianco • 35:06

Well, Copilot is part of VS Code. So in a way, yes, we’re going to be using Claude instead of Copilot and VS Code, but it doesn’t have the same look and feel that VS Code does. It’s just a chat interface.

Andy Lapteff • 35:18

So should I just open Claude Desktop? Open up Claude Desktop?

John Capobianco • 35:21

Yep. And I’m not sure if you’ve gone through the installer steps or anything yet.

Andy Lapteff • 35:25

Probably not. I think I just downloaded it. So apologies.

John Capobianco • 35:27

No, no, no, don’t apologize. There’s just a couple of menus we’ve got to click through, I think. Love them. Okay, there we go.

Andy Lapteff • 35:34

This up here. The problem is your mouse disappears. Like when you go into the virtual thing, it disappears, and then you’re just completely hosed. All right, so get started. Claude for Mac. I don’t remember. No, I should just sign you in through Google.

Andy Lapteff • 35:49

Do you have any opinions on using your Google stuff to sign in? It’s not an attack vector, right? It’s safe.

John Capobianco • 35:54

I always use it. I’m not a big. I’m like the least computer person. All right, so continue. Continue. Okay, so now what we want to do is in Claude, in the top left corner, we want to, in the very top left in your Mac where it says Claude, we want to do settings and then we want developer. Oh, wow.

John Capobianco • 36:17

And then we want to edit config here. Okay. And it’s going to be the exact same thing that we just did in VS Code, except it’s going to be a different. So it should have brought you to a folder with a JSON file. Double-click that JSON file and let’s open it in VS Code.

Andy Lapteff • 36:31

Can I like right-click and tell it? Yeah, let me say open with VS Code. There we go.

John Capobianco • 36:37

That’s better. You open. Let’s go to the README of the net box because they have the exact code a little further to the bottom. A little further to the bottom. More, more, more right there. So copy this and then paste that. Paste that inside on file that you have.

John Capobianco • 37:00

And I would put it. Or no. I would put it. How does this go? I would put a comma after the purple one on line six.

Andy Lapteff • 37:11

That’s what I would do too, John.

John Capobianco • 37:12

And then enter and go to the start of the line and paste in what you had.

Andy Lapteff • 37:19

Paste here.

John Capobianco • 37:19

Yeah, paste there. Okay. And then change the path. So line 13, 18, and 19. If you want to get that from VS Code. Actually, you know what you can do, Andy? From here, go to the command palette and MCP user config.

John Capobianco • 37:37

And you can get them from here. All right. So if you just this guy, yeah. No, it’s right there. It’s right. It’s not right here. Got it.

John Capobianco • 37:45

Yeah. Exactly.

Andy Lapteff • 37:46

Is this the right place, Netbox?

John Capobianco • 37:48

And it looks like the JSON’s wrong. So let’s get your copy paste done and then we’ll fix the JSON afterwards.

Andy Lapteff • 37:57

The netbox. I think I did that right. And then I need the netbox URL. Yeah, sorry, I’m starting to get loopy. That’s okay.

John Capobianco • 38:06

We’ll get this going and then we can wrap it up. This is probably just.

Andy Lapteff • 38:10

I love this. I just feel like my brain’s.

John Capobianco • 38:12

Well, it’s probably just enough actually to get it working in Claude, and then we can wrap it up. And then I need the token too. Yeah, and the token.

Andy Lapteff • 38:20

I love this, man. I’ve, you know, John, you know how it is. These are one of those things, man. I could be up for days and all night doing this is just so cool.

John Capobianco • 38:30

So paste in that.

Andy Lapteff • 38:31

And then on line. And I think you kind of have to put in that time to really figure this stuff out. I have to do the documentation’s good.

John Capobianco • 38:37

I have to do. So go back and get rid of line 22.

Andy Lapteff • 38:42

Yep, I saw that. And 23. Squiggle there. 24. Anywhere I see a red squiggle, they’re out of here.

John Capobianco • 38:49

No, hey, I see. Am I going crazy here? Get rid of that on line seven. No, hang on. All right. Now we’re in. Now we’re now we’ve got it all screwy.

John Capobianco • 39:04

Okay, so take. I’m sorry. No, no, it’s not your fault. It’s kind of my fault. In the co-pilot, actually, it’s just the AI to fix it. In the co-pilot, say, can you clean up my claw desktop config.json? That’s what I would do, is just cheat and let the AI fix it for you.

John Capobianco • 39:19

I didn’t know I could do that. That’s amazing.

Andy Lapteff • 39:21

Do I have to give it the whole path?

John Capobianco • 39:23

I would, yeah.

Andy Lapteff • 39:25

That’s it, right? Just ask it to clean it up. Wow. See, this is why I love LLM tooling. Like, absolutely. You know, there’s like, come on, man. Like, how can you?

Andy Lapteff • 39:36

I did this with a different tool when somebody handed me YAML and I messed it up. And I’m like, dude, I don’t know what to do with this thing. And the LLM fixed it for me. I’m like, oh, thank God. Stuck config. So updating it.

John Capobianco • 39:49

Yeah, it’s always making to-do lists. Anyway, I see why. So keep scrolling. Let’s see what’s happening here. Should fix it for us. I’m just seeing where we went wrong. Did I not need a comma there?

John Capobianco • 40:03

And then so hit allow.

Andy Lapteff • 40:05

Should I hit keep all edits?

John Capobianco • 40:06

So it’s making a backup 1st , and then it’s gonna, and then it’s gonna file. Not yet, eh? All right, hit allow. And keep okay, so now that it’s saved, can we go back to Claude Desktop? And I think you have to actually exit out of Claude Desktop and then relaunch Claude Desktop for it to pick up the MCP server. So if you just exit it, quit. Yeah.

Andy Lapteff • 40:37

There it is. Thank you enough, John. This is so cool.

John Capobianco • 40:40

Let me drag it back in the fingers crossed on the MCP integration. Let’s see what happens. Well, see, let me try to get it over to our screen share.

Andy Lapteff • 40:48

MCP netbox server disconnected for troubleshooting open developer settings.

John Capobianco • 40:52

It didn’t work.

Andy Lapteff • 40:53

I don’t know.

John Capobianco • 40:55

No, if it threw an error like that, it means it didn’t launch. I don’t know why it’s so much more difficult than the VS Code. I should have tried it on my own Cloud Desktop. We’re learning. This is great.

Andy Lapteff • 41:09

Well, whatever you want to do, man, I can.

John Capobianco • 41:13

Let’s go back to the JSON file and let’s just take a quick look at it. Oh, I see. You see how the netbox tokens redacted there? Yeah.

Andy Lapteff • 41:20

Yes, we got to put the token.

John Capobianco • 41:22

We got to put our token in. I think that’s likely the problem. So just grab it from the backup file there.

Andy Lapteff • 41:27

I’ll do that right there.

John Capobianco • 41:28

Yeah. Easy enough. All right. Put it here. Paste that in. Tape that. And then let’s file exit out of Claude and relaunch Claude again.

Andy Lapteff • 41:38

Do you still feel like you’re learning every day with all this? Like you’re my resident expert.

John Capobianco • 41:42

Every day, every minute of every day, there’s something new to learn. It never stops. It’s an unbelievable pace of change. And that’s exciting for someone like me. I’m always chasing the shiny new thing. I get very bored once I figured out some problem and I cracked the case. So it’s not working.

Andy Lapteff • 41:59

I think it’s super exciting, man.

John Capobianco • 42:01

So we’ve got a lot of open developer settings there.

Andy Lapteff • 42:05

I mean, we can debug if you want. I’m in no huge rush, but I can keep you till we detailed.

John Capobianco • 42:11

Error server disconnected. So there is a logs there that we could dig into and copy them into VS Code, into the co-pilot. So yeah, copy the whole thing. And let’s go back into the VS Code. And you can exit right out of Claude for now. We’re going to have to relaunch it anyway. So paste in those logs and then tell the co-pilot here:

John Capobianco • 42:35

I’m trying to use this MCP for Claude Desktop. Use the Netbox MCP for Claude Desktop, but I get the errors, the following errors, and then paste in the logs. It would be fun to get this going. And it’s going to be something small and trivial. It’s probably the way we’ve structured this file. I’m not sure if MCP servers need to go inside of preferences, maybe, like inside of preferences. That might be the case.

Andy Lapteff • 43:03

If I get to watch John Capabianco learn something in real time, that’s exciting for me. So let’s keep going, man.

John Capobianco • 43:08

I think that it’s going to be that’s going to be the case. Let me see. I really like that you can use it right within the tool. On my side here, let me.

Andy Lapteff • 43:16

I would have gone to a different browser to try to ask an LLM a question. I really like that it’s embedded right in VS Code. Can you use different LLMs in VS Code or does it have to be.

John Capobianco • 43:25

Oh, yeah. No, you can change them. There’s a dropdown there that lets you change them. Looks like it’s not. But you have, hang on. I’m going to look at your JSON. You have a preferences section.

John Capobianco • 43:36

My current. JSON has a preferences section. So, what is this saying here? Let’s see. Okay, scroll down. What I can do for you now, I can update the cloud config, set command to UV.

Andy Lapteff • 43:53

Is that the virtual environment?

John Capobianco • 43:55

It might be the UV thing from Claude. Maybe not, though. Scroll down. Can you say just fix it? Honestly, say just fix it. It’s getting late, and I’m getting a little fussy with this. That should have just worked.

John Capobianco • 44:11

So, can you close the terminal? Actually, we’re all done with the terminal there. You can close that. I want to take a look at the JSON real quick. Okay, so UV is the command directory, and that’s the directory. Let’s let it cook. This should have worked.

John Capobianco • 44:22

I don’t know why. Hit keep and then put in your key again from the backup file. Let’s give this one more go here. So instead of using UV, it’s going to try to use the Python directly. So save this, and now let’s relaunch. Cloud desktop or cloud. Okay.

John Capobianco • 44:41

And this is truly, honestly, Andy, this is the friction around MCP. They’re all different. They all install a little bit differently on different clients. There is still some friction around it. It’s not a perfect.

Andy Lapteff • 44:51

Sure. Well, it’s new, right?

John Capobianco • 44:53

Exactly. I sort of give it a little bit more leeway and a little bit more patience than some of the other more.

Andy Lapteff • 45:00

None of this stuff’s perfect, right? Like it’s a miracle. I think all this stuff is a miracle. People are smart enough to create all this. So far be it for me to stand here and say this isn’t perfect. Like, listen, I love this. I have to troubleshoot a bit.

Andy Lapteff • 45:13

It’s no big deal.

John Capobianco • 45:14

So did Claude clash or did Claude throw another error at you? No, it’s not. Let’s open that up. Okay, so now let’s go back into those developer settings. What we should see is the Netbox. Yeah, Claude Desktop or Developer. Developer, wherever scroll up.

John Capobianco • 45:33

Running. Okay, so now it’s running. So now let’s do a new chat. So was that the JSON again? Yeah. Yeah. We switched it from using UV to using Python directly.

John Capobianco • 45:44

So let’s start a new chat. We can get out of the settings here. And then if you hit the plus there. Connectors, I think, maybe or skills? Netbox. See how Netbox is connected?

Andy Lapteff • 46:00

I do.

John Capobianco • 46:00

So let’s go ahead and ask it and say, can I please can you please use the Netbox MCP and give me all of my sites In New York, like we did earlier. And this will wrap things up. So, everyone, we probably did leave the warts included to show you that even, you know, myself and Andy’s, you know, we had some, we had some hiccups. It’s him and I doing our best remotely, and it’s gone very, very well. I’m really impressed with how Andy’s got the MCP going in two different clients now. We had to mess with some JSON, we had to mess with some virtual environments, we had a couple of things here and there along the way.

John Capobianco • 46:36

But, you know, given this is less than an hour, 45 minutes or whatever we’ve been going, really, really successful. So now I have a question. It’s going to be hopefully the same experience, Andy, except it’s inside of Cloud Desktop.

Andy Lapteff • 46:48

Where did we put that JSON? I’m confused because we did a JSON and VS Code. Correct. But now we’re in.

John Capobianco • 46:54

So each of them have their own JSON file that are their settings and their configurations and where you add the MCP servers. In VS Code, it’s just called MCP.json. In Cloud Desktop, it’s called Claude_desktop underscore settings.json.

Andy Lapteff • 47:09

Oh, is that that folder that we modified? Yeah, that was that file. Exactly. So that’s where I put the token. Okay, I gotcha. So that’s just in the file structure somewhere in Claude and we found it and adjusted it, right? That’s how we did the config.

John Capobianco • 47:21

Yeah. Now I’m wondering, can you scroll down or anything? Is there anything under loading tools or is that it? Okay, here we go.

Andy Lapteff • 47:29

Let’s use netbox, always allow. Yeah, that was my bad.

John Capobianco • 47:34

So, dude, dude, VS Code co-piloted now Cloud Desktop, dude.

Andy Lapteff • 47:39

If uh oh, oh my god, oh my god, Chad, so like that’s all. This was amazing. Let me kill the screen share, and I just want to see your face and ask you a question.

John Capobianco • 47:50

Yeah, an hour and 10 minutes. We got two the MCP going in two different environments with real questions, real value, CSV files, chatting with Netbox in natural language. Andy’s mind’s blown, he’s not going to sleep tonight. No, it was all, dude, it was awesome.

Andy Lapteff • 48:04

Well, here, like, here’s the thing: we’re two guys, neither of us work. For Netbox, or like, you know, this is exciting, and we’re not here trying to sell you the thing that we do with our car. Like, this is genuine, like, oh my God, this is because I’ve sat, and you too, we’ve sat in that seat. We know how hard it can be just to like do the job and to be able to do the job in natural language. And this wasn’t that bad. We got this working in like 30-ish minutes. Yeah, you’ve got harder things in your life, right?

Andy Lapteff • 48:32

Oh my God, like such, such harder things. And this isn’t why I love this. And I’m just going to say that loud: like, it’s not coding. Like, and when the JSON was wrong, the agent fixed it. Like, you’re not telling me, Andy, become a Python expert so you can do this, which has been the narrative prior. Like, you have to learn coding and development. And like, and I’m trying.

Andy Lapteff • 48:51

This is easier.

John Capobianco • 48:53

As far as we said, just fix it. We literally said, and it did. And it fixed it, right?

Andy Lapteff • 48:59

So the last parting thoughts for me, at least, is for folks like me, and that 70% that doesn’t automate in code. And they’re the folks that I’m concerned could be displaced when all this agenic AI magical awesomeness takes over our industry completely. This is a great place to start, I think. In the notes, we’ll send the documentation and everything you have to do and all that. But if you can follow along with this, and like, this is like a lab, right? This is your home lab. So try it out, see if you can get it working.

Andy Lapteff • 49:24

Once you do that, John, I would think if I’m trying to differentiate myself and keep my career progressing, I would want to try to do this at work. That’s a whole different episode in conversation. But like, do you have to talk to work? Hey, this is an idea I have. What do you think? Or do you just get the free Netbox open thing, open source, populate it, do a thing, and then show them? I know it’s culture to culture and company to company, but what next after you figure this out?

Andy Lapteff • 49:47

Like, what do you do at work?

John Capobianco • 49:48

I would approach your leadership and ask them: are there approved LLMs that I can get an API key for? Right. Are we using Copilot? Are we using Anthropic? Are we using Google? What is the tool of choice? What is the approved corporate LLM?

John Capobianco • 50:05

If they don’t have an answer for that, see that as an opportunity. Say, well, I have this wonderful idea. I can show you the demo. I’ve done it in my home lab with my own key, and maybe we can have something we can put on the roadmap for starting to incorporate AI. Use this as leverage, Andy. Use this to move forward and be the AI expert in your shop. Do you know what I mean?

John Capobianco • 50:24

Like you can be that person and become completely invaluable and irreplaceable if you become that subject matter expert on bringing these kind of ideas on board, right?

Andy Lapteff • 50:36

Look, you saved my life, dude. I appreciate everything you’re doing. It’s, you know, this. This community, the network engineering community, has changed my life. I’m a different person. I have a different career. I have a different lifestyle.

Andy Lapteff • 50:49

Like, I’m a different person now and like, dude, your time. The fact that we get to talk and learn from people like you, dude, you saved me, man, big time, like, professionally, like, John, just real talk. And I appreciate that. I appreciate everything that you do, and the way that you give back, dude, John, it’s changing my life, man. So I appreciate everything that you do. And keep it up. We need more people like you.

John Capobianco • 51:13

Likewise. And if I can support the audience, my emails on my LinkedIn, I’ll respond to anyone who reaches out and is willing to put in the time to do this. So feel free to reach out anytime to me. I want to thank you for the opportunity, Andy. This was great. So thanks again, big time, John.

Andy Lapteff • 51:32

Thanks for joining us today on the Art of Network Engineering podcast. If you liked the show, please subscribe and leave us a review. It really helps us get the show out there. You can find us on socials at ArtofnetEnge and you can visit Linktree forward/ArtofnetEng for links to all of our content, including the A1 merch store and our virtual community on Discord called It’s All About the Journey. You can see our pretty faces on our YouTube channel named the Art of Network Engineering. That’s youtube.com forward/artofneteng . Thanks for listening.

The Latest in Agentic Operations & Infrastructure

Get Started

Agentic infrastructure operations starts here.

See how Itential connects AI reasoning to governed execution across your entire infrastructure.

Talk to our Experts