How To Create Upgraded AI Agents with Gram β
Other Videosπ
2025-10-31
Transcript β
[00:00] Let's learn how we can upgrade our AI agents by creating MCPs that can connect to any API found on the internet. And the way we're going to do that is we're going to use Speak Easy's new platform here called Graham. Welcome back y'all. Today's video is sponsored by Speak Easy. They reached out to me and they're like, Corbin, we got a pretty big update. I said, "What's the update?" And they said they released Graham here, which allows us to build out fully customizable MCPS. And after using it, I have to admit, this cloud MCP platform is probably one of the best I've seen. It really allows you to create a nice little mosaic masterpiece of different
[00:30] blocks of APIs you can find on the internet and connect them all together to create an awesome toolkit which then your AI agent can use whether it's in cursor AI claw chat GBT. Therefore, let's check this out step by step how we do this. Let's hit start building. I'll make sure I leave a link to the platform in the description down below. What we're going to do first here is set up our MCP server. We're going to say get started. Now step one here is what API do you want to connect to? I'll also leave Ampify in the description down below. This is a store that essentially we can connect to a bunch of different APIs whether that is a Google map scraper, a website content crawler,
[01:02] Facebook ad library scraper, whatever it is, you simply come to this site, type it in. So in today's video, we're going to be leveraging the YouTube one, the YouTube scraper. Therefore, in this video, you're going to learn how to integrate any API found on Ampify and in addition any API documentation that exists on the internet as we'll be integrating Bumbo's API as well. So first things first, we got to get the spec here. To do that, go ahead and sign up for a free account on Ampify. I'm just going to choose YouTube scraper here. What I'm looking for here is the top right. Hit the open API definition. This is going to give us the relevant specifications needed in order to attach
[01:32] that to our MCP. Don't make this difficult, y'all. Essentially, what this file is that we're about to download and give to Graham here is all the different actions that are specific to the API. So, for this YouTube one, it's essentially like, can we grab the title of the video? Can we grab the duration of the video? Can we grab the thumbnail data for the video? Just simple stuff like that. Little actions you'll see here. This will be a little bit more crystal clear once we do the bump ups as well as I'll show you a one by one comparison. But for now, I'm going to copy to make our lives easy. Instead of us needing to create a new file in the IDE, I'm just going to ask cursor to do it for us. So, I'm going to take that.
[02:03] I'm going to paste that and simply say this. I'm going to say, okay, see these open API specs, make it so I could download as a JSON. I pasted it above here and hit enter. Now, you might be asking, Corbin, how do you know it's ajson? If you come back over to Graham, right above my head, you'll see it accepts.yml, yaml.yiml andjson. In theory, we could also just go into our IDE here, create a new file.yamel and paste it that way or JSON and paste it that way. In addition, if you don't have access to cursor AI, just use any AI
[02:34] model and essentially ask for the exact same thing. And there we go. It saved it to my desktop. So, let's go ahead and start here. I'm going to go ahead and drag it into here. Boom. We're going to give it a very specific name here. So, honestly, the name it gave it was pretty good, but we'll just say YouTube scraper is fine. Continue. Next, it's going to have all the relevant actions. So, I know these look a little confusing. Don't worry. We're just going to hit continue here. And essentially, what we can do is we're going to be able to rename those to specifically what we care about. This is going to be our slug for our MCP. This is how we're going to reference it. This is fundamentally pretty important here. And because I'm
[03:05] going to create a pretty cool one here that is a multi-layer MCP that accesses different APIs for a very specific action, we're going to name it this YouTube grab. as we're not only going to be leveraging a YouTube scraper, we're also going to be leveraging bumps API here, which allows us to chat with YouTube videos, ask for timestamps for YouTube videos, takeaways, everything like this. So, hit continue. Perfect. Now that we've created our MCP server, I can click into it. There's going to be a bunch of settings. We're going to jump around here, but first, let's just configure our actions. And these tools are the different things that the actor
[03:36] can do. So, we got YouTube scraper, run sync, streamers, YouTube scraper. So if you want more information about your underlying API and what it can do, you just jump over to essentially where you got it from. So for here, this is appy and then YouTube scraper. For me, I know what this means. So I'm just going to do edit here. And instead of YouTube scraper da da da da, we're just going to say YouTube scraper get data. This is how I'm going to get the relevant title, thumbnail data, and everything we would want. So now that we have a nice little YouTube scraper bot, let's add an additional API here, which we bump up. So add API. Same process, y'all. So, simply coming to the documentation here,
[04:07] we can click here, download JSON or YAML. We'll do JSON. I'm then going to drag it into here. We can name it. So, we can do bumpups. We just do bump ups here. This is good. And make continue. And here we go. We got six new tools. Continue. So, now that we've added bump ups here, we can add this as additional actions. So, if you recall, we created our MCP server of YouTube Scraper. That is going to be where we host all the different tools. If I come back over here to our tool set, we got bumpups and the original tool set of YouTube scraper. If I want to add tools to my MCP server, I simply go to the YouTube
[04:37] scraper MCP tool set and I say add tools. With that done, what you'll notice is that bumpups has all these tools we can select. I don't have to select all of them, but for the purpose of this video, we'll go ahead and do that. Now, here is one thing that you can identify right off the bat, and this will make more sense to you. Now, notice bumpups create chat. What is this tool, Corbin? Where is this coming from? This is coming from our bumpups API and specifically the chat endpoint. Create chat response. What we're functionally doing here is now giving this MCP server
[05:07] the ability to call this and get data like this. So nice. Let's go ahead and add all these add six tools. So what you notice is that once we add bumpups here, it does require us to add an environment variable. You might be asking yourself, Corbin, how do you know that? Is because if we go back to bumpus API here, you can notice in the top right, it requires an API key to even do the call. This is like an open AI API key. This is like a clawed API key. It just tells the service provider in this context bumpups that yes, they have the rights to get the data relevant to what they're
[05:38] requesting. So to do this, we're going to come to environments here. We'll select new environment. Give it a name. So this is going to be for that YouTube scraper. So YouTube data, we'll just call it submit. Fill for tool set as we just created that tool set together. YouTube scraper fill variables. When it comes to the YouTube scraper server URL and the bumpup server URL, usually we can leave these blank. Not that big of a deal, but we need to fill in for this bumpups API key off. I'm going to go and just paste it there. I know you can see it, but don't worry, I'm going delete it. I made save. There we go. One big thing for you to know is that when you
[06:08] create more and more connections to other API servers, this is where you're going to be putting those environment variables that are relevant if it's needed. Now, a lot of the times because of the fact that if you're using this within claude or cursor, you kind of already have access to the AI model that way. So, maybe you're not worrying too much about like can I use my OpenAI API key here because it's already inherently part of the logic, right? The idea behind Graham and this MCP server is to really simplify your ability to integrate this into different workflows, specifically AI workflows, as you'll see
[06:39] here with a custom tool ability. It's pretty cool. So, stay tuned. So what you'll notice is if we come to playground here, we can check our tool set of YouTube scraper. Nice. With the tool set selected here, you'll see all the relevant stuff. So this is the YouTube scraper which we grabbed here from amplify. And then this is the bumpups which we grabbed from the bumpups documentation. So now we've successfully created a self-hosted MCP server that's going to be able to do any of these actions we request. So let's just do one real quick. I'm going to make sure I select the environment of YouTube data that we set. I'm going to say use bump up create chat and ask what
[07:12] is the best part of this video and the video we'll use is from speak easy introducing Graham. So what you'll notice here is going to do the relevant call. Nice. We're going to hit accept. I'm posting the data. I'm sending the data and there we go based on the video which was introducing the Graham platform. As you can see here with the video and this title introducing Graham build agent tools that perform we get the highlights of upload a spec create a curated MCP tools and host in one click. So kind and a deja vu as you're seeing it live right now as well. Point being though, now you can see functionally how we test the different API actions that
[07:43] we built in our MCP server. So in theory here, I could test ones from YouTube scraper as well, but I'm going to create a custom tool later on in this video to show you how we can kind of match and pair these, which will lead back nicely to what you saw in the beginning of the video where we can actually connect all these different APIs and do really cool actions with them all automatically and let AI do the heavy lifting. But let's first off jump over to the MCP server, right? So we go to MCP here. Click it. What does all of this mean? Well, first off, this is your link here, right? So, you got Web Cafe AI, YouTube grab. We're going to reference this when we do our
[08:14] cursor integration together. Coming down here, we got visibility. Do you want it to be a publicly available URL? Eg, anyone can access this MCP or alternatively, do you want this as an internal facing tool, so keep it a private? Now, let's get to the fun stuff here with the MCP installation and actually start using this outside of this environment. Let's go over here to view. We're going to go ahead and click view. What Graham does out of the box, which is super cool, is that it shows you all these like easy plug-and-play ways to install across all these different platforms. Alternatively, if you want to install this MCP maybe into
[08:44] something that isn't shown above there, we can do it with this raw configuration. But I'm going to show you today how to do it within cursor. And then once I show you it working in cursor, we're going to create a custom tool together for a very specific action we can actually leverage in cursor AI that will help us out when we're coding. So to add a cursor, we're going to simply go to add client. We can click cursor here or alternatively click it here. Once we add it, what's nice is it will automatically go here. We can name it. So we'll just call it YouTube scraper. That's fine. It has all the information already put here. But the only thing that's needed from us as of now is going to be this last part here
[09:14] of MCP bumpups API. So we're going to put this value here. Remember this is the key Z key install. Now let me go ahead and help you out real quick just in case you run into some errors on this part. First off, if you run into an error right away, it's like it's not working. Hit this pencil icon. You want to ensure a couple things. First off, these are environment variables. Nice. We put that in together. Second off, this line right here, line seven. Fundamentally extremely important that this URL is the URL you see here of hosted URL. It's this one right here. So you copy this and paste it here. Then it
[09:46] should work. Next, what you'll notice is that we have all nine tools enabled. I can click this and maybe we only want the chat feature. So we do this, this, this, this. You know, we want the get data. That's nice. And then after that, we only have two tools enabled. Eg the create chat and the scraping of the YouTube data. Creating a chat allows us to ask any type of prompt to get information on that YouTube video. And the scraping of the data allows us to get metadata like the title, duration, everything of this nature. Now, before we see it in action, I want to show you one really cool thing that is an extra
[10:17] layer of specialization you can do with your MCP servers. If I come up here to tool set again, I go to the tool set of YouTube scraper which you remember we set up earlier. I can go to any of these actions and give the context more AI of how to handle the relevant data. So for example, create chat. If I hit edit here and I go to edit description. This is the description. But this isn't just a you know front-facing description. This description it can actually be read by the AI model. Provide the video URL and an optimal prompt. If no prompt is provided, the API returns a summary of
[10:49] the video content. In theory here, you can add more brand guidelines or just more rules. So, like for example, if I wanted the responses to be more brief when it comes to using this specific tool, I would put all responses should be under four sentences and hit save. There's a lot more nuance here. So, I'm going to go ahead and also leave the docs to Graham in the description down below. So, you can kind of search through here. Also, what's really nice about these docs, I love it. You go to search here, you can use the AI and essentially just find the exact information you're looking for. Gone are the days of command F or control F on
[11:20] your browser. Ask AI. Let's go to see it in action, though. So, here is our prompt. I need to learn more about this video. Provide the video link. This is about GitHub in 10 minutes. Use the MCP server YouTube scraper that we've identified here. Tool bumpups chat and ask what is the most important idea to remember from this tutorial. And use the YouTube scraper get data for the metadata on the video. Now, what I'm going to show you pretty soon here is how we can actually cause a chain reaction and really leverage this MCP to its maxability with custom tools using Graham. But for now, let's see it functionally work. Enter. One thing that's important is make sure you enable
[11:51] agent mode. How to reset this chat. But agent mode is gonna allow us to actually leverage these MCP server. There we go. We're running the bumpups create chat. Nice. It was able to run the YouTube scrape data MCP protocol as well. And here we go. So we got the metadata how to use GitHub for beginners. Nice. And then we got the most important idea. Treat the main branch as a stable source of truth and use branches and pull requests to make test and merge changes safely. This is true. Don't ever mess with the main branch that's in production. No good. That's just one small example of what we could do in cursor AI. In theory, I could load a
[12:22] bunch of coding tutorials using YouTube links. Now, provide all that context using Graham MCP and grabbing the data that way, putting it into my chat, and then whenever I'm coding out, the code would be better because cursor has more context. But let me show you something that I think a lot of y'all are going to like. And this is called custom tools. So, we're say create new custom tool. We're going to use the tool set that we created, YouTube scraper. And all we do here is just use regular dictation just like we're talking to an AI model. I want you to scrape the YouTube link I provide and output the metadata of the video. What specific action do you want
[12:52] it to do first? Then use pop-up chat to ask for a summary of the video. We just paired two different APIs from two different providers and we can make them work hand in hand. Toolify. So now within the MCP, we don't have to call each one separately. Rather we have a new tool. I can rename this YouTube. Yes. And what YouTube yes does and when I call it functionally in any application I use is going to do both those APIs in tangent. And to test this, we simply hit try now. It's going to
[13:23] want the YouTube link. So I'm going to paste it and boom. We were able to get the relevant YouTube video metadata and on top of that the relevant summary from Bumpup's chat. Now fundamentally you just learned that you can actually do a chain effect by using custom tools here where you can pair all these different APIs together. Therefore, an action you do with Instagram scraper could pair with Tik Tok scraper. All done in one command you make in your custom MCP. So, that just about does today's video. Let me know what kind of MCP you plan on creating. Graham is pretty intuitive, y'all. It has support for a bunch of
[13:54] different languages such as Python, TypeScript, Java, whatever you like to program in, it can handle. So, go ahead and check out Graham. It's in the description down below. And as you already know with these style of videos, I'll see you in the next. Can we now just create a custom MCP server that can do whatever we want? Change actions and do anything that you could ever think of. Video Graham speak easy.