io.usefulapi/copper
REMOTE · COPPER.USEFULAPI.IO · SCANNED OCT 4
Read and write Copper CRM people, companies, opportunities and activities.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 429, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint returned HTTP 429. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
How do I install the io.usefulapi/copper MCP server?
io.usefulapi/copper is a hosted endpoint at https://copper.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · copper.usefulapi.io
claude mcp add --transport http io-usefulapi-copper 'https://copper.usefulapi.io/mcp'
{
"mcpServers": {
"io-usefulapi-copper": {
"url": "https://copper.usefulapi.io/mcp"
}
}
} {
"servers": {
"io-usefulapi-copper": {
"type": "http",
"url": "https://copper.usefulapi.io/mcp"
}
}
} [mcp_servers.io-usefulapi-copper] url = "https://copper.usefulapi.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-usefulapi-copper": {
"type": "remote",
"url": "https://copper.usefulapi.io/mcp",
"enabled": true
}
}
} openclaw mcp add io-usefulapi-copper --url 'https://copper.usefulapi.io/mcp' --transport streamable-http
mcp_servers:
io-usefulapi-copper:
url: "https://copper.usefulapi.io/mcp" {
"McpServers": {
"io-usefulapi-copper": {
"Transport": "http",
"Url": "https://copper.usefulapi.io/mcp"
}
}
} assistant mcp add io-usefulapi-copper -t streamable-http -u 'https://copper.usefulapi.io/mcp'
{
"mcpServers": {
"io-usefulapi-copper": {
"type": "http",
"url": "https://copper.usefulapi.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Oct 26 −58
- Endpoint reachability: reachable → not serving MCP ▼ security
- Tool safety: pass → unverified ▼ security
- HTTPS: pass → unverified ▼ security
- Authorization: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 3 Oct 26 +43
- Authorization: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- First check of Authorization: partial security
- MCP protocol: unverified → fail ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- 2 Oct 26 +15
- HTTPS: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes. security
- 29 Sept 26 18
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Oct 2026 · Probed https://copper.usefulapi.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=usefulapi.io | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | d9be3287b0fde9630e825ba1f79bff3f |
| SANs: usefulapi.io, *.usefulapi.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of copper.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| usefulapi.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|---|
| HTTP status | 429 |
| Header | Value |
|---|---|
| x-frame-options | SAMEORIGIN |
| referrer-policy | same-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://copper.usefulapi.io/mcp | HTTP error | 429 | |
| http (plaintext) | http://copper.usefulapi.io/mcp | Inconclusive | 429 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
copper_create_company Create company ~101
Create a new company. Copper REST: POST /companies.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | integer | – | User id to own this company. |
| details | string | – | Freeform description / notes. |
| email_domain | string | – | The company's email domain, e.g. example.com. |
| name | string | yes | The company name (required). |
| phone_numbers | array | – | Phone numbers for the company. |
| tags | array | – | Tags to apply. |
No output schema declared.
No examples provided.
copper_create_lead Create lead ~148
Create a new lead. Copper REST: POST /leads.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | integer | – | User id to own this lead. |
| company_name | string | – | Company name the lead is associated with. |
| customer_source_id | integer | – | Id of the customer source. |
| details | string | – | Freeform description / notes. |
| object | – | The lead's email. | |
| monetary_value | number | – | Estimated value of the lead. |
| name | string | yes | The lead's name (required). |
| phone_numbers | array | – | Phone numbers for the lead. |
| tags | array | – | Tags to apply. |
| title | string | – | Job title. |
No output schema declared.
No examples provided.
copper_create_opportunity Create opportunity ~188
Create a new opportunity (deal). `name` and `primary_contact_id` are required by Copper. Copper REST: POST /opportunities.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | integer | – | User id to own this opportunity. |
| close_date | string | – | Expected close date, formatted MM/DD/YYYY. |
| company_id | integer | – | Id of the associated company. |
| details | string | – | Freeform description / notes. |
| monetary_value | number | – | Deal value (in the account's currency). |
| name | string | yes | The opportunity name (required). |
| pipeline_id | integer | – | Id of the pipeline to place the opportunity in. |
| pipeline_stage_id | integer | – | Id of the pipeline stage. |
| primary_contact_id | integer | yes | Id of the primary contact (person) for this opportunity (required by Copper). |
| tags | array | – | Tags to apply. |
No output schema declared.
No examples provided.
copper_create_person Create person ~140
Create a new person (contact). Copper REST: POST /people.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | integer | – | User id to own this person. |
| company_id | integer | – | Id of the company this person works at. |
| company_name | string | – | Company name (if not linking by company_id). |
| details | string | – | Freeform description / notes. |
| emails | array | – | Email addresses for the person. |
| name | string | yes | The person's full name (required). |
| phone_numbers | array | – | Phone numbers for the person. |
| tags | array | – | Tags to apply. |
| title | string | – | Job title. |
No output schema declared.
No examples provided.
copper_create_task Create task ~156
Create a new task. Copper REST: POST /tasks.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | integer | – | User id to own this task. |
| details | string | – | Freeform description / notes. |
| due_date | integer | – | Due date as a Unix timestamp (seconds). |
| name | string | yes | The task name (required). |
| priority | string | – | Task priority. |
| related_resource_id | integer | – | Id of the record to attach the task to (requires related_resource_type). |
| related_resource_type | string | – | Type of record to attach the task to (requires related_resource_id). |
| reminder_date | integer | – | Reminder date as a Unix timestamp (seconds). |
| tags | array | – | Tags to apply. |
No output schema declared.
No examples provided.
copper_get_account Get account ~24
Get details of the authenticated Copper account. Copper REST: GET /account.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
copper_get_company Get company ~35
Get a single company by id. Copper REST: GET /companies/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | The company id. |
No output schema declared.
No examples provided.
copper_get_lead Get lead ~37
Get a single lead by id. Copper REST: GET /leads/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | The lead id. |
No output schema declared.
No examples provided.
copper_get_opportunity Get opportunity ~40
Get a single opportunity (deal) by id. Copper REST: GET /opportunities/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | The opportunity id. |
No output schema declared.
No examples provided.
copper_get_person Get person ~38
Get a single person (contact) by id. Copper REST: GET /people/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | The person id. |
No output schema declared.
No examples provided.
copper_get_task Get task ~35
Get a single task by id. Copper REST: GET /tasks/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | The task id. |
No output schema declared.
No examples provided.
copper_list_activities List activities ~157
List activities (notes, calls, meetings, system events) attached to a record. Copper REST: POST /activities/search.
| Name | Type | Req | Description |
|---|---|---|---|
| maximum_activity_date | integer | – | Latest activity date, as a Unix timestamp (seconds). |
| minimum_activity_date | integer | – | Earliest activity date, as a Unix timestamp (seconds). |
| page_number | integer | – | 1-based page number to fetch (default 1). |
| page_size | integer | – | Results per page (default 20, max 200). |
| parent_id | integer | – | The id of the parent record to list activities for (requires parent_type). |
| parent_type | string | – | Restrict to activities on a single record of this type (requires parent_id). |
No output schema declared.
No examples provided.
copper_list_activity_types List activity types ~35
List the account's activity types (user + system), needed to log an activity. Copper REST: GET /activity_types.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
copper_list_pipelines List pipelines ~31
List sales pipelines and their stages (ids needed to place opportunities). Copper REST: GET /pipelines.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
copper_list_users List users ~76
List users in the Copper account (id, name, email) — useful for resolving assignee ids. Copper REST: POST /users/search.
| Name | Type | Req | Description |
|---|---|---|---|
| page_number | integer | – | 1-based page number to fetch (default 1). |
| page_size | integer | – | Results per page (default 20, max 200). |
No output schema declared.
No examples provided.
copper_log_activity Log activity ~138
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.
| Name | Type | Req | Description |
|---|---|---|---|
| activity_date | integer | – | When the activity occurred, as a Unix timestamp (seconds). Defaults to now. |
| activity_type_id | integer | yes | Id of a 'user' activity type (from copper_list_activity_types). |
| details | string | yes | The activity note / description text. |
| parent_id | integer | yes | The id of the record to attach the activity to. |
| parent_type | string | yes | The kind of record to attach the activity to. |
No output schema declared.
No examples provided.
copper_search_companies Search companies ~192
Search/list companies. All filters optional; returns a page of companies. Copper REST: POST /companies/search.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_ids | array | – | Filter to companies owned by these user ids. |
| city | string | – | City filter. |
| country | string | – | Country filter. |
| name | string | – | Company-name filter (substring match). |
| page_number | integer | – | 1-based page number to fetch (default 1). |
| page_size | integer | – | Results per page (default 20, max 200). |
| sort_by | string | – | Field to sort by, e.g. 'name', 'date_created' (default 'name'). |
| sort_direction | string | – | Sort direction — 'asc' or 'desc' (default asc). |
| state | string | – | State/region filter. |
| tags | array | – | Filter to companies carrying any of these tags. |
No output schema declared.
No examples provided.
copper_search_leads Search leads ~223
Search/list leads. All filters optional; returns a page of leads. Copper REST: POST /leads/search.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_ids | array | – | Filter to leads owned by these user ids. |
| city | string | – | City filter. |
| country | string | – | Country filter. |
| customer_source_ids | array | – | Filter by customer-source ids. |
| emails | array | – | Filter to leads with any of these email addresses. |
| name | string | – | Lead-name filter (substring match). |
| page_number | integer | – | 1-based page number to fetch (default 1). |
| page_size | integer | – | Results per page (default 20, max 200). |
| sort_by | string | – | Field to sort by, e.g. 'name', 'date_created' (default 'name'). |
| sort_direction | string | – | Sort direction — 'asc' or 'desc' (default asc). |
| state | string | – | State/region filter. |
| tags | array | – | Filter to leads carrying any of these tags. |
No output schema declared.
No examples provided.
copper_search_opportunities Search opportunities ~251
Search/list opportunities (deals). All filters optional; returns a page of opportunities. Copper REST: POST /opportunities/search.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_ids | array | – | Filter to opportunities owned by these user ids. |
| company_ids | array | – | Filter to opportunities at these company ids. |
| name | string | – | Opportunity-name filter (substring match). |
| page_number | integer | – | 1-based page number to fetch (default 1). |
| page_size | integer | – | Results per page (default 20, max 200). |
| pipeline_ids | array | – | Filter to opportunities in these pipelines. |
| pipeline_stage_ids | array | – | Filter to opportunities at these pipeline stages. |
| sort_by | string | – | Field to sort by, e.g. 'name', 'date_created', 'monetary_value' (default 'name'). |
| sort_direction | string | – | Sort direction — 'asc' or 'desc' (default asc). |
| status_ids | array | – | Filter by status id: 0=Open, 1=Won, 2=Lost, 3=Abandoned. |
| tags | array | – | Filter to opportunities carrying any of these tags. |
No output schema declared.
No examples provided.
copper_search_people Search people ~240
Search/list people (contacts). All filters optional; returns a page of people. Copper REST: POST /people/search.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_ids | array | – | Filter to people owned by these user ids. |
| city | string | – | City filter. |
| company_ids | array | – | Filter to people at these company ids. |
| country | string | – | Country filter. |
| emails | array | – | Filter to people with any of these email addresses. |
| name | string | – | Full-name filter (substring match). |
| page_number | integer | – | 1-based page number to fetch (default 1). |
| page_size | integer | – | Results per page (default 20, max 200). |
| phone_number | string | – | Phone-number filter. |
| sort_by | string | – | Field to sort by, e.g. 'name', 'date_created', 'date_modified' (default 'first_name'). |
| sort_direction | string | – | Sort direction — 'asc' or 'desc' (default asc). |
| state | string | – | State/region filter. |
| tags | array | – | Filter to people carrying any of these tags. |
No output schema declared.
No examples provided.
copper_search_tasks Search tasks ~162
Search/list tasks. All filters optional; returns a page of tasks. Copper REST: POST /tasks/search.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_ids | array | – | Filter to tasks owned by these user ids. |
| name | string | – | Task-name filter (substring match). |
| page_number | integer | – | 1-based page number to fetch (default 1). |
| page_size | integer | – | Results per page (default 20, max 200). |
| sort_by | string | – | Field to sort by, e.g. 'name', 'due_date', 'date_created' (default 'name'). |
| sort_direction | string | – | Sort direction — 'asc' or 'desc' (default asc). |
| status | string | – | Filter by task status. |
No output schema declared.
No examples provided.
copper_update_person Update person ~142
Update fields on an existing person. Only provided fields are changed. Copper REST: PUT /people/{id}.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | integer | – | User id to own this person. |
| company_id | integer | – | Id of the company this person works at. |
| details | string | – | Freeform description / notes. |
| emails | array | – | Replace the person's email addresses. |
| id | integer | yes | The person id to update. |
| name | string | – | The person's full name. |
| phone_numbers | array | – | Replace the person's phone numbers. |
| tags | array | – | Replace the person's tags. |
| title | string | – | Job title. |
No output schema declared.
No examples provided.
What is the io.usefulapi/copper MCP server?
io.usefulapi/copper is an MCP server listed in the public MCP registry as io.usefulapi/copper. Read and write Copper CRM people, companies, opportunities and activities. This page covers its hosted endpoint (https://copper.usefulapi.io/mcp).
Is the io.usefulapi/copper MCP server safe to use?
io.usefulapi/copper scores 18 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.usefulapi/copper MCP server expose?
io.usefulapi/copper exposes 22 tools: copper_get_account, copper_list_users, copper_search_people, copper_get_person, copper_search_companies, and 17 more. Their descriptions and schemas cost roughly 2,589 tokens of context every time the server is loaded.
Does the io.usefulapi/copper MCP server require authentication?
Its publisher declares no required credentials for io.usefulapi/copper. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.
Is the io.usefulapi/copper MCP server still maintained?
io.usefulapi/copper is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.