This video builds one qbash MCP server and connects it to Grok Bot in about five minutes. The server packages a Task, a connector and memory folders behind a single URL, and the same server works in Codex, Claude Code and the other MCP clients a team already uses.
What's covered
- Creating a server and choosing what goes in it: Tasks, connectors and memory folders
- Wrapping a connector in a Task so a client only gets the calls you trust
- Server instructions and per-tool switches on the review step
- Adding the server to Grok Bot and asking it for Nvidia's latest close from Massive
What a server can hold
Open MCP Servers, choose New server and give it a name. The demo calls it "Grok demo video". Add tools then offers three kinds of source.
Memories come in with read or write access. A memory folder is a collection of Markdown documents, so research one agent saved can be read by another, a team's Claude Code sessions can share notes, or a set of agents can get the same read-only instructions.
Tasks are Python with a prompt called only where the process needs one. The demo Task writes a LinkedIn-style post from whatever data it is given.
Connectors are cloud-hosted connections you authenticate once. Massive was connected before recording, so its stock data tools were ready to add.
Wrap a connector in a Task
One of Alex's favourite uses of a Task on a server is to wrap a connector and expose only the safe calls. A Task can search Gmail and return what it finds, so Grok Bot can look things up in an inbox without ever holding the tools that draft or delete email. MCP Servers covers when to package a Task and when to hand the client a connector tool directly.
Review, create and connect
The review step lists everything in the server. Here you can write custom instructions that tell the agent on the other end how to use the tools, and switch individual connector tools on or off. Create server then opens setup instructions for each client, with OAuth sign-in or an access token if you prefer one.
Grok Bot gives you three ways to add the server. Adding it as a custom MCP from the dashboard makes it available to the whole team, and it then appears under team plugins in Grok Bot's connected apps. You can add it yourself on grok.com under Plugins as a new connector. The easiest route in the video is to paste the server URL into Grok Bot and ask it to add the server. It asks you to authorize, you sign in with qbash, and Grok Bot reads the list of tools the server exposes.
Calling it from Grok Bot
The first question asks for Nvidia's latest close. Grok Bot calls the Massive tool through the server and answers with the data. The second asks it to use the LinkedIn Task on that data, and Grok Bot calls the Task Alex wrote and returns the drafted post.
Alex puts Tasks on a server for jobs whose control flow is already understood. Coding the process with a few prompts along the way uses fewer tokens, and the steps run the same way every time. The team builds Tasks like this to sync CRM data securely and to run research in a set order, then hands them to whichever client each person works in.
Add a custom MCP server to Grok Bot walks through the setup in more detail, and Massive lists the market data tools used in the demo.
Video transcript
Hi, Alex here, the founder of qbash. And today I wanted to take you through a fast demo of connecting our MCP servers to Grockbot. You might be doing this to take deterministic tasks that you're managing separately to the team. You might be trying to take connectors because your team is spread across Crockbot, Muse, Codeex, etc. It doesn't matter.
The servers work everywhere. Let's dive in and I'll explain along the way. First thing we're going to do is log into qbash. Press MCP servers and go to new server. Once we're here, we're going to give this a name.
I'll just call this Grock demo video, for example. If I could type it would be helpful. So, we have Grock demo video there. Then, I'm going to press add tools. And you'll see there's a different set of things that we can add here.
The first thing is we can take and connect any of the memories and give them read or write access. I memories are collections of markdown folders because you might be wanting to take research from one agent and share it with another. You might be trying to link a team's claude code access, so you've got a set of shared memories. You might be trying to give readonly access or set of instructions for different agents. If you've watched any of our videos before, you'll know we're all in on creating these deterministic AI tasks that are written in code.
Do not burn tokens and just call prompts when we need. In this case, I've written a really basic task that just tells us a LinkedIn lunatic style post. got plenty of other videos on tasks, but outside of creating these to expose access or build deterministic operations that we're distributing to multiple platforms. One of my favorite uses of tasks is I will wrap a connector and only expose safe calls. For example, sometimes I want something that can search through my Gmail to find relevant information, but I don't feel comfortable ever giving MCP access to that where it could accidentally draft, delete a bunch of emails, all these scary stories we feel about.
So, you can use this to wrap and control access. The third thing I can connect inside of this MCP server is any of the connectors. And we have a growing list of connectors that are not necessarily available anywhere else. These are all cloud hosted. And again, these will work in any environment you distribute them to.
So maybe you're trying to distribute to a team who's now working in codeex, cloud code, and muse, for example. This is a great technique to start doing that. In this case, I'm going to pick that task we built so I can distribute that down and demo it. And I also went through and pre-authenticated Massive before to get some stock data. I'm going to go to a review step here.
And this is already interesting, right? I'm combining potentially multiple deterministic tasks, different memories, a set of different connectors, and I'm putting that into a single server. I can distribute to different places. You can write a set of custom instructions here, which will give more information to the receiving MCP server agent, sorry, on how to consume that. And for any of these connectors, you can also come in and turn on or off any of the tools in case you want to control access even further.
Once that's been done, we're going to press create server. And you'll see we have a whole set of instructions depending on the tool on how to authenticate this by OOTH or you can just generate an access token if you prefer. Now, for Grock, going from hardest to easiest, there's two main different ways you will add an MCP server. The first one is you might log into the cursor dashboard and press add custom MCP. This will have the effect of install making it available for your entire team and they'll be able to log into Grockbot, press connected apps and they'll see team plugins where it could potentially be installed.
You can also log into grock.com and add a custom MCP server by going to plugins and new connector. But I personally find the easiest way, especially because I'm not going to use an off token here, is I'll say just directly to go, can you please add this MCP server? And it's going to go ahead and do that for us. And of course, yes, I would like that to be added. It's going to ask us to authorize, which is not a problem.
That's going to go through our own authorization and hooray gro has access and now it's going to look up what tools have been exposed through that server. So why don't we give it a start by saying you know can you tell me the latest close of Nvidia for example let's stay within the theme and you'll notice it was calling that MCP server to get that data we've exposed and I might say can you use the LinkedIn task with that data to generate a post now we're calling that predetermined task we've written that we distributed different We build these all the time to securely sync CRM to go through and do research in a refined way. Both because we don't want to burn tokens or we don't want to deal with the non-determinism on a task where control flow is basically understood and well defined and it's better just to code the process with a set of you know limited prompts along the way. So this is being called now. It's going to go through and show us the response.
And isn't that great? We built an MCP server. We've combined a few different things together. That's working in Grock, but that will work in any of the major tools.