Back to course
Clay MCP for Ops

Learn how RevOps teams and admins set up Clay MCP so reps can safely use Clay inside AI tools like Claude and ChatGPT. You'll learn about connecting to Audiences, building reusable functions, and putting credit and access controls in place so your team moves fast within guardrails.

Progress

Why MCP for Operators
1
Why MCP for Operators
How to Set Up Your Reps for MCP
2
How to Set Up Your Reps for MCP
Set Up Clay Audiences for MCP
3
Set Up Clay Audiences for MCP
Functions for MCP
4
Functions for MCP
Governance, Credit Budgets, and Access
5
Governance, Credit Budgets, and Access
Enable Reps and Iterate With Your Team
6
Enable Reps and Iterate With Your Team

Learn and master Clay with Clay university

Featured in Clay University

All courses
/
Clay MCP for Ops
/
Functions for MCP
Lesson
4
/
5
About this lesson
00:00

Functions for MCP

A Function is a packaged workflow: a rep asks for something in natural language, like "get emails" or "get phone numbers for these people," and Clay reaches for a Function to answer it.

🧩 Managed vs. Custom Functions

There are two kinds of Functions:

  • Managed functions: curated, auto-updated workflows Clay maintains for you. A rep's natural-language query resolves to a managed function unless you've built a custom one for that play, so reps get value out of the box. These are brand new and rolling out, so if you don't see them in your workspace yet, they're on the way.
  • Custom functions: the ones you know and love, built by you. That's what we'll build in this lesson.

🔁 A Quick Refresher on Functions

If you've taken the full Functions course in Clay University, this part will be familiar:

A Function takes the inputs you give it, runs them through a workflow, and returns an output. The value is compression: instead of a table with 26 or 27 columns, all that logic collapses into one single column you can call from any table, or from your reps' chat tool. Name it clearly so it's easy to call later.

One scope note before we build: you don't need a big library on day one. Start with two or three high-value Functions, the plays your reps run all the time, make sure they're available, and grow from there.

🔨 Building the Function

For the demo, we're building a lead-enrichment Function. The inputs are name, LinkedIn URL, and company domain, and from those three things it returns work email, company website traffic, and company enrichment.

To turn a working table into a Function:

  1. First, verify the workflow runs. Run the enrichment once and confirm you're getting the outputs back before you save anything.
  2. Select the columns that will be part of the Function. Hold Command and click through each column you want to include.
  3. Right-click and choose "Save as function."
  4. Give it a clear, memorable name so it's easy to call later.
  5. Set the inputs as required and choose the outputs the Function returns. Uncheck anything you don't need (for example, drop industry or company name from the enrichment if reps won't use them).
  6. Create it, then open it in the functions editor.

When you save, the selected columns collapse into one clean column that calls the Function.

🔌 Making It Callable from MCP

The functions editor shows the Function's name, its details, and the estimated cost per row. The most important part is Integrations, where you decide which tools are allowed to call this Function.

  1. Enable it for MCP so your reps can find it in their tool of choice.
  2. Give it a clear name (and a description) so reps can call it conversationally. This is the name they'll use to invoke it.
  3. Save changes.

🤖 Calling It from the Rep's Side

Now test it the way a rep would, from an AI chat tool. Point it at a list of people and ask it to run your Function.

  • Because you enabled the Function for MCP, Claude lists it as available and runs it against the shortlist (nine people, in the demo).
  • It runs async, so cells fill in as it goes, and it returns the verified emails for the list.

🎯 What Makes Functions Worth It

Building a Function takes time, and plenty of operators would rather a copilot just did it for them. Here's why it's worth doing yourself: a Function written once becomes the standard every rep calls. A winning play stops living in one rep's head and scales to the whole team.

There's a second reason that matters more with MCP. Your Function's name, inputs, and outputs are now consumed by an AI agent calling it on a rep's behalf, not just by teammates reading a table.

Good definitions matter more, not less: clear names and clean inputs are what let the agent pick the right Function and call it correctly.

🚀 What's Next

You now know how to build a custom Function, enable it for MCP, and call it live from an AI tool like Claude.

Next, we'll put guardrails around all of it: credit budgets, access, and function-level control, so your reps get every capability they need without the ability to cause damage.

Next up
Clay MCP for Ops

Governance, Credit Budgets, and Access

View next lesson