Clay.com MCP Server
MCP server for Clay.com API providing people and company enrichment, and Clay table operations.
README
Clay.com MCP Server
MCP (Model Context Protocol) server for Clay.com API integration, providing people and company enrichment tools.
Features
- People Search & Enrichment: Find and enrich people by title, company, industry, location
- Company Search & Enrichment: Find and enrich companies by industry, technology, funding, size
- Clay Tables: List, query, and explore your Clay workspace tables
Installation
npm install @civic-wisdom/clay-mcp
Or clone and build from source:
git clone https://github.com/bpw-civic/clay-mcp-server.git
cd clay-mcp-server
npm install
npm run build
Configuration
Set your Clay API key as an environment variable:
export CLAY_API_KEY=your-api-key-here
Usage
With Claude Code
Add to your .claude/settings.json or .mcp.json:
{
"mcpServers": {
"clay": {
"command": "node",
"args": ["node_modules/@civic-wisdom/clay-mcp/dist/index.js"],
"env": {
"CLAY_API_KEY": "${CLAY_API_KEY}"
}
}
}
}
Or if installed from source:
{
"mcpServers": {
"clay": {
"command": "node",
"args": ["/path/to/clay-mcp-server/dist/index.js"],
"env": {
"CLAY_API_KEY": "${CLAY_API_KEY}"
}
}
}
}
With Other MCP Clients
The server communicates via stdio. Start it with:
CLAY_API_KEY=your-key node dist/index.js
Available Tools
People Tools
clay_search_people
Search for people matching specific criteria.
Parameters:
query(string, optional): Natural language search queryfilters(object, optional):titles: Array of job titlescompanies: Array of company namesindustries: Array of industrieslocations: Array of locationscompanySize: Company size range (e.g., "51-200")seniorityLevels: Array of seniority levels
limit(number, default 25): Maximum results
Example:
{
"query": "ML engineers",
"filters": {
"industries": ["Technology", "AI"],
"companySize": "51-200"
},
"limit": 10
}
clay_enrich_person
Get full enrichment data for a specific person.
Parameters (at least one required):
email: Email addresslinkedinUrl: LinkedIn profile URLfullName+company: Name and company combo
Example:
{
"email": "jane@example.com"
}
Returns:
- Full name, title, company
- Work experience history
- Education
- Skills
- Social profiles (LinkedIn, Twitter, GitHub)
- Location details
- Contact information
Company Tools
clay_search_companies
Search for companies matching specific criteria.
Parameters:
query(string, optional): Natural language search queryfilters(object, optional):industries: Array of industriestechnologies: Array of technologiesemployeeCount: Size range (e.g., "51-200")fundingStage: Funding stage (e.g., "series_a")location: Location stringfoundedAfter: Year (number)foundedBefore: Year (number)
limit(number, default 25): Maximum results
Example:
{
"filters": {
"industries": ["AI", "Machine Learning"],
"fundingStage": "series_a",
"location": "San Francisco"
}
}
clay_enrich_company
Get full enrichment data for a specific company.
Parameters (at least one required):
domain: Company domainname: Company namelinkedinUrl: Company LinkedIn URL
Example:
{
"domain": "anthropic.com"
}
Returns:
- Company name, domain, description
- Industry classification
- Employee count and range
- Founding year
- Location details
- Funding information (total raised, last round, investors)
- Technographics (technologies used)
- Social profiles
- Recent news
Table Tools
clay_list_tables
List all Clay tables in your workspace.
Parameters: None
Returns: List of tables with ID, name, description, row count, and timestamps.
clay_get_table_schema
Get the schema for a specific table.
Parameters:
tableId(required): Table ID
Returns: Table metadata and column definitions (name, type, description).
clay_query_table
Query a Clay table with filters.
Parameters:
tableId(required): Table IDfilters(object, optional): Filter conditionssort(object, optional): Sort configurationcolumn: Column nameorder: "asc" or "desc"
limit(number, default 50): Maximum resultsoffset(number, default 0): Pagination offset
Example:
{
"tableId": "tbl_abc123",
"filters": { "status": "active" },
"sort": { "column": "created_at", "order": "desc" },
"limit": 25
}
Resources
The server exposes Clay tables as MCP resources:
clay://tables- List all tablesclay://tables/{id}/schema- Table schema
Development
# Install dependencies
npm install
# Watch mode (rebuild on changes)
npm run dev
# Type check
npm run typecheck
# Build for production
npm run build
# Run the server
npm start
Error Handling
The server handles:
- Rate limiting (429 responses) with retry information
- API errors with descriptive messages
- Missing authentication with clear error message
- Invalid parameters with validation feedback
Requirements
- Node.js 18+
- Clay.com API key (Get one here)
API Reference
This server uses the Clay.com REST API:
- Base URL:
https://api.clay.com/v1 - Authentication: API key in
X-Api-Keyheader
For Clay.com API documentation, visit: https://docs.clay.com/api
License
MIT License - see LICENSE file.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.