Model Context Protocol
Make MCP server
Get started with Make MCP server
2 min
in this step by step guide, build a as an mcp tool in and call it from an mcp client by following this simple example, you'll learn how to extend ai capabilities with by using in ai assistants and other applications you'll follow these steps build a simple as an mcp tool connect mcp server to an mcp client (claude) call the from the client prerequisites account (any plan) claude account if you want to use a different mcp client, refer to the https //developers make com/mcp server/connect using oauth in the usage page of that client for step 2 step 1 build a scenario as an mcp tool in this example, you'll build a that searches your gmail account for unread emails when claude calls it, the returns the emails so claude can read and summarize them you'll follow these steps to build the add a gmail > search emails module to return all unread emails set the scenario to active and schedule it to on demand so mcp clients can discover it define scenario outputs to specify the data returned to mcp clients add an array aggregator module so the mcp client receives all returned emails add a scenarios > return outputs module and map outputs to the defined outputs add a scenario description to help mcp clients decide when to call the scenario once you complete these steps, your is ready to be used as an mcp tool that claude can call add a gmail module the gmail > search emails module returns all unread emails from gmail to create the and add the gmail module in , click create scenario in the top right corner on the canvas, click the giant plus and search for the gmail > search emails module click create a connection in the dialog name your gmail connection click sign in with google and complete the consent flow for the gmail account that can access in the module settings, configure the gmail > search emails module in filter type , select gmail filter from the dropdown in query , add an is\ unread filter to show only unread emails in limit , enter the maximum number of emails to return at once for this example, enter 10 in advanced settings > content format , select full content from the dropdown this email format is easy to process and includes body, subject, and other key fields click save , then run once you've now added a gmail module schedule and activate the all used as mcp tools must be active with on demand scheduling to be exposed to mcp clients to schedule and activate the click the clock icon on the gmail > search emails module to open schedule settings in the run scenario field, select on demand from the dropdown, then click save click activate scenario you've now scheduled and activated the define outputs in mcp tools, outputs define the data that scenarios return to mcp clients to define the outputs click the scenario inputs and outputs icon on the toolbar in scenario outputs , configure your output item, email data , which returns the message data of all unread emails to the mcp client name email data description all of an email's message data type dynamic collection required yes while your output is email data here, output items can include any data—such as the email sender or body, in this case click save you've now defined outputs add an array aggregator as the gmail > search emails module returns unread emails as individual docid\ zr2rwmilmj 19r85mlawm , the array aggregator module is needed to accumulate all emails into one bundle this action enables to return all emails, not only the first, to the mcp client to add an array aggregator add the array aggregator module to the gmail > search emails module in the module settings, in aggregated fields , select these fields to aggregate date subject from (email) snippet click save you've now added an array aggregator add a return output module to return the defined outputs to the mcp client, the must end with a scenarios > return output module to add this module add the scenarios > return output module to the array aggregator module in email data , map the array aggregator \[bundle] , shown below this bundle contains the aggregated email message data of all unread emails click save click save on the toolbar you've now added a scenarios > return output module describe the the description helps mcp clients and other ai systems to understand when to use the to describe the next to the name, click the arrow icon, then click save changes in the top right corner, click options and select edit description in description , briefly describe the purpose of this scenario click save once you've described your , it's ready to use as an mcp tool for an mcp client next, connect to your client, claude step 2 connect make mcp server to claude connect mcp server to an mcp client, claude, to allow the client to call your to connect open claude and click your profile name on the left sidebar select settings go to connectors click browse connectors search for make and click the plus sign in the oauth consent screen, select a organization and its granted scopes in organization , select the organization that contains the mcp tool that you built earlier select your scopes if you're on a free plan select run your scenarios only if you're on a paid plan you can also select management scopes such as view and modify your scenarios and view and modify your teams and organizations you https //help make com/make mcp server#qcfkp through your scopes the scenario run scope ( run your scenarios ) allows clients to view and run active with on demand scheduling management scopes ( view and modify your scenarios and view and modify your teams and organizations ) allow clients to view and modify the contents of your account click allow in connectors , notice that is now connected optionally, click configure to define tool based permissions you've now connected make mcp server to claude step 3 call your mcp tool from claude to call your from the chat in claude in claude, select new chat in the left sidebar ask claude a question that your mcp tool can help answer for example, "what are my unread emails today?" when claude requests permission to use your mcp tool, click allow once or always allow after you grant permission, claude calls the mcp tool and returns the outputs defined earlier (email data) you've now called your tool from claude now that you've built an mcp tool in and connected to an mcp client, you can explore https //developers make com/mcp server/ and build more complex scenarios