{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T15:51:59.610Z","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane.md","server":{"slug":"io-usefulapi-sarbacane","name":"Sarbacane MCP by usefulapi","registryName":"io.usefulapi/sarbacane","description":"Read Sarbacane campaigns, stats, lists and blacklists; manage contacts and draft email campaigns.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"sarbacane","type":"remote","identifier":"https://sarbacane.usefulapi.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane","version":"1.13.3","transport":null,"scoredAt":"2026-11-05T15:03:20.656Z"},"score":{"total":18,"tier":"low","status":"scored","weekDelta":-46,"history":[{"date":"2026-11-05","total":18},{"date":"2026-11-04","total":18},{"date":"2026-11-03","total":18},{"date":"2026-11-02","total":18},{"date":"2026-11-01","total":68},{"date":"2026-10-31","total":68},{"date":"2026-10-30","total":65},{"date":"2026-10-29","total":64},{"date":"2026-10-28","total":64},{"date":"2026-10-27","total":63},{"date":"2026-10-26","total":63},{"date":"2026-10-25","total":62}]},"categories":[{"name":"Endpoint Security","score":46,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.unreachable","args":{}},{"code":"https.inconclusive","args":{"reason":"redirect_not_https"}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":0,"verdict":"fail","reasons":["Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly."],"codes":[{"code":"transport.redirected","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":0,"verdict":"unverified","reasons":["Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list."],"codes":[{"code":"schema.unreachable","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":0,"verdict":"unverified","reasons":["Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolquality.unreachable","args":{}}]},{"name":"Tool Safety","score":0,"verdict":"unverified","reasons":["Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolsafety.unreachable","args":{}}]},{"name":"Capabilities","score":0,"verdict":"unverified","reasons":["Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"codes":[{"code":"cap.unreachable","args":{}}]}],"inconclusive":["Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.","Stability not yet verified: not enough scan history yet (needs a 30-day window).","Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"malware":[],"components":[{"slug":"sarbacane","type":"remote","identifier":"https://sarbacane.usefulapi.io/mcp","withdrawn":false,"score":18,"current":true,"url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane.md"}],"facts":[{"label":"Endpoint","value":"https://sarbacane.usefulapi.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.13.3"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"sarbacane_get_credits","title":"Get remaining credits","description":"The account's remaining credits per type (email campaigns, SMS, eye tracking, Sendkit emails) with expiry date and subscription type. GET /v1/credits.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":46},{"name":"sarbacane_list_users","title":"List account users","description":"Users and pending invitations of the Sarbacane account (name, email, role, team). GET /v1/users.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Maximum items returned, 1-1000 (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Starting position, from 0 (default 0). Pass the previous reply's next_offset."},{"name":"search","type":"string","required":false,"description":"Filter users by name or email."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94},{"name":"sarbacane_list_lists","title":"List contact lists","description":"All contact lists of the account, with their ids. Use the ids for contacts, fields and campaigns. GET /v1/lists.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Maximum items returned, 1-1000 (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Starting position, from 0 (default 0). Pass the previous reply's next_offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":84},{"name":"sarbacane_list_list_fields","title":"List a list's custom fields","description":"The custom fields (columns) of a contact list: id, caption and type (STRING, BOOL, INT, DATE). Field ids are the keys used when writing contacts. GET /v1/lists/{listId}/fields.","inputs":[{"name":"list_id","type":"string","required":true,"description":"Contact list id (sarbacane_list_lists)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":76},{"name":"sarbacane_list_contacts","title":"List contacts in a list","description":"Contacts of one list (personal data: email, phone, custom fields). Filter by email, phone, a text search across fields, or the modification date. GET /v1/lists/{listId}/contacts.","inputs":[{"name":"email","type":"string","required":false,"description":"Only the contact with this email."},{"name":"limit","type":"integer","required":false,"description":"Maximum items returned, 1-1000 (default 50)."},{"name":"list_id","type":"string","required":true,"description":"Contact list id."},{"name":"modified_after","type":"string","required":false,"description":"Only contacts modified at or after this time."},{"name":"modified_before","type":"string","required":false,"description":"Only contacts modified at or before this time."},{"name":"offset","type":"integer","required":false,"description":"Starting position, from 0 (default 0). Pass the previous reply's next_offset."},{"name":"phone","type":"string","required":false,"description":"Only the contact with this phone number."},{"name":"search","type":"string","required":false,"description":"Text to look for in the contact's fields."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":186},{"name":"sarbacane_create_contact","title":"Add a contact to a list","description":"WRITE: add a contact to a contact list. Give an email, a phone number or both, and optional custom field values. Adds a new record; use sarbacane_upsert_contact to update an existing contact. POST /v1/lists/{listId}/contacts.","inputs":[{"name":"email","type":"string","required":false,"description":null},{"name":"fields","type":"object","required":false,"description":"Custom field values as { <custom field id>: value }. Get the ids from sarbacane_list_list_fields."},{"name":"list_id","type":"string","required":true,"description":"Contact list id."},{"name":"phone","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":121},{"name":"sarbacane_upsert_contact","title":"Add or update a contact","description":"WRITE: add a contact to a list, or update it when the same email/phone pair already exists (custom field values are overwritten). POST /v1/lists/{listId}/contacts/upsert.","inputs":[{"name":"email","type":"string","required":false,"description":null},{"name":"fields","type":"object","required":false,"description":"Custom field values as { <custom field id>: value }. Get the ids from sarbacane_list_list_fields."},{"name":"list_id","type":"string","required":true,"description":"Contact list id."},{"name":"phone","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":108},{"name":"sarbacane_list_blacklists","title":"List blacklists","description":"All blacklists (suppression lists) of the account, with their ids. GET /v1/blacklists.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Maximum items returned, 1-1000 (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Starting position, from 0 (default 0). Pass the previous reply's next_offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":81},{"name":"sarbacane_list_blacklist_entries","title":"List blacklist entries","description":"Entries of a blacklist by kind: bounces (invalid addresses), unsubscribers or complaints (personal data: email, phone). Filter by email, phone or modification date. GET /v1/blacklists/{blacklistId}/{bounces|unsubscribers|complaints}.","inputs":[{"name":"blacklist_id","type":"string","required":true,"description":"Blacklist id (sarbacane_list_blacklists)."},{"name":"email","type":"string","required":false,"description":"Only this email."},{"name":"kind","type":"string","required":true,"description":"Which entries: bounces, unsubscribers or complaints."},{"name":"limit","type":"integer","required":false,"description":"Maximum items returned, 1-1000 (default 50)."},{"name":"modified_after","type":"string","required":false,"description":"Only entries modified at or after this time."},{"name":"modified_before","type":"string","required":false,"description":"Only entries modified at or before this time."},{"name":"offset","type":"integer","required":false,"description":"Starting position, from 0 (default 0). Pass the previous reply's next_offset."},{"name":"phone","type":"string","required":false,"description":"Only this phone number."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":202},{"name":"sarbacane_add_unsubscriber","title":"Add an unsubscribed contact to a blacklist","description":"WRITE: record an email and/or phone as unsubscribed in a blacklist, so campaigns using that blacklist skip it. Cannot be undone with these tools. POST /v1/blacklists/{blacklistId}/unsubscribers.","inputs":[{"name":"blacklist_id","type":"string","required":true,"description":"Blacklist id."},{"name":"email","type":"string","required":false,"description":null},{"name":"phone","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":83},{"name":"sarbacane_list_campaigns","title":"List campaigns","description":"Campaigns of the account (id, name, kind, created/edited, recipient count). Filter by state or a text in the name or subject. GET /v1/campaigns.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Maximum items returned, 1-1000 (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Starting position, from 0 (default 0). Pass the previous reply's next_offset."},{"name":"search","type":"string","required":false,"description":"Text in the campaign name or subject."},{"name":"state","type":"string","required":false,"description":"Only campaigns in this state."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":122},{"name":"sarbacane_get_campaign","title":"Get campaign details","description":"One campaign: state, kind, blacklists, send ids, sent date. The send id is needed to see content. GET /v1/campaigns/{campaignId}.","inputs":[{"name":"campaign_id","type":"string","required":true,"description":"Campaign id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"sarbacane_get_campaign_report","title":"Get campaign statistics","description":"Statistics of a campaign per send: delivered count, opens, openers, clicks, clickers, unsubscribers, devices and operating systems. GET /v1/reports/{campaignId}.","inputs":[{"name":"campaign_id","type":"string","required":true,"description":"Campaign id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":60},{"name":"sarbacane_list_campaign_recipients","title":"List a campaign's recipients","description":"Recipients attached to a campaign (personal data: email, phone). GET /v1/campaigns/{campaignId}/recipients.","inputs":[{"name":"campaign_id","type":"string","required":true,"description":"Campaign id."},{"name":"limit","type":"integer","required":false,"description":"Maximum items returned, 1-1000 (default 50)."},{"name":"offset","type":"integer","required":false,"description":"Starting position, from 0 (default 0). Pass the previous reply's next_offset."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":97},{"name":"sarbacane_list_webhooks","title":"List webhooks","description":"Webhook subscriptions of the account: url, display name and subscribed event kinds. GET /v1/webhooks.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":35},{"name":"sarbacane_create_email_campaign","title":"Create an email campaign (draft)","description":"WRITE: create a new email campaign as a DRAFT. It is never sent by these tools: add content (sarbacane_set_campaign_content or sarbacane_import_campaign_template) and a contact list (sarbacane_set_campaign_list), then send it from Sarbacane. POST /v1/campaigns/email.","inputs":[{"name":"alias_from","type":"string","required":true,"description":"Sender name."},{"name":"alias_reply_to","type":"string","required":true,"description":"Reply-to name."},{"name":"email_from","type":"string","required":true,"description":"Sender email address (must be a sender allowed on the account)."},{"name":"email_reply_to","type":"string","required":true,"description":"Reply-to email address."},{"name":"name","type":"string","required":true,"description":"Campaign name (internal)."},{"name":"preheader","type":"string","required":false,"description":"Preheader text."},{"name":"subject","type":"string","required":true,"description":"Email subject."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":164},{"name":"sarbacane_set_campaign_content","title":"Set a draft campaign's content","description":"WRITE: set the HTML (and optional plain-text) content of an email campaign's send, replacing what was there. Without send_id the campaign's only send is used (an A/B test campaign has several: pass one). POST /v1/campaigns/{campaignId}/send/{sendId}/content.","inputs":[{"name":"campaign_id","type":"string","required":true,"description":"Campaign id."},{"name":"html","type":"string","required":true,"description":"The HTML body of the email."},{"name":"send_id","type":"string","required":false,"description":"Send id from sarbacane_get_campaign (campaign.sends). Optional when the campaign has one send."},{"name":"text","type":"string","required":false,"description":"Plain-text alternative."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":137},{"name":"sarbacane_import_campaign_template","title":"Import a template into a draft campaign","description":"WRITE: load a saved template's content into an email campaign, replacing its content. POST /v1/campaigns/{campaignId}/content.","inputs":[{"name":"campaign_id","type":"string","required":true,"description":"Campaign id."},{"name":"template_id","type":"string","required":true,"description":"Template id (from Sarbacane)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":67},{"name":"sarbacane_set_campaign_list","title":"Attach a contact list to a draft campaign","description":"WRITE: import a contact list's contacts as the recipients of a campaign. It does not send the campaign. POST /v1/campaigns/{campaignId}/list.","inputs":[{"name":"campaign_id","type":"string","required":true,"description":"Campaign id."},{"name":"list_id","type":"string","required":true,"description":"Contact list id (sarbacane_list_lists)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":74}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T15:03:20.000Z","track":"remote","endpoint":"https://sarbacane.usefulapi.io/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=usefulapi.io","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-09-13T08:55:39Z","notAfter":"2026-12-12T09:54:12Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"sarbacane.usefulapi.io.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"io.","outcome":"verified","label":"Verified"},{"zone":"usefulapi.io.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"inconclusive","label":"Inconclusive","gate":null,"gateLabel":null,"status":302,"authorizationServers":[]},"httpsRedirect":{"outcome":"inconclusive","label":"Inconclusive","status":302},"transports":[{"transport":"streamable-http","outcome":"redirected","label":"Redirected","status":302,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-25","recent":[{"id":"chg_01a19a4a-e17b-78c6-b871-40ec7e131212","kind":"check.unverifiable","summary":"Stability (0.23 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e17b-78c6-b871-40ec7e131212"},{"id":"chg_01a19a4a-e17e-7f2a-af79-5d8e6727bb69","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e17e-7f2a-af79-5d8e6727bb69"},{"id":"chg_01a19a4a-e17f-77f5-9083-03b116c7acad","kind":"check.unverifiable","summary":"Authorization (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e17f-77f5-9083-03b116c7acad"},{"id":"chg_01a19a4a-e17f-7d5f-be8c-2c675e78f1ad","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e17f-7d5f-be8c-2c675e78f1ad"},{"id":"chg_01a19a4a-e180-73ff-8029-f79fee206860","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e180-73ff-8029-f79fee206860"},{"id":"chg_01a19a4a-e180-7b15-8575-ee47f3e97371","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e180-7b15-8575-ee47f3e97371"},{"id":"chg_01a19a4a-e181-71ff-b9b4-a6b318af59cd","kind":"capture.status_changed","summary":"Endpoint reachability (reachable → not serving MCP)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e181-71ff-b9b4-a6b318af59cd"},{"id":"chg_01a19a4a-e181-7bb4-adca-7e10acfdae23","kind":"score.total_changed","summary":"Trust score (68 → 18)","materiality":"functional","direction":"regression","scoreDelta":-50,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19a4a-e181-7bb4-adca-7e10acfdae23"},{"id":"chg_01a193fc-ffa3-7434-84e6-7cea051717b6","kind":"check.verdict","summary":"Authorization (partial → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa3-7434-84e6-7cea051717b6"},{"id":"chg_01a193fc-ffa4-719b-9913-68c5f11644f4","kind":"check.verdict","summary":"MCP protocol (fail → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa4-719b-9913-68c5f11644f4"},{"id":"chg_01a193fc-ffa4-78c6-96b2-0e0f1ef1f227","kind":"prompt.added","summary":"New prompt “add_or_update_contacts_or_record_an_unsubscribe”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa4-78c6-96b2-0e0f1ef1f227"},{"id":"chg_01a193fc-ffa5-70d7-b70a-d980d2aec935","kind":"prompt.added","summary":"New prompt “check_how_a_campaign_performed”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa5-70d7-b70a-d980d2aec935"},{"id":"chg_01a193fc-ffa5-7900-a45d-5fc358d310b2","kind":"prompt.added","summary":"New prompt “check_your_remaining_credits”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa5-7900-a45d-5fc358d310b2"},{"id":"chg_01a193fc-ffa5-7f04-b608-7e4313911028","kind":"prompt.added","summary":"New prompt “look_at_contact_lists_and_their_fields”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa5-7f04-b608-7e4313911028"},{"id":"chg_01a193fc-ffa6-747d-9bea-b24783de750a","kind":"prompt.added","summary":"New prompt “prepare_a_draft_email_campaign”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa6-747d-9bea-b24783de750a"},{"id":"chg_01a193fc-ffa6-78b5-aa99-8283d48f5aa5","kind":"prompt.added","summary":"New prompt “review_bounces_unsubscribers_and_complaints”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa6-78b5-aa99-8283d48f5aa5"},{"id":"chg_01a193fc-ffa6-7cdc-9308-867a7d40a74f","kind":"server.version_changed","summary":"Server version (1.9.0 → 1.11.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa6-7cdc-9308-867a7d40a74f"},{"id":"chg_01a193fc-ffa7-71fe-88f4-92267f52ccd3","kind":"protocol.version_changed","summary":"MCP protocol version (2025-06-18 → 2025-11-25)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa7-71fe-88f4-92267f52ccd3"},{"id":"chg_01a193fc-ffa7-75f0-9209-610378ee3c98","kind":"score.total_changed","summary":"Trust score (65 → 68)","materiality":"functional","direction":"improvement","scoreDelta":3,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a193fc-ffa7-75f0-9209-610378ee3c98"},{"id":"chg_01a19320-a45b-70ee-ae9c-3e4d210e1c4a","kind":"server.version_changed","summary":"Server version (1.8.0 → 1.9.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane#chg-chg_01a19320-a45b-70ee-ae9c-3e4d210e1c4a"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane/changelog.json"},"links":{"html":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane","markdown":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane.md","changelogJson":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane/changelog.json","changelogRss":"https://verifymcp.io/servers/io-usefulapi-sarbacane/sarbacane.xml","external":[{"label":"Remote endpoint","href":"https://sarbacane.usefulapi.io/mcp"},{"label":"Repository","href":"https://github.com/m190/usefulapi-mcp"},{"label":"Website","href":"https://usefulapi.io/sarbacane/"}]}}