100+ integrations are ready to connect to your AI.Connect your first MCP

Clay MCP server for your AI

Find people or companies in Clay's database, run your own Clay function or workflow on a single row or a whole list, pull the results back, query a Clay table, and check credits before a big run.

PopMCPClay

Find VPs of Sales at software companies with 500+ employees that use Salesforce

Supported Clay tools

Every Clay Public API operation, plus one-call helpers that search the database, run functions and workflows, and read back batch results.

clay_get_batch_run_results

Fetch progress and results for a batch run.

clay_get_routine_run_results

Fetch progress and results for a routine run.

clay_run_routine

Execute a routine against 1-100 items.

clay_get_batch_run_rows

Check a batch run and, once it is complete, download and return its result rows (Clay only gives a short-lived file link; this reads it for you).

clay_run_routine_and_wait

Run a Clay function or workflow (a routine) on 1-100 rows and wait for the results in ONE call: starts the run, polls it, and returns every row's result.

clay_run_routine_batch

Run a Clay function or workflow on a large list (up to 20,000 rows) in ONE call: builds the JSONL input file, uploads it, and starts a batch run.

clay_search_database

Find people or companies in Clay's database in ONE call: creates the search and returns its first page.

clay_create_search

Create a search from a Clay search query.

clay_get_search_query_reference

Get the Clay search query reference.

clay_get_search_results

Run the query-mode iterator and return the next page of results.

clay_get_credit_balance

Get workspace credit balances.

clay_get_me

Get the authenticated user.

clay_get_workflow_runs_query_reference

Get the runs search query reference (beta).

clay_query_workflow_runs

Search runs by query (beta).

clay_query_tables

Run a structured query across one or more tables.

clay_create_batch_upload_url

Issue a presigned PUT URL for uploading a batch input JSONL.

clay_start_batch_run

Start an async routine run-batch over an uploaded JSONL file.

Connect Clay to your AI

Credentials off one Clay screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In Clay, open Settings, then Account, then API keys. Create a key, copy it (Clay shows it only once) and paste it into the API key field. The key works in the workspace it was created in. No OAuth app or redirect URL.

API key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “Find VPs of Sales at software companies with 500+ employees that use Salesforce”

    • get_search_query_reference
    • search_database
    • get_search_results
  • “Run our Score Account function (link below) on these 40 domains and list the Tier 1 accounts”

    • run_routine_and_wait
    • get_routine_run_results
  • “Check we have enough credits, then run our firmographics workflow on the 8,000 companies from the trade show export”

    • get_credit_balance
    • run_routine_batch
    • get_batch_run_rows
  • “How many runs of our inbound routing workflow failed this week, and how many credits did they use”

    • get_workflow_runs_query_reference
    • query_workflow_runs

Use Clay from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Clay MCP server questions

What teams ask before putting Clay behind an AI client.

What API key does the Clay MCP server need?

One personal Clay API key. Create it in Clay under Settings, then Account, then API keys, and copy it straight away because Clay shows it only once. It is the only credential Clay's Public API accepts, and it works in the workspace you created it in, so the connection is locked to that workspace. PopMCP checks it by reading the key's user and workspace, stores it encrypted, and sends it from the server as the clay-api-key header.

Does running a Clay function through AI spend Clay credits?

Yes. Running a function or workflow spends Clay data credits, and on newer Clay plans action executions too; a batch run counts one run per row. Searching Clay's database spends no credits but counts toward your plan's result limits, and Free and Trial plans cap a search at 50 results. get_credit_balance reads both balances without spending anything, and PopMCP's Credits running low trigger fires when either drops below the level you set.

How does the AI know which Clay function to run?

You tell it. Clay's Public API has no endpoint that lists functions or tables, so give the AI the function's Clay URL or its t_ id (workflows use wf_ ids). PopMCP accepts function:t_..., a bare id or the full URL and adds the prefix itself. The function needs API access turned on in Clay under Functions, Details, API, otherwise runs return 404, and the input names come from the function's inputs in Clay.

Can the AI enrich thousands of rows in Clay in one go?

Yes, up to 20,000 rows per call. run_routine_batch builds the JSONL input file, uploads it to Clay's presigned URL and starts the batch run, a file upload a model cannot do by itself. get_batch_run_rows then checks the run and, once it is complete, downloads Clay's short-lived result file and returns the rows up to 1,000 at a time. For 1 to 100 rows, run_routine_and_wait starts the run, polls it and returns every row's result in one call.

What can the AI search in Clay's people and company database?

People and companies, queried in Clay's own search language. search_database creates the search and returns the first page (25 rows by default, up to 500), and get_search_results returns the next page while has_more is true. Queries can match people by current job title, company industry and headcount, or companies by the people who work there and by technology such as Salesforce. get_search_query_reference returns every searchable field.

Can the AI read my Clay tables?

Yes, on Clay's Enterprise plan. query_tables runs a structured query with select, filter, order, group and join across one or more tables, and columns can be named by their titles. There is no list-tables endpoint, so give the AI the table URL or the t_ id from it. Results come back in pages with a cursor, and a record updated mid-scan can appear twice, so ask the AI to deduplicate by id when counts matter.

Do I have to run or host the Clay MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

Why do only 15 of the 17 tools load by default?

Loading 17 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 15-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 17 here. A trigger is something PopMCP watches for you: 1 Clay events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Clay.

Connect Clay to your AI in minutes

Launch a hosted MCP endpoint for Clay, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP