WEBVTT

00:00.200 --> 00:06.280
So before we dive into the components of MCP, let's talk a bit about the general architecture and the

00:06.360 --> 00:07.480
goal of MCP.

00:07.520 --> 00:09.200
And let's recap on that.

00:09.600 --> 00:17.600
So the model context protocol supposed to standardize how applications provide context to LMS.

00:18.080 --> 00:21.560
So context to LMS can be very thin.

00:21.760 --> 00:24.880
So context can be additional information to the prompt.

00:25.080 --> 00:27.680
A context can be maybe which tool to invoke.

00:28.000 --> 00:31.040
And a context can even be the prompt itself.

00:31.160 --> 00:36.880
And I know the last sentence sounds a bit funny, but I'll show you an example of it in later videos.

00:37.240 --> 00:43.640
Once we have a standard that becomes popular, then we start seeing insane things that are being built.

00:43.880 --> 00:50.560
So take for example, this MCP server that Eric Dickerson wrote to cursor.

00:50.880 --> 00:58.560
And this MCP server is going to give the AI application which is cursor in this scenario to order food.

00:58.600 --> 01:01.000
Now you can see in the prompt he wrote I want fika.

01:01.000 --> 01:03.910
Where can I get kain Cane wool.

01:04.030 --> 01:05.390
I have no idea what it is.

01:05.550 --> 01:09.150
Actually, I don't know what thicker is as well, but let's see what it will get.

01:09.150 --> 01:15.790
And this MCP server is connected to his Uber Eats account, so he gave cursor the capability in tools

01:15.790 --> 01:18.550
to find the menu options, which he gets.

01:18.990 --> 01:22.470
Then it goes and it's going to filter by cannibal.

01:22.870 --> 01:26.310
And then it goes to get those results.

01:26.310 --> 01:30.070
And then it's going to prompt the user to order it.

01:30.470 --> 01:32.750
So it's going to say yes I want to order.

01:32.790 --> 01:40.270
It's going to invoke the Order Food tool, and it's going to order this in this dish.

01:41.510 --> 01:43.110
And let me show you what he got.

01:43.110 --> 01:45.070
So this is a kind of pastry.

01:45.070 --> 01:47.150
It turns out it looks delicious.

01:47.790 --> 01:50.590
But the point here is that you can do insane things with it.

01:50.590 --> 01:53.350
And here is the open source repo, which I will, by the way.

01:53.350 --> 01:53.790
Link.

01:54.750 --> 02:02.830
And because MCP is like the USB-C and let's say this MCP server is like an external device, we can

02:02.830 --> 02:08.980
go and take it and connect it to another AI application like cloud desktop or windsurf and it would

02:08.980 --> 02:09.780
work as well.

02:09.820 --> 02:13.140
Now notice I'm not talking about summit 3.7, for example.

02:13.140 --> 02:20.220
I'm talking about Cloud Desktop because Cloud Desktop is the AI application which uses under the hood

02:20.460 --> 02:22.420
the models of anthropic.

02:22.700 --> 02:28.220
It can be our own AI applications that we build, as long as we follow the protocol and implement it.

02:28.220 --> 02:30.620
And we're supposed to see this in the course as well.

02:31.060 --> 02:36.540
And this gives a very convenient way to plug and play to our AI applications.

02:36.580 --> 02:40.100
Again, not models directly, but the AI applications.

02:40.100 --> 02:44.980
So we can connect them and enrich them with external data sources and tools.

02:44.980 --> 02:47.140
And we'll cover it later in this course.

02:47.580 --> 02:48.060
Alrighty.

02:48.100 --> 02:52.060
So let's summarize the advantages we can see in the documentation as well.

02:52.260 --> 02:57.660
We have a huge list of integrations and tools and data sources we can plug and play to our LMS.

02:57.700 --> 02:58.620
This is number one.

02:58.940 --> 03:06.140
Number two is that really the core of AI application development is the fact that we are not coupled

03:06.140 --> 03:10.770
to any LLM vendor or to any AI application builder.

03:10.850 --> 03:14.930
So we simply need to write our tools that we're using.

03:14.930 --> 03:16.290
And this is the core functionality.

03:16.290 --> 03:20.810
And we can migrate and use them in different vendors, which is very convenient.

03:20.810 --> 03:24.410
And by the way, link chain, the open source framework does this as well.

03:24.730 --> 03:31.010
But I will make a video really comparing the two and seeing how they blend in together and what value

03:31.050 --> 03:32.050
does each one give.

03:32.410 --> 03:39.050
There are some problems in AI engineering that they both solve, but each one does it in a different

03:39.050 --> 03:39.490
way.

03:39.850 --> 03:43.930
Yet those ways that they solve those problems do not overlap.

03:44.170 --> 03:46.570
So for example, the plug and play capability.

03:46.730 --> 03:50.130
But we'll dive deep into this when we'll compare link chain and MCP.

03:51.090 --> 03:51.890
Alrighty.

03:51.890 --> 03:58.450
So in the next video we'll cover MCP, the model context protocol core components.

03:58.810 --> 03:59.930
So let's list them.

03:59.930 --> 04:03.450
Right now we have on the left side the MCP host.

04:03.450 --> 04:11.490
So this is for example Cloud desktop an IDE like cursor or windsurf or any other specialized AI application

04:11.570 --> 04:15.370
like an agent that supports the MCP protocol.

04:15.370 --> 04:20.410
And those are the application we're going to augment with the MCP protocol.

04:20.410 --> 04:25.530
So we're either going to give them external tools that they didn't have, or maybe connect them to a

04:25.530 --> 04:30.250
data source that they didn't have access to, or even to specific prompts.

04:30.610 --> 04:30.930
Cool.

04:30.930 --> 04:32.290
So this is the left side.

04:32.290 --> 04:36.610
And on the right side is what we're going to augment those applications with.

04:36.930 --> 04:43.450
So it can either be some access to external tools like making a certain API call, like getting the

04:43.450 --> 04:44.130
weather.

04:44.250 --> 04:46.250
It can be searching in a database.

04:46.250 --> 04:51.810
It could be knowledge and information like PDFs, like a lot of text.

04:51.810 --> 04:53.850
And the list goes on and on and on.

04:55.010 --> 04:55.730
All right.

04:55.730 --> 04:58.690
And now it's time to talk about MCP servers.

04:58.690 --> 05:05.850
And the servers are the component that will expose those resources, those tools, those prompts.

05:05.850 --> 05:12.730
And they will be the proxy, the gateway however you want to call it that will expose that functionality.

05:14.520 --> 05:17.480
And in order to expose that functionality.

05:17.720 --> 05:19.840
So this is the actual protocol.

05:19.840 --> 05:23.680
It needs to have certain methods in certain functions.

05:23.680 --> 05:31.520
For example least prompts, get prompt list tools, call tool list resource templates, and progress

05:31.520 --> 05:36.560
notification and we'll cover it in the server section once we implement MCP servers.

05:37.920 --> 05:46.680
The point here is once we implement an MCP server, then we can basically connect it to any MCP host

05:46.680 --> 05:49.000
that is supporting the protocol.

05:49.040 --> 05:53.040
I mean, if I call it an Sapi host, this means it does support the protocol.

05:53.400 --> 06:01.840
So this means we can write functionality once and then plug it to, for example, many, many MCP hosts.

06:02.080 --> 06:04.000
So this is the big deal over here.

06:04.000 --> 06:06.640
And this is what is so game changing.

06:07.640 --> 06:08.160
Cool.

06:08.280 --> 06:13.840
So in order to connect those MCP servers into the MCP hosts.

06:13.840 --> 06:17.550
So for example, let's take the concrete example we saw earlier in the course.

06:17.550 --> 06:24.670
We want to connect the weather map server into Cloud Desktop, and then we'll need to do it with an

06:24.670 --> 06:25.910
NCP client.

06:26.230 --> 06:34.150
So the NCP client and again we'll cover it in depth in the course sits inside the NCP hosts.

06:34.430 --> 06:39.950
And it's going to be able to interact and to talk with the NCP servers.

06:39.950 --> 06:42.910
And they're going to do this via the MCP protocol.

06:43.390 --> 06:46.430
So this is the language that they're going to interact with.

06:46.470 --> 06:47.950
And this is the protocol.

06:48.710 --> 06:55.430
So it's important also to note, by the way, that there is a 1 to 1 connection between an NCP client

06:55.430 --> 06:56.830
and an NCP server.

06:57.070 --> 07:01.790
So you can't have an NCP client that talks to multiple NCP servers.

07:02.030 --> 07:08.070
So NCP hosts, if you want to connect them with multiple NCP servers, then we'll need to have multiple

07:08.110 --> 07:14.550
NCP clients inside them, and we'll talk about it in depth in the client section when we will be implementing

07:14.590 --> 07:15.830
an NCP client.
