Model Context Protocol
Make MCP server
Get started with Make MCP server
2 min
in this step by step guide, build a {{scenario singular lowercase}} as an mcp tool in {{product name}} and call it from an mcp client by following this simple example, you'll learn how to extend ai capabilities with {{product name}} by using {{scenario plural lowercase}} in ai assistants and other applications you'll follow these steps build a simple {{scenario singular lowercase}} as an mcp tool connect {{product name}} mcp server to an mcp client (claude) call the {{scenario singular lowercase}} from the client prerequisites {{product name}} account (any plan) claude desktop app (pro plan or higher) if you don't have a claude paid plan, you can use another client, such as chatgpt for connection details, refer to the https //developers make com/mcp server/connect using oauth in the usage page of your preferred client step 1 build a scenario as an mcp tool in this example, you'll build a {{scenario singular lowercase}} that searches your gmail account for unread emails when claude calls it, the {{scenario singular lowercase}} returns the emails so claude can read and summarize them you'll follow these steps to build the {{scenario singular lowercase}} 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 {{scenario singular lowercase}} outputs add a scenario description to help mcp clients decide when to call the scenario once you complete these steps, your {{scenario singular lowercase}} 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 {{scenario singular lowercase}} and add the gmail module in {{product name}} , 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 {{product name}} 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 {{scenario singular lowercase}} all {{scenario plural lowercase}} used as mcp tools must be active with on demand scheduling to be exposed to mcp clients to schedule and activate the {{scenario singular lowercase}} 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 {{scenario singular lowercase}} define {{scenario singular lowercase}} outputs in mcp tools, {{scenario singular lowercase}} outputs define the data that scenarios return to mcp clients to define the {{scenario singular lowercase}} outputs click the scenario inputs and outputs icon on the {{scenario singular lowercase}} 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 {{scenario singular lowercase}} output is email data here, output items can include any {{scenario singular lowercase}} data—such as the email sender or body, in this case click save you've now defined {{scenario singular lowercase}} 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 {{product name}} 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 {{scenario singular lowercase}} outputs to the mcp client, the {{scenario singular lowercase}} 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 {{scenario singular lowercase}} the {{scenario singular lowercase}} description helps mcp clients and other ai systems to understand when to use the {{scenario singular lowercase}} to describe the {{scenario singular lowercase}} next to the {{scenario singular lowercase}} 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 {{scenario singular lowercase}} , it's ready to use as an mcp tool for an mcp client next, connect {{product name}} to your client, claude step 2 connect make mcp server to claude connect {{product name}} mcp server to an mcp client, claude, to allow the client to call your {{scenario singular lowercase}} to connect open the claude desktop app and click your profile name on the left sidebar select settings go to connectors click add custom connector fill in the required fields in name , name your mcp server for example, make in remote mcp server url , enter this url https //mcp make com to use server sent events (sse) instead, add /sse at the end of the url in connectors , find make and click connect to open the oauth consent screen select the {{product name}} organization that claude can access and the scopes in organization , select the organization that contains the mcp tool you built earlier select your scopes on the free plan select run your scenarios only on paid plans 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 {{scenario plural lowercase}} 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 {{product name}} account click allow , then open claude in connectors , notice that {{product name}} 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 {{scenario singular lowercase}} from the chat in claude in the claude desktop app, go to chats 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 {{scenario singular lowercase}} outputs defined earlier (email data) you've now called your tool from claude now that you've built an mcp tool in {{product name}} and connected {{product name}} to an mcp client, you can explore https //developers make com/mcp server/ and build more complex scenarios