Copper CRM MCP Server
Enables AI agents to read and manage Copper CRM data, including searching people, companies, and opportunities, listing pipelines, and logging activities or creating tasks.
README
Copper CRM MCP Server
An MCP server that lets an AI agent (Claude Desktop, or any MCP client) read your Copper CRM and run light pipeline hygiene — search deals, spot stale opportunities, log a note, and schedule a follow-up.
Unofficial. Built to show what an official Copper MCP server could look like. It's a focused, read-heavy demo — not a production integration.
Why it looks the way it does
- Read-heavy by design. Six of the seven tools only read. Exactly one tool
writes (
log_activity), and even that only appends an activity — it can't edit or delete existing records. A deliberately small blast radius is the right security posture for letting an agent touch your CRM. - Descriptions written for an agent. Each tool says what it returns and when
to reach for it, so the model chains them correctly (e.g. call
list_pipelinesto turn a stage name into the IDs the other tools need). - Clean errors, not stack traces. A bad key comes back as
Copper API returned 401 — check COPPER_API_KEY, so the agent can explain the problem instead of choking on it.
Install (3 steps)
git clone https://github.com/hasankhadra/copper-mcp.git
cd copper-mcp
npm install && npm run build
Then add this block to your Claude Desktop config
(~/Library/Application Support/Claude/claude_desktop_config.json on macOS),
and restart Claude Desktop:
{
"mcpServers": {
"copper": {
"command": "node",
"args": ["/absolute/path/to/copper-mcp/dist/index.js"],
"env": {
"COPPER_API_KEY": "your_copper_api_key",
"COPPER_USER_EMAIL": "you@yourcompany.com"
}
}
}
}
Get your API key from Copper under Settings → Integrations → API Keys. The
COPPER_USER_EMAIL must be the email of the user who owns that key.
Tools
| Tool | Reads / Writes | What it does |
|---|---|---|
search_people |
read | Find people by name or email. |
search_companies |
read | Find companies by name. |
search_opportunities |
read | List/filter deals by pipeline, stage, or assignee. |
list_pipelines |
read | Every pipeline and its stages — maps stage names → IDs. |
get_opportunity |
read | Full detail of one deal (custom fields, tags, contact). |
create_task |
write* | Schedule a follow-up task, optionally linked to a record. |
log_activity |
write | Append a note/call to a person, company, opportunity, or lead. |
* create_task creates a new task record; it never modifies existing CRM data.
log_activity is the only tool that writes onto an existing record.
Try it
Once it's wired into Claude Desktop, ask:
"Which deals in my main pipeline are closing this month and have had no activity in the last 2 weeks? Log a note on the top one reminding me to send pricing, and create a follow-up task for Friday."
The agent calls list_pipelines → search_opportunities → get_opportunity to
triage, then log_activity + create_task to act.
Configuration
Read from the environment (never hardcoded):
| Variable | Description |
|---|---|
COPPER_API_KEY |
Your Copper API key. |
COPPER_USER_EMAIL |
Email of the key's owner. |
For local testing outside Claude Desktop, copy .env.example to .env and run
COPPER_API_KEY=... COPPER_USER_EMAIL=... npm start.
Development
npm run build # compile TypeScript → dist/
npm run dev # tsc --watch
npm start # run the built server on stdio
Layout: src/copperClient.ts is the single HTTP/auth/error layer; each tool
lives in its own file under src/tools/; src/index.ts registers them and
opens the stdio transport.
Built by Hasan Khadra — hk@hasankhadra.me · hasankhadra.me.
The official version ships with full OAuth 2.1, write coverage across the CRM, and a two-week fixed-scope delivery.
License
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.