Make MCP server
Get started with Make MCP server
12 min
this beginner's guide shows you how to build an mcp tool in {{product name}} and call it from an mcp client, claude you'll learn to extend ai capabilities with {{product name}} by using {{scenario plural lowercase}} in large language model (llm) chats and other applications in this guide, you'll 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 mcp compatible client, such as cursor or chatgpt for details on connecting {{product name}} to other clients with oauth, see the https //developers make com/mcp server/connect using oauth in the usage with page of the client before you begin the following terms are used throughout the tutorial here's what they mean make mcp server {{product name}} itself, acting as a server that exposes {{scenario plural lowercase}} to mcp clients mcp client applications like claude, cursor, and chatgpt that call the {{scenario plural lowercase}} scenario the automation you build in {{product name}} mcp tool what a {{scenario singular lowercase}} becomes when exposed through make mcp server build a scenario as an mcp tool in {{product name}} 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 an overview of the steps 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 singular lowercase}} once you complete these steps, your {{scenario singular lowercase}} is ready to be used as an mcp tool that claude can call this is a simple example {{scenario plural}} of any length or complexity can be used as mcp tools step 1 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 {{product name}} can access in the module settings, configure the gmail > search emails module in the filter type field, select gmail filter from the dropdown in the query field, add an is\ unread filter to show only unread emails in the limit field, enter the maximum number of emails to return at once for this example, enter 10 in the advanced settings > content format field, 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 step 2 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 step 3 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 step 4 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 the aggregated fields field, select these fields to aggregate date subject from (email) snippet only a few fields are selected to reduce the data returned to the mcp client and avoid exceeding token limits click save step 5 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 the email data field, 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 step 6 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 the options dropdown and select edit description in the description field, briefly describe the purpose of this scenario click save your scenario is now ready to be used as an mcp tool for an mcp client next, connect {{product name}} to your client, claude connect make mcp server to claude the following shows how to connect {{product name}} mcp server to an mcp client, claude this tutorial uses https //developers make com/mcp server/connect using oauth and https //developers make com/mcp server/#clients with stateless streamable http support as connection methods {{product name}} mcp server connects to mcp clients in several ways; see https //help make com/make mcp server#m3 9 for all options to connect open the claude desktop app and click your profile name on the left sidebar select settings navigate to connectors click add custom connector fill in the required fields in the name field, name your mcp server for example, make in the remote mcp server url field , 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 the organization field, 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 call your tool from claude you can call your tool from the chat in claude in the claude desktop app, navigate 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) the below is a simplification you now know how to build an mcp tool in {{product name}} connect {{product name}} to an mcp client (claude) using oauth call the tool from the client and receive {{scenario singular lowercase}} outputs for more ways to connect make mcp server to clients, see the https //developers make com/mcp server/ in the developer hub