Learn how to go from API to MCP server in just minutes — and make it AI-ready.
In this session, we cover:
• How to compose APIs optimized for AI integration
• Steps to quickly create a remote MCP server from your API
• Security best practices to mitigate attack vectors in MCP environments
• How to add observability to monitor, debug, and optimize your MCP server
Tools featured:
• Zuplo – API management and gateway
• Supabase – Backend and database services
Whether you’re building AI-driven applications or want to expose APIs securely for machine consumption, this session gives you a step-by-step blueprint.
--------------------------------------------------------------------
⚡Download Sharp Rewards Wallet to earn Rewards: (200 bonus on using this link) http://invite.sharpplatform.com/VirtualConf
Show More Show Less View Video Transcript
0:00
In this episode of AI Dev Tools, we are
0:02
In this episode of AI Dev Tools, we are
0:02
In this episode of AI Dev Tools, we are going to learn on how you can quickly
0:03
going to learn on how you can quickly
0:03
going to learn on how you can quickly build a remote MCP server from your API
0:06
build a remote MCP server from your API
0:06
build a remote MCP server from your API with none other than Adrian who's a
0:08
with none other than Adrian who's a
0:08
with none other than Adrian who's a software engineer at Ziplo. Hi Adrian
0:10
software engineer at Ziplo. Hi Adrian
0:10
software engineer at Ziplo. Hi Adrian and welcome to the show.
0:16
Hello everyone. I'm Adrian. I'm a staff
0:18
Hello everyone. I'm Adrian. I'm a staff
0:18
Hello everyone. I'm Adrian. I'm a staff software engineer here at Zuplo and I'm
0:20
software engineer here at Zuplo and I'm
0:20
software engineer here at Zuplo and I'm excited to show you what I got. So
0:21
excited to show you what I got. So
0:22
excited to show you what I got. So everyone out there, all the devs, you
0:24
everyone out there, all the devs, you
0:24
everyone out there, all the devs, you all have data and I'm sure about that.
0:25
all have data and I'm sure about that.
0:26
all have data and I'm sure about that. You have data in database. I've got a
0:28
You have data in database. I've got a
0:28
You have data in database. I've got a super basease over here and I have a
0:29
super basease over here and I have a
0:29
super basease over here and I have a little bit of data around, you know,
0:31
little bit of data around, you know,
0:31
little bit of data around, you know, some sensitive information. This is a
0:33
some sensitive information. This is a
0:33
some sensitive information. This is a little table I call credit cards where
0:35
little table I call credit cards where
0:35
little table I call credit cards where it has, you know, a first name, a last
0:36
it has, you know, a first name, a last
0:36
it has, you know, a first name, a last name, number, account numbers, and
0:39
name, number, account numbers, and
0:39
name, number, account numbers, and that's all great, but what if you want
0:40
that's all great, but what if you want
0:40
that's all great, but what if you want to securely expose your data to AI,
0:44
to securely expose your data to AI,
0:44
to securely expose your data to AI, whether that's chat GPT, cursor, or any
0:46
whether that's chat GPT, cursor, or any
0:46
whether that's chat GPT, cursor, or any of the other LLM tools out there? Your
0:48
of the other LLM tools out there? Your
0:48
of the other LLM tools out there? Your first instinct might be to use an API.
0:52
first instinct might be to use an API.
0:52
first instinct might be to use an API. And that's very good sense. So what I've
0:55
And that's very good sense. So what I've
0:55
And that's very good sense. So what I've set up over here using Zupla which is an
0:57
set up over here using Zupla which is an
0:57
set up over here using Zupla which is an API management platform I built is a
0:59
API management platform I built is a
0:59
API management platform I built is a simple API proxy that will both read
1:02
simple API proxy that will both read
1:02
simple API proxy that will both read your existing credit cards from your
1:04
your existing credit cards from your
1:04
your existing credit cards from your superb basease database over here and
1:06
superb basease database over here and
1:06
superb basease database over here and also allow you to add credit cards. So
1:08
also allow you to add credit cards. So
1:08
also allow you to add credit cards. So essentially we can have an API powered
1:10
essentially we can have an API powered
1:10
essentially we can have an API powered let's call it credit card platform just
1:12
let's call it credit card platform just
1:12
let's call it credit card platform just to show you how it works. Uh I set up
1:14
to show you how it works. Uh I set up
1:14
to show you how it works. Uh I set up these two uh proxies over here in the
1:17
these two uh proxies over here in the
1:17
these two uh proxies over here in the Zuplo route designer. uh within it it's
1:20
Zuplo route designer. uh within it it's
1:20
Zuplo route designer. uh within it it's all it is is just an open API file and
1:22
all it is is just an open API file and
1:22
all it is is just an open API file and from that open API file we can generate
1:24
from that open API file we can generate
1:24
from that open API file we can generate all of the the code that we need. So I'm
1:27
all of the the code that we need. So I'm
1:27
all of the the code that we need. So I'm just going to hit test over here to show
1:29
just going to hit test over here to show
1:29
just going to hit test over here to show you that this is a live endpoint and you
1:31
you that this is a live endpoint and you
1:31
you that this is a live endpoint and you can see all of those entries from
1:32
can see all of those entries from
1:32
can see all of those entries from Superbase are being linked up over
1:35
Superbase are being linked up over
1:35
Superbase are being linked up over there. So that's awesome. So you know I
1:38
there. So that's awesome. So you know I
1:38
there. So that's awesome. So you know I could typically take this open API file
1:40
could typically take this open API file
1:40
could typically take this open API file now and pass it into a tool like uh
1:42
now and pass it into a tool like uh
1:42
now and pass it into a tool like uh OpenAI and it could feasibly understand
1:45
OpenAI and it could feasibly understand
1:45
OpenAI and it could feasibly understand all the content in there and make API
1:47
all the content in there and make API
1:47
all the content in there and make API calls. However, that's going to
1:49
calls. However, that's going to
1:50
calls. However, that's going to potentially lead to a lot of wasted
1:52
potentially lead to a lot of wasted
1:52
potentially lead to a lot of wasted context in the context window of the
1:54
context in the context window of the
1:54
context in the context window of the API, especially if this is not just the
1:57
API, especially if this is not just the
1:57
API, especially if this is not just the two endpoints that I'm showing over
1:58
two endpoints that I'm showing over
1:58
two endpoints that I'm showing over here. But what if it's 200? So, we need
2:00
here. But what if it's 200? So, we need
2:00
here. But what if it's 200? So, we need a better way of exposing these APIs and
2:02
a better way of exposing these APIs and
2:02
a better way of exposing these APIs and this data to AI tools. And that answer
2:06
this data to AI tools. And that answer
2:06
this data to AI tools. And that answer is model context protocol or MCP.
2:09
is model context protocol or MCP.
2:09
is model context protocol or MCP. Essentially, the way MCP works is that
2:11
Essentially, the way MCP works is that
2:11
Essentially, the way MCP works is that it exposes a list of tools which roughly
2:14
it exposes a list of tools which roughly
2:14
it exposes a list of tools which roughly map over to a bunch of different API
2:16
map over to a bunch of different API
2:16
map over to a bunch of different API endpoints you might have or a collection
2:17
endpoints you might have or a collection
2:17
endpoints you might have or a collection of API endpoints like a workflow and
2:20
of API endpoints like a workflow and
2:20
of API endpoints like a workflow and rather than sending them all down to the
2:22
rather than sending them all down to the
2:22
rather than sending them all down to the AI at once, it just exposes some
2:24
AI at once, it just exposes some
2:24
AI at once, it just exposes some metadata about them and the AI will then
2:26
metadata about them and the AI will then
2:26
metadata about them and the AI will then ask questions uh and acquire about the
2:29
ask questions uh and acquire about the
2:29
ask questions uh and acquire about the capabilities of the tools that you're
2:31
capabilities of the tools that you're
2:31
capabilities of the tools that you're exposing. So, it can retrieve them one
2:33
exposing. So, it can retrieve them one
2:33
exposing. So, it can retrieve them one by one and make use of them without
2:34
by one and make use of them without
2:34
by one and make use of them without blowing up its context window. So uh
2:37
blowing up its context window. So uh
2:37
blowing up its context window. So uh within Zupla we decided that this is a
2:39
within Zupla we decided that this is a
2:39
within Zupla we decided that this is a pretty important use case essentially
2:41
pretty important use case essentially
2:41
pretty important use case essentially being able to take your existing like
2:43
being able to take your existing like
2:43
being able to take your existing like APIs and data and expose them as secure
2:45
APIs and data and expose them as secure
2:46
APIs and data and expose them as secure remote MCP server. So what I'm going to
2:48
remote MCP server. So what I'm going to
2:48
remote MCP server. So what I'm going to show you over here is how exactly to do
2:50
show you over here is how exactly to do
2:50
show you over here is how exactly to do that. All I'm going to do is create a
2:52
that. All I'm going to do is create a
2:52
that. All I'm going to do is create a new open API spec within Zuplow over
2:54
new open API spec within Zuplow over
2:54
new open API spec within Zuplow over here. I'm going to call this MCP.json.
2:57
here. I'm going to call this MCP.json.
2:58
here. I'm going to call this MCP.json. You can do this within our web platform
2:59
You can do this within our web platform
2:59
You can do this within our web platform as I'm showing you now or you can do
3:00
as I'm showing you now or you can do
3:00
as I'm showing you now or you can do this all locally within VS Code. And
3:03
this all locally within VS Code. And
3:03
this all locally within VS Code. And then I'm going to click quickly add a
3:04
then I'm going to click quickly add a
3:04
then I'm going to click quickly add a route. I'm going to call this my MCP
3:07
route. I'm going to call this my MCP
3:07
route. I'm going to call this my MCP route and it's going to be hosted on
3:11
route and it's going to be hosted on
3:11
route and it's going to be hosted on slashmcp.
3:13
slashmcp.
3:13
slashmcp. That's great. And I'm going to change
3:15
That's great. And I'm going to change
3:15
That's great. And I'm going to change the handler over here to be the MCP
3:18
the handler over here to be the MCP
3:18
the handler over here to be the MCP server handler. And I'm going to change
3:20
server handler. And I'm going to change
3:20
server handler. And I'm going to change this to post because that's what the
3:22
this to post because that's what the
3:22
this to post because that's what the protocol for MCP requires. And what this
3:24
protocol for MCP requires. And what this
3:24
protocol for MCP requires. And what this is going to do now is it's going to take
3:26
is going to do now is it's going to take
3:26
is going to do now is it's going to take this uh routes.json
3:28
this uh routes.json
3:28
this uh routes.json file, the two endpoints I showed you
3:29
file, the two endpoints I showed you
3:30
file, the two endpoints I showed you earlier, and convert them into MCP
3:32
earlier, and convert them into MCP
3:32
earlier, and convert them into MCP tools.
3:34
tools.
3:34
tools. So, how do I know that this is working?
3:37
So, how do I know that this is working?
3:37
So, how do I know that this is working? Well, I can quickly grab the URL of this
3:38
Well, I can quickly grab the URL of this
3:38
Well, I can quickly grab the URL of this MCP server over here. That's great. And
3:41
MCP server over here. That's great. And
3:41
MCP server over here. That's great. And I'm going to head over to OpenAI's
3:42
I'm going to head over to OpenAI's
3:42
I'm going to head over to OpenAI's playground. I'm going to be using Chat
3:44
playground. I'm going to be using Chat
3:44
playground. I'm going to be using Chat GPT uh the GPT4.1 model. And what you
3:48
GPT uh the GPT4.1 model. And what you
3:48
GPT uh the GPT4.1 model. And what you need to do is you just click the tools
3:50
need to do is you just click the tools
3:50
need to do is you just click the tools button over here. You link up an MCP
3:52
button over here. You link up an MCP
3:52
button over here. You link up an MCP server. Click add new. And you can add
3:56
server. Click add new. And you can add
3:56
server. Click add new. And you can add the URL of that server. I'm going to
3:58
the URL of that server. I'm going to
3:58
the URL of that server. I'm going to call this the credit card server and
4:02
call this the credit card server and
4:02
call this the credit card server and credit card data. That's great. We don't
4:06
credit card data. That's great. We don't
4:06
credit card data. That's great. We don't need any access tokens for now or API
4:08
need any access tokens for now or API
4:08
need any access tokens for now or API keys, but I I can show you how to add
4:09
keys, but I I can show you how to add
4:09
keys, but I I can show you how to add that in a second. And I'm going to click
4:11
that in a second. And I'm going to click
4:11
that in a second. And I'm going to click connect.
4:13
connect.
4:13
connect. All right. So, you can see that the two
4:14
All right. So, you can see that the two
4:14
All right. So, you can see that the two tools are already linked up. Get credit
4:16
tools are already linked up. Get credit
4:16
tools are already linked up. Get credit cards and add credit cards. That roughly
4:18
cards and add credit cards. That roughly
4:18
cards and add credit cards. That roughly mapped up to the different API endpoints
4:21
mapped up to the different API endpoints
4:21
mapped up to the different API endpoints that I showed you earlier. Okay, that's
4:24
that I showed you earlier. Okay, that's
4:24
that I showed you earlier. Okay, that's great. So, now let's try and do
4:26
great. So, now let's try and do
4:26
great. So, now let's try and do something with it, right? So, let's see.
4:27
something with it, right? So, let's see.
4:28
something with it, right? So, let's see. Get me a list of all of
4:32
Get me a list of all of
4:32
Get me a list of all of the credit cards.
4:35
the credit cards.
4:35
the credit cards. And you can see that OpenAI is now going
4:37
And you can see that OpenAI is now going
4:37
And you can see that OpenAI is now going to look at the tools that it has
4:39
to look at the tools that it has
4:39
to look at the tools that it has available. It makes this list tools
4:40
available. It makes this list tools
4:40
available. It makes this list tools call, which is specified within the MCP
4:42
call, which is specified within the MCP
4:42
call, which is specified within the MCP protocol. And it's like, hey, get credit
4:44
protocol. And it's like, hey, get credit
4:44
protocol. And it's like, hey, get credit cards is what this guy wants to do. So,
4:46
cards is what this guy wants to do. So,
4:46
cards is what this guy wants to do. So, I'm going to click approve.
4:48
I'm going to click approve.
4:48
I'm going to click approve. And you can see now semantically the AI
4:50
And you can see now semantically the AI
4:50
And you can see now semantically the AI has access to the data within our
4:52
has access to the data within our
4:52
has access to the data within our database through a secure API there.
4:54
database through a secure API there.
4:54
database through a secure API there. Okay. Now, let's try and add a credit
4:56
Okay. Now, let's try and add a credit
4:56
Okay. Now, let's try and add a credit card. So, let's add a credit card. The
5:01
card. So, let's add a credit card. The
5:01
card. So, let's add a credit card. The name is going to be Bobby
5:06
name is going to be Bobby
5:06
name is going to be Bobby Axel Rod. Number is 1, two, three, four.
5:11
Axel Rod. Number is 1, two, three, four.
5:11
Axel Rod. Number is 1, two, three, four. And was there anything else within my
5:13
And was there anything else within my
5:13
And was there anything else within my database that I needed? I needed a first
5:15
database that I needed? I needed a first
5:15
database that I needed? I needed a first name, a last name, uh, and number and
5:17
name, a last name, uh, and number and
5:18
name, a last name, uh, and number and account number. So, let's do account
5:19
account number. So, let's do account
5:19
account number. So, let's do account number
5:23
five.
5:26
five.
5:26
five. There you go. So you see because MCP is
5:28
There you go. So you see because MCP is
5:28
There you go. So you see because MCP is schematized uh and the schemas are
5:31
schematized uh and the schemas are
5:31
schematized uh and the schemas are generated directly from your API, you
5:33
generated directly from your API, you
5:33
generated directly from your API, you can see that all of the properties are
5:35
can see that all of the properties are
5:35
can see that all of the properties are now appropriately mapped to what the
5:37
now appropriately mapped to what the
5:37
now appropriately mapped to what the server is expecting. So when I click
5:39
server is expecting. So when I click
5:39
server is expecting. So when I click approve over here,
5:42
approve over here,
5:42
approve over here, it's going to go and add that to my
5:45
it's going to go and add that to my
5:45
it's going to go and add that to my database over here. So if I click
5:46
database over here. So if I click
5:46
database over here. So if I click refresh,
5:50
you can see Bobby Axelrod is directly
5:52
you can see Bobby Axelrod is directly
5:52
you can see Bobby Axelrod is directly within my database. So, not only have we
5:54
within my database. So, not only have we
5:54
within my database. So, not only have we allowed the AI to easily read from the
5:58
allowed the AI to easily read from the
5:58
allowed the AI to easily read from the database, you can also perform
5:59
database, you can also perform
5:59
database, you can also perform operations directly. So, no more need
6:01
operations directly. So, no more need
6:01
operations directly. So, no more need for like a UI. With the power of like
6:03
for like a UI. With the power of like
6:03
for like a UI. With the power of like just your database and some APIs and API
6:05
just your database and some APIs and API
6:06
just your database and some APIs and API management, you can have an AI powered
6:07
management, you can have an AI powered
6:07
management, you can have an AI powered application over your data. You get up
6:10
application over your data. You get up
6:10
application over your data. You get up to a million API calls per month totally
6:12
to a million API calls per month totally
6:12
to a million API calls per month totally for free. And that includes a lot of
6:14
for free. And that includes a lot of
6:14
for free. And that includes a lot of other stuff including like API key
6:16
other stuff including like API key
6:16
other stuff including like API key authentication, which I can uh show you
6:18
authentication, which I can uh show you
6:18
authentication, which I can uh show you later, or anything else like that. If
6:21
later, or anything else like that. If
6:21
later, or anything else like that. If you go to zuplo.com all of it's
6:22
you go to zuplo.com all of it's
6:22
you go to zuplo.com all of it's available for you completely self-s
6:24
available for you completely self-s
6:24
available for you completely self-s serve all the docs are there for you and
6:26
serve all the docs are there for you and
6:26
serve all the docs are there for you and then you know openai just grab an API
6:28
then you know openai just grab an API
6:28
then you know openai just grab an API key for that and you can get started
6:29
key for that and you can get started
6:29
key for that and you can get started with that their side
6:30
with that their side
6:30
with that their side >> perfect I'll ask one more question you
6:32
>> perfect I'll ask one more question you
6:32
>> perfect I'll ask one more question you know I know many other you know eBay
6:34
know I know many other you know eBay
6:34
know I know many other you know eBay hosting tools you know there also folks
6:36
hosting tools you know there also folks
6:36
hosting tools you know there also folks who are watching it on global AI and C#
6:39
who are watching it on global AI and C#
6:39
who are watching it on global AI and C# TV you know they love Azure right so
6:41
TV you know they love Azure right so
6:41
TV you know they love Azure right so there other tools there you know what
6:43
there other tools there you know what
6:43
there other tools there you know what makes zuplo you know what are some of
6:45
makes zuplo you know what are some of
6:45
makes zuplo you know what are some of the you know maybe a USB uh that that
6:47
the you know maybe a USB uh that that
6:47
the you know maybe a USB uh that that stands out uh if you compared with other
6:50
stands out uh if you compared with other
6:50
stands out uh if you compared with other tools
6:51
tools
6:51
tools Yeah, absolutely. So, what's funny, uh,
6:52
Yeah, absolutely. So, what's funny, uh,
6:52
Yeah, absolutely. So, what's funny, uh, especially he's talking to the C# crew
6:54
especially he's talking to the C# crew
6:54
especially he's talking to the C# crew over here, our founder, Josh Twist, he
6:57
over here, our founder, Josh Twist, he
6:57
over here, our founder, Josh Twist, he actually founded Azure API management
6:59
actually founded Azure API management
7:00
actually founded Azure API management way back in the day. So, he has tons of
7:02
way back in the day. So, he has tons of
7:02
way back in the day. So, he has tons of experience and learnings from that team
7:05
experience and learnings from that team
7:05
experience and learnings from that team that he was on. Um, so he learned very
7:08
that he was on. Um, so he learned very
7:08
that he was on. Um, so he learned very quickly that Azure API management is not
7:10
quickly that Azure API management is not
7:10
quickly that Azure API management is not a tool for like developers. It's not
7:12
a tool for like developers. It's not
7:12
a tool for like developers. It's not like super friendly. It's not very fast
7:13
like super friendly. It's not very fast
7:13
like super friendly. It's not very fast to build. As I showed you over there,
7:15
to build. As I showed you over there,
7:15
to build. As I showed you over there, that API was up and running in seconds.
7:17
that API was up and running in seconds.
7:17
that API was up and running in seconds. Uh so really the emphasis here with
7:21
Uh so really the emphasis here with
7:21
Uh so really the emphasis here with Zuplow is now around building API and
7:23
Zuplow is now around building API and
7:23
Zuplow is now around building API and MCP products very quickly being super
7:26
MCP products very quickly being super
7:26
MCP products very quickly being super developer friendly not being locked to
7:28
developer friendly not being locked to
7:28
developer friendly not being locked to any specific cloud and essentially
7:30
any specific cloud and essentially
7:30
any specific cloud and essentially getting you up and running with the same
7:32
getting you up and running with the same
7:32
getting you up and running with the same sort of methodology that you would apply
7:34
sort of methodology that you would apply
7:34
sort of methodology that you would apply at front end. You know everyone loves
7:35
at front end. You know everyone loves
7:36
at front end. You know everyone loves Versell now because you can quickly uh
7:38
Versell now because you can quickly uh
7:38
Versell now because you can quickly uh go and build a website run it all
7:40
go and build a website run it all
7:40
go and build a website run it all locally push it GitHub action kicks off
7:42
locally push it GitHub action kicks off
7:42
locally push it GitHub action kicks off and you get a build that you can preview
7:43
and you get a build that you can preview
7:43
and you get a build that you can preview right away. We're trying to do the exact
7:45
right away. We're trying to do the exact
7:45
right away. We're trying to do the exact same thing to API development and MCP
7:48
same thing to API development and MCP
7:48
same thing to API development and MCP development so you can have rapid
7:49
development so you can have rapid
7:49
development so you can have rapid development on your MCP and API servers.
7:54
development on your MCP and API servers.
7:54
development on your MCP and API servers. >> Wow, I love it. I'm glad that uh you're
7:56
>> Wow, I love it. I'm glad that uh you're
7:56
>> Wow, I love it. I'm glad that uh you're part of this show, Adrian. Thank you so
7:58
part of this show, Adrian. Thank you so
7:58
part of this show, Adrian. Thank you so much for joining us today. And thank you
8:00
much for joining us today. And thank you
8:00
much for joining us today. And thank you so much everyone who is watching. Please
8:02
so much everyone who is watching. Please
8:02
so much everyone who is watching. Please go ahead and give it a shot to this
8:04
go ahead and give it a shot to this
8:04
go ahead and give it a shot to this tool. I already find it very
8:06
tool. I already find it very
8:06
tool. I already find it very interesting. And that is it. Aiden, any
8:08
interesting. And that is it. Aiden, any
8:08
interesting. And that is it. Aiden, any final thing you want to plug before we
8:10
final thing you want to plug before we
8:10
final thing you want to plug before we wrap up the show?
8:11
wrap up the show?
8:11
wrap up the show? >> No. If you're looking to build your MCP
8:13
>> No. If you're looking to build your MCP
8:13
>> No. If you're looking to build your MCP server, this is the fastest way to get
8:15
server, this is the fastest way to get
8:15
server, this is the fastest way to get it done.
8:17
it done.
8:17
it done. >> All right, Adrian, thank you so much.
8:18
>> All right, Adrian, thank you so much.
8:18
>> All right, Adrian, thank you so much. And thank you so much, everyone.
#Programming
#Internet & Telecom
#Web Services


