← MCP Registry Integrity Report
dev.primitive/email
Verdict: CRITICAL findings present. Endpoint https://www.primitive.dev/mcp. Tools now: 30 (30 ever seen). Changes recorded: 43. Findings: {"high":58,"critical":9,"low":3}. Last probe: OK at 2026-09-28T18:17 UTC. JSON
Current tools
addDomain · awaitReply · cancelScheduledSend · createEmailAddress · createEndpoint · createFilter · deleteEndpoint · deleteFilter · downloadDomainZoneFile · downloadEmailAttachments · getAccount · getConversation · getEmail · getInboxStatus · getOutboundStatus · getSentEmail · getThread · listDomains · listEmails · listEndpoints · listFilters · listSentEmails · listWebhookDeliveries · replayWebhookDelivery · replyToEmail · searchEmails · sendEmail · sendEmailDemo · testEndpoint · verifyDomain
Findings (70)
| seen | tool | detector | severity | evidence (data, not instructions) |
|---|---|---|---|---|
| 2026-08-20 | listDomains | cross_tool_reference | high | references sibling tool 'addDomain' |
| 2026-08-20 | addDomain | cross_tool_reference | high | references sibling tool 'verifyDomain' |
| 2026-08-20 | verifyDomain | cross_tool_reference | high | references sibling tool 'listDomains' |
| 2026-08-20 | downloadDomainZoneFile | cross_tool_reference | high | references sibling tool 'listDomains' |
| 2026-08-20 | getAccount | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-20 | getAccount | cross_tool_reference | high | references sibling tool 'sendEmail' |
| 2026-08-20 | getInboxStatus | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-20 | getInboxStatus | cross_tool_reference | high | references sibling tool 'createEmailAddress' |
| 2026-08-20 | getOutboundStatus | cross_tool_reference | high | references sibling tool 'sendEmail' |
| 2026-08-20 | listEmails | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-20 | listEmails | cross_tool_reference | high | references sibling tool 'createEmailAddress' |
| 2026-08-20 | getEmail | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-20 | getEmail | cross_tool_reference | high | references sibling tool 'listEmails' |
| 2026-08-20 | replyToEmail | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-20 | replyToEmail | cross_tool_reference | high | references sibling tool 'createEmailAddress' |
| 2026-08-20 | sendEmail | exfiltration_pattern | critical | must be exactly one address. Combined to+cc+bcc count max 100. |
| 2026-08-20 | sendEmail | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-20 | sendEmail | cross_tool_reference | high | references sibling tool 'getAccount' |
| 2026-08-20 | sendEmailDemo | exfiltration_pattern | critical | exact same schema as sendEmail (including cc/bcc, reply_to, tags, attachments, and scheduled_at) and returns a sy |
| 2026-08-20 | sendEmailDemo | secret_material_reference | high | no verification) and then sendEmail with the api_key it returns; that is the correct path for any genuine send reques |
| 2026-08-20 | sendEmailDemo | cross_tool_reference | high | references sibling tool 'getAccount' |
| 2026-08-20 | listSentEmails | cross_tool_reference | high | references sibling tool 'getSentEmail' |
| 2026-08-20 | getSentEmail | cross_tool_reference | high | references sibling tool 'listSentEmails' |
| 2026-08-20 | cancelScheduledSend | cross_tool_reference | high | references sibling tool 'sendEmail' |
| 2026-08-20 | awaitReply | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-20 | awaitReply | cross_tool_reference | high | references sibling tool 'replyToEmail' |
| 2026-08-20 | getThread | cross_tool_reference | high | references sibling tool 'getEmail' |
| 2026-08-20 | downloadEmailAttachments | cross_tool_reference | high | references sibling tool 'getEmail' |
| 2026-08-20 | createEndpoint | cross_tool_reference | high | references sibling tool 'testEndpoint' |
| 2026-08-20 | deleteEndpoint | cross_tool_reference | high | references sibling tool 'listEndpoints' |
| 2026-08-20 | testEndpoint | cross_tool_reference | high | references sibling tool 'listEndpoints' |
| 2026-08-20 | deleteFilter | cross_tool_reference | high | references sibling tool 'listFilters' |
| 2026-08-20 | replayWebhookDelivery | cross_tool_reference | high | references sibling tool 'listWebhookDeliveries' |
| 2026-08-20 | createEmailAddress | user_concealment | critical | s); say so to the user rather than accepting silently on their behalf. |
| 2026-08-20 | createEmailAddress | secret_material_reference | high | the account on first use: no signup form, no password, no email verification, no browser. CALL THIS FIRST whenever you |
| 2026-08-20 | createEmailAddress | url_in_description | low | https://www.primitive.dev/terms |
| 2026-08-20 | createEmailAddress | cross_tool_reference | high | references sibling tool 'sendEmail' |
| 2026-08-18 | getAccount | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-18 | getAccount | cross_tool_reference | high | references sibling tool 'sendEmail' |
| 2026-08-18 | sendEmail | exfiltration_pattern | critical | must be exactly one address. Combined to+cc+bcc count max 100. |
| 2026-08-18 | sendEmail | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-18 | sendEmail | cross_tool_reference | high | references sibling tool 'getAccount' |
| 2026-08-18 | sendEmailDemo | exfiltration_pattern | critical | exact same schema as sendEmail (including cc/bcc, reply_to, tags, attachments, and scheduled_at) and returns a sy |
| 2026-08-18 | sendEmailDemo | secret_material_reference | high | no verification) and then sendEmail with the api_key it returns; that is the correct path for any genuine send reques |
| 2026-08-18 | sendEmailDemo | cross_tool_reference | high | references sibling tool 'getAccount' |
| 2026-08-18 | awaitReply | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-18 | awaitReply | cross_tool_reference | high | references sibling tool 'replyToEmail' |
| 2026-08-18 | createEmailAddress | user_concealment | critical | s); say so to the user rather than accepting silently on their behalf. |
| 2026-08-18 | createEmailAddress | secret_material_reference | high | the account on first use: no signup form, no password, no email verification, no browser. CALL THIS FIRST whenever you |
| 2026-08-18 | createEmailAddress | url_in_description | low | https://www.primitive.dev/terms |
| 2026-08-18 | createEmailAddress | cross_tool_reference | high | references sibling tool 'sendEmail' |
| 2026-08-14 | getAccount | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-14 | getAccount | cross_tool_reference | high | references sibling tool 'createEmailAddress' |
| 2026-08-14 | getInboxStatus | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-14 | getInboxStatus | cross_tool_reference | high | references sibling tool 'createEmailAddress' |
| 2026-08-14 | listEmails | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-14 | listEmails | cross_tool_reference | high | references sibling tool 'createEmailAddress' |
| 2026-08-14 | getEmail | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-14 | getEmail | cross_tool_reference | high | references sibling tool 'listEmails' |
| 2026-08-14 | replyToEmail | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-14 | replyToEmail | cross_tool_reference | high | references sibling tool 'createEmailAddress' |
| 2026-08-14 | sendEmail | exfiltration_pattern | critical | must be exactly one address. Combined to+cc+bcc count max 100. |
| 2026-08-14 | sendEmail | secret_material_reference | high | Primitive API key (prim_...). Only needed when this connection has no signed-in ac |
| 2026-08-14 | sendEmail | cross_tool_reference | high | references sibling tool 'listSentEmails' |
| 2026-08-14 | sendEmailDemo | exfiltration_pattern | critical | exact same schema as sendEmail (including cc/bcc, reply_to, tags, attachments, and scheduled_at) and returns a sy |
| 2026-08-14 | sendEmailDemo | secret_material_reference | high | no verification) and then sendEmail with the api_key it returns; that is the correct path for any genuine send reques |
| 2026-08-14 | sendEmailDemo | cross_tool_reference | high | references sibling tool 'sendEmail' |
| 2026-08-14 | createEmailAddress | user_concealment | critical | s); say so to the user rather than accepting silently on their behalf. |
| 2026-08-14 | createEmailAddress | secret_material_reference | high | the account on first use: no signup form, no password, no email verification, no browser. CALL THIS FIRST whenever you |
| 2026-08-14 | createEmailAddress | url_in_description | low | https://www.primitive.dev/terms |
Change history (43)
| when | tool | kind | severity |
|---|---|---|---|
| 2026-08-20 06:17 | listDomains | mutated | high |
| 2026-08-20 06:17 | addDomain | mutated | high |
| 2026-08-20 06:17 | verifyDomain | mutated | high |
| 2026-08-20 06:17 | downloadDomainZoneFile | mutated | high |
| 2026-08-20 06:17 | getAccount | mutated | high |
| 2026-08-20 06:17 | getInboxStatus | mutated | high |
| 2026-08-20 06:17 | getOutboundStatus | mutated | high |
| 2026-08-20 06:17 | listEmails | mutated | high |
| 2026-08-20 06:17 | searchEmails | mutated | medium |
| 2026-08-20 06:17 | getEmail | mutated | high |
| 2026-08-20 06:17 | replyToEmail | mutated | high |
| 2026-08-20 06:17 | sendEmail | mutated | critical |
| 2026-08-20 06:17 | sendEmailDemo | mutated | critical |
| 2026-08-20 06:17 | listSentEmails | mutated | high |
| 2026-08-20 06:17 | getSentEmail | mutated | high |
| 2026-08-20 06:17 | cancelScheduledSend | mutated | high |
| 2026-08-20 06:17 | awaitReply | mutated | high |
| 2026-08-20 06:17 | getConversation | mutated | medium |
| 2026-08-20 06:17 | getThread | mutated | high |
| 2026-08-20 06:17 | downloadEmailAttachments | mutated | high |
| 2026-08-20 06:17 | listEndpoints | mutated | medium |
| 2026-08-20 06:17 | createEndpoint | mutated | high |
| 2026-08-20 06:17 | deleteEndpoint | mutated | high |
| 2026-08-20 06:17 | testEndpoint | mutated | high |
| 2026-08-20 06:17 | listFilters | mutated | medium |
| 2026-08-20 06:17 | createFilter | mutated | medium |
| 2026-08-20 06:17 | deleteFilter | mutated | high |
| 2026-08-20 06:17 | listWebhookDeliveries | mutated | medium |
| 2026-08-20 06:17 | replayWebhookDelivery | mutated | high |
| 2026-08-20 06:17 | createEmailAddress | mutated | critical |
| 2026-08-18 00:17 | getAccount | mutated | high |
| 2026-08-18 00:17 | sendEmail | mutated | critical |
| 2026-08-18 00:17 | sendEmailDemo | mutated | critical |
| 2026-08-18 00:17 | awaitReply | mutated | high |
| 2026-08-18 00:17 | createEmailAddress | mutated | critical |
| 2026-08-14 06:17 | getAccount | mutated | high |
| 2026-08-14 06:17 | getInboxStatus | mutated | high |
| 2026-08-14 06:17 | listEmails | mutated | high |
| 2026-08-14 06:17 | getEmail | mutated | high |
| 2026-08-14 06:17 | replyToEmail | mutated | high |
| 2026-08-14 06:17 | sendEmail | mutated | critical |
| 2026-08-14 06:17 | sendEmailDemo | mutated | critical |
| 2026-08-14 06:17 | createEmailAddress | added | critical |
Probe history
09-28 18:17 OK (30) · 09-28 12:17 OK (30) · 09-28 06:17 OK (30) · 09-28 00:17 OK (30) · 09-27 18:17 OK (30) · 09-27 12:17 OK (30) · 09-27 06:17 OK (30) · 09-27 00:17 OK (30) · 09-26 18:17 OK (30) · 09-26 12:17 OK (30) · 09-26 06:17 OK (30) · 09-26 00:17 OK (30) · 09-25 18:17 OK (30) · 09-25 12:17 OK (30) · 09-25 06:17 OK (30) · 09-25 00:17 OK (30) · 09-24 18:17 OK (30) · 09-24 12:17 OK (30) · 09-24 06:17 OK (30) · 09-24 00:17 OK (30) · 09-23 18:17 OK (30) · 09-23 12:17 OK (30) · 09-23 06:17 OK (30) · 09-23 00:17 OK (30) · 09-22 18:17 OK (30) · 09-22 12:17 OK (30) · 09-22 00:17 OK (30) · 09-21 18:17 OK (30) · 09-21 12:17 OK (30) · 09-21 06:17 OK (30)
Get alerted when this server changes: tooldrift.agentexchange.work ($29/mo watch).