Copper MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Read and write Copper CRM people, companies, opportunities and activities.
22 tools: 7 can delete or cancel things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels7Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads15Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http copper https://copper.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "copper_log_activity" destructive (destructiveHint: true), and its name says "log", a word for reading.
What this check looks forMatched text
annotations: {"destructiveHint":true}; The name "copper_log_activity" says "log": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
22 tools
Deletes or cancels 7Claude Code: deny
copper_create_companyCreate a new company.No findings
Why it is in this group
- The name "copper_create_company" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a new company. Copper REST: POST /companies.
Annotations the server declares
- title: Create company
- destructiveHint: true
copper_create_leadCreate a new lead.No findings
Why it is in this group
- The name "copper_create_lead" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a new lead. Copper REST: POST /leads.
Annotations the server declares
- title: Create lead
- destructiveHint: true
copper_create_opportunityCreate a new opportunity (deal).No findings
Why it is in this group
- The name "copper_create_opportunity" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a new opportunity (deal). `name` and `primary_contact_id` are required by Copper. Copper REST: POST /opportunities.
Annotations the server declares
- title: Create opportunity
- destructiveHint: true
copper_create_personCreate a new person (contact).No findings
Why it is in this group
- The name "copper_create_person" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a new person (contact). Copper REST: POST /people.
Annotations the server declares
- title: Create person
- destructiveHint: true
copper_create_taskCreate a new task.No findings
Why it is in this group
- The name "copper_create_task" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a new task. Copper REST: POST /tasks.
Annotations the server declares
- title: Create task
- destructiveHint: true
copper_log_activityLog a user activity (e.g.1 finding
Why it is in this group
- The name "copper_log_activity" says "log": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "copper_log_activity" destructive (destructiveHint: true), and its name says "log", a word for reading.
What this check looks forMatched text
annotations: {"destructiveHint":true}; The name "copper_log_activity" says "log": a word for reading.
Description, as the server wrote it Log a user activity (e.g. a note or call) on a record. Get the activity_type_id from copper_list_activity_types. Copper REST: POST /activities.
Annotations the server declares
- title: Log activity
- destructiveHint: true
copper_update_personUpdate fields on an existing person.No findings
Why it is in this group
- The name "copper_update_person" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update fields on an existing person. Only provided fields are changed. Copper REST: PUT /people/{id}.
Annotations the server declares
- title: Update person
- destructiveHint: true
Only reads 15Claude Code: allow
copper_get_accountGet details of the authenticated Copper account.No findings
Why it is in this group
- The name "copper_get_account" says "get": a word for reading.
Description, as the server wrote it Get details of the authenticated Copper account. Copper REST: GET /account.
Annotations the server declares
- title: Get account
- readOnlyHint: true
copper_get_companyGet a single company by id.No findings
Why it is in this group
- The name "copper_get_company" says "get": a word for reading.
Description, as the server wrote it Get a single company by id. Copper REST: GET /companies/{id}.
Annotations the server declares
- title: Get company
- readOnlyHint: true
copper_get_leadGet a single lead by id.No findings
Why it is in this group
- The name "copper_get_lead" says "get": a word for reading.
Description, as the server wrote it Get a single lead by id. Copper REST: GET /leads/{id}.
Annotations the server declares
- title: Get lead
- readOnlyHint: true
copper_get_opportunityGet a single opportunity (deal) by id.No findings
Why it is in this group
- The name "copper_get_opportunity" says "get": a word for reading.
Description, as the server wrote it Get a single opportunity (deal) by id. Copper REST: GET /opportunities/{id}.
Annotations the server declares
- title: Get opportunity
- readOnlyHint: true
copper_get_personGet a single person (contact) by id.No findings
Why it is in this group
- The name "copper_get_person" says "get": a word for reading.
Description, as the server wrote it Get a single person (contact) by id. Copper REST: GET /people/{id}.
Annotations the server declares
- title: Get person
- readOnlyHint: true
copper_get_taskGet a single task by id.No findings
Why it is in this group
- The name "copper_get_task" says "get": a word for reading.
Description, as the server wrote it Get a single task by id. Copper REST: GET /tasks/{id}.
Annotations the server declares
- title: Get task
- readOnlyHint: true
copper_list_activitiesList activities (notes, calls, meetings, system events) attached to a record.No findings
Why it is in this group
- The name "copper_list_activities" says "list": a word for reading.
Description, as the server wrote it List activities (notes, calls, meetings, system events) attached to a record. Copper REST: POST /activities/search.
Annotations the server declares
- title: List activities
- readOnlyHint: true
copper_list_activity_typesList the account's activity types (user + system), needed to log an activity.No findings
Why it is in this group
- The name "copper_list_activity_types" says "list": a word for reading.
Description, as the server wrote it List the account's activity types (user + system), needed to log an activity. Copper REST: GET /activity_types.
Annotations the server declares
- title: List activity types
- readOnlyHint: true
copper_list_pipelinesList sales pipelines and their stages (ids needed to place opportunities).No findings
Why it is in this group
- The name "copper_list_pipelines" says "list": a word for reading.
Description, as the server wrote it List sales pipelines and their stages (ids needed to place opportunities). Copper REST: GET /pipelines.
Annotations the server declares
- title: List pipelines
- readOnlyHint: true
copper_list_usersList users in the Copper account (id, name, email) — useful for resolving assignee ids.No findings
Why it is in this group
- The name "copper_list_users" says "list": a word for reading.
Description, as the server wrote it List users in the Copper account (id, name, email) — useful for resolving assignee ids. Copper REST: POST /users/search.
Annotations the server declares
- title: List users
- readOnlyHint: true
copper_search_companiesSearch/list companies.No findings
Why it is in this group
- The name "copper_search_companies" says "search": a word for reading.
Description, as the server wrote it Search/list companies. All filters optional; returns a page of companies. Copper REST: POST /companies/search.
Annotations the server declares
- title: Search companies
- readOnlyHint: true
copper_search_leadsSearch/list leads.No findings
Why it is in this group
- The name "copper_search_leads" says "search": a word for reading.
Description, as the server wrote it Search/list leads. All filters optional; returns a page of leads. Copper REST: POST /leads/search.
Annotations the server declares
- title: Search leads
- readOnlyHint: true
copper_search_opportunitiesSearch/list opportunities (deals).No findings
Why it is in this group
- The name "copper_search_opportunities" says "search": a word for reading.
Description, as the server wrote it Search/list opportunities (deals). All filters optional; returns a page of opportunities. Copper REST: POST /opportunities/search.
Annotations the server declares
- title: Search opportunities
- readOnlyHint: true
copper_search_peopleSearch/list people (contacts).No findings
Why it is in this group
- The name "copper_search_people" says "search": a word for reading.
Description, as the server wrote it Search/list people (contacts). All filters optional; returns a page of people. Copper REST: POST /people/search.
Annotations the server declares
- title: Search people
- readOnlyHint: true
copper_search_tasksSearch/list tasks.No findings
Why it is in this group
- The name "copper_search_tasks" says "search": a word for reading.
Description, as the server wrote it Search/list tasks. All filters optional; returns a page of tasks. Copper REST: POST /tasks/search.
Annotations the server declares
- title: Search tasks
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http copper https://copper.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__copper__copper_get_account",
"mcp__copper__copper_list_users",
"mcp__copper__copper_search_people",
"mcp__copper__copper_get_person",
"mcp__copper__copper_search_companies",
"mcp__copper__copper_get_company",
"mcp__copper__copper_search_opportunities",
"mcp__copper__copper_get_opportunity",
"mcp__copper__copper_search_leads",
"mcp__copper__copper_get_lead",
"mcp__copper__copper_search_tasks",
"mcp__copper__copper_get_task",
"mcp__copper__copper_list_activities",
"mcp__copper__copper_list_activity_types",
"mcp__copper__copper_list_pipelines"
],
"ask": [],
"deny": [
"mcp__copper__copper_create_person",
"mcp__copper__copper_update_person",
"mcp__copper__copper_create_company",
"mcp__copper__copper_create_opportunity",
"mcp__copper__copper_create_lead",
"mcp__copper__copper_create_task",
"mcp__copper__copper_log_activity"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as copper. Review it before you use it.