commsharbor

Transactional e-mail and permission-based campaigns, multi-tenant, with a full audit trail.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

    What data it sees

    Do you need an account

    No: the server works without sign-in

    Transactional e-mail and permission-based campaigns, multi-tenant, with a full audit trail.

    How to connect

    How to connect commsharbor to Claude

    The server address to paste into Claude settings:

    https://commsharbor.com/mcp

    1. Open Claude (claude.ai or the desktop app).
    2. Go to Settings → Connectors.
    3. Click Add custom connector.
    4. Paste the server address copied below into Remote MCP server URL and click Add.
    5. In a chat, click + → Connectors and switch the new connector on.

    Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

    Authorization

    After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

    How to connect commsharbor to ChatGPT

    The server address to paste into ChatGPT settings:

    https://commsharbor.com/mcp

    1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
    2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
    3. Open Settings → Connectors and click Create.
    4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
    5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
    6. In a new chat open + → Apps/Connectors and enable the connector.

    OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

    Authorization

    On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

    How to connect commsharbor to Cursor

    The server address to paste into Cursor settings:

    https://commsharbor.com/mcp

    Fastest: click Open in Cursor below and confirm the prompt.

    Manually:

    1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
    2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
    3. Save the file. The server appears in the MCP list; authorize it there if asked.

    Authorization

    If the service needs sign-in, an authorize button appears next to the server in the MCP list.

    Server tool list (150)

    Raw names from tools/list. Only developers need these.

    commsharbor_healthRead deployment health and build.
    commsharbor_logoutRevoke the current session.
    commsharbor_meRead the current profile and memberships.
    commsharbor_organizationsList memberships.
    commsharbor_organization_createCreate the verified owner's single trial.
    commsharbor_contextResolve the active organization identity.
    commsharbor_organization_getRead an organization.
    commsharbor_organization_updateUpdate an organization.
    commsharbor_membersList organization members.
    commsharbor_member_roleChange a non-owner member role.
    commsharbor_invitationsList invitations.
    commsharbor_invitation_createInvite a member and reveal the acceptance token once.
    commsharbor_invitation_acceptAccept an invitation.
    commsharbor_api_keysList API keys without secrets.
    commsharbor_api_key_createCreate a scoped API key and reveal it once.
    commsharbor_api_key_revokeRevoke an API key.
    commsharbor_auditList tenant audit events.
    commsharbor_platform_contextConfirm the caller's platform role.
    commsharbor_domainsList sending domains with their last observed state.
    commsharbor_domain_createRegister the organization's exact sending domain and queue SES provisioning.
    commsharbor_domain_getRead one stored sending-domain resource.
    commsharbor_domain_verifyRefresh domain readiness from real SES and DNS observations.
    commsharbor_domain_smokeSend one controlled smoke to the server-side recipient secret; never accepts a recipient argument.
    commsharbor_domain_deliveriesList a domain's deliveries without recipient addresses.
    commsharbor_delivery_getRead one delivery and its SES MessageId without recipient data.
    commsharbor_delivery_eventsList normalized SES feedback events for one delivery.
    commsharbor_crm_contacts_listLists contacts in the tenant CRM — a person in the tenant CRM. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q, company_id. Needs crm:read on the organization. Every item carries an absolute url.
    commsharbor_crm_contacts_createCreates a contact in the tenant CRM. Required: email, first_name. Needs crm:write on the organization. Returns the created resource with its absolute url.
    commsharbor_crm_contacts_getReads one contact from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.
    commsharbor_crm_contacts_updateUpdates one contact in the tenant CRM; only the fields you send change. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_contacts_deleteDeletes one contact from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_companies_listLists companies in the tenant CRM — an organization in the tenant CRM — a customer of the customer. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q. Needs crm:read on the organization. Every item carries an absolute url.
    commsharbor_crm_companies_createCreates a company in the tenant CRM. Required: name. Needs crm:write on the organization. Returns the created resource with its absolute url.
    commsharbor_crm_companies_getReads one company from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.
    commsharbor_crm_companies_updateUpdates one company in the tenant CRM; only the fields you send change. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_companies_deleteDeletes one company from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_pipelines_listLists pipelines in the tenant CRM — a named sequence of stages that deals move through. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q. Needs crm:read on the organization. Every item carries an absolute url.
    commsharbor_crm_pipelines_createCreates a pipeline in the tenant CRM. Required: name. Needs crm:write on the organization. Returns the created resource with its absolute url.
    commsharbor_crm_pipelines_getReads one pipeline from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.
    commsharbor_crm_pipelines_updateUpdates one pipeline in the tenant CRM; only the fields you send change. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_pipelines_deleteDeletes one pipeline from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_deals_listLists deals in the tenant CRM — an opportunity moving through a pipeline. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q, pipeline_id, stage_id, status. Needs crm:read on the organization. Every item carries an absolute url.
    commsharbor_crm_deals_createCreates a deal in the tenant CRM. Required: title, pipeline_id, stage_id. Needs crm:write on the organization. Returns the created resource with its absolute url.
    commsharbor_crm_deals_getReads one deal from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.
    commsharbor_crm_deals_updateUpdates one deal in the tenant CRM; only the fields you send change. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_deals_deleteDeletes one deal from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_activities_listLists activities in the tenant CRM — something that happened with a contact, company or deal. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q, deal_id, contact_id, company_id, activity_type. Needs crm:read on the organization. Every item carries an absolute url.
    commsharbor_crm_activities_createCreates a activity in the tenant CRM. Required: note. Needs crm:write on the organization. Returns the created resource with its absolute url.
    commsharbor_crm_activities_getReads one activity from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.
    commsharbor_crm_activities_updateUpdates one activity in the tenant CRM; only the fields you send change. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_activities_deleteDeletes one activity from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_tasks_listLists tasks in the tenant CRM — work someone still has to do in the tenant CRM. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q, status, deal_id, contact_id, assignee_user_id. Needs crm:read on the organization. Every item carries an absolute url.
    commsharbor_crm_tasks_createCreates a task in the tenant CRM. Required: title. Needs crm:write on the organization. Returns the created resource with its absolute url.
    commsharbor_crm_tasks_getReads one task from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.
    commsharbor_crm_tasks_updateUpdates one task in the tenant CRM; only the fields you send change. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_tasks_deleteDeletes one task from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_stages_listLists stages in the tenant CRM — one step of a pipeline, addressed under the pipeline it belongs to. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Needs crm:read on the organization. Every item carries an absolute url.
    commsharbor_crm_stages_createCreates a stage in the tenant CRM. Required: name. Needs crm:write on the organization. Returns the created resource with its absolute url.
    commsharbor_crm_stages_getReads one stage from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.
    commsharbor_crm_stages_updateUpdates one stage in the tenant CRM; only the fields you send change. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_crm_stages_deleteDeletes one stage from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.
    commsharbor_platform_crm_leads_listLists leads in the platform CRM — a prospective ORGANIZATION in our own funnel — platform CRM is not tenant data. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q, stage. Needs a human session with the platform_admin grant; tenant ownership does not qualify. Every item carries an absolute url.
    commsharbor_platform_crm_leads_createCreates a lead in the platform CRM. Required: email, name. Needs a human session with the platform_admin grant; tenant ownership does not qualify. Returns the created resource with its absolute url.
    commsharbor_platform_crm_leads_getReads one lead from the platform CRM. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_leads_updateUpdates one lead in the platform CRM; only the fields you send change. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_leads_deleteDeletes one lead from the platform CRM. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_tasks_listLists tasks in the platform CRM — work on a platform lead — about a prospective tenant, not about a tenant's customer. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q, status, lead_id, assignee_user_id. Needs a human session with the platform_admin grant; tenant ownership does not qualify. Every item carries an absolute url.
    commsharbor_platform_crm_tasks_createCreates a task in the platform CRM. Required: title. Needs a human session with the platform_admin grant; tenant ownership does not qualify. Returns the created resource with its absolute url.
    commsharbor_platform_crm_tasks_getReads one task from the platform CRM. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_tasks_updateUpdates one task in the platform CRM; only the fields you send change. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_tasks_deleteDeletes one task from the platform CRM. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_activities_listLists activities in the platform CRM — our note about a prospective tenant. Cursor-paginated: limit 1-100, opaque cursor from the previous page. Filters: q. Needs a human session with the platform_admin grant; tenant ownership does not qualify. Every item carries an absolute url.
    commsharbor_platform_crm_activities_createCreates a activity in the platform CRM. Required: note. Needs a human session with the platform_admin grant; tenant ownership does not qualify. Returns the created resource with its absolute url.
    commsharbor_platform_crm_activities_getReads one activity from the platform CRM. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_activities_updateUpdates one activity in the platform CRM; only the fields you send change. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_platform_crm_activities_deleteDeletes one activity from the platform CRM. Needs a human session with the platform_admin grant; tenant ownership does not qualify. A foreign or missing id answers 404.
    commsharbor_contact_marketing_getRead consent and preference for a CRM contact.
    commsharbor_contact_marketing_putRecord permission-based marketing consent.
    commsharbor_preference_token_createCreate signed preference and unsubscribe URLs.
    commsharbor_preference_getRead preference through a signed capability.
    commsharbor_preference_unsubscribeApply one-click unsubscribe through a signed capability.
    commsharbor_marketing_smokeSend one controlled permission-based marketing smoke.
    commsharbor_contact_importsList contact imports.
    commsharbor_contact_import_previewUpload and preview a consent-declared CSV.
    commsharbor_contact_import_getRead one contact import.
    commsharbor_contact_import_confirmConfirm an import with a mandatory idempotency key.
    commsharbor_contact_import_errorsList deterministic row-level import errors.
    commsharbor_contact_file_getDownload a tenant CSV before expiry.
    commsharbor_contacts_exportCreate a safe seven-day contact CSV export.
    commsharbor_suppressionsList organization suppressions.
    commsharbor_suppression_createSuppress a recipient in one organization.
    commsharbor_audiencesList audiences and saved segments.
    commsharbor_audience_createCreate an audience or saved segment.
    commsharbor_audience_getRead one audience.
    commsharbor_audience_updateUpdate an audience.
    commsharbor_audience_deleteDelete an audience.
    commsharbor_audience_membersList audience contacts.
    commsharbor_audience_member_addAdd a CRM contact to a static audience.
    commsharbor_audience_member_removeRemove a CRM contact from a static audience.
    commsharbor_templatesList email templates.
    commsharbor_template_createCreate a canonical block template draft.
    commsharbor_template_getRead one template.
    commsharbor_template_updateUpdate one template draft.
    commsharbor_template_archiveArchive a template and preserve its versions.
    commsharbor_template_publishPublish an immutable template version.
    commsharbor_template_versionsList immutable versions.
    commsharbor_template_previewCompile and render a safe template preview.
    commsharbor_template_exportExport the latest published HTML, text and MJML.
    commsharbor_template_import_htmlImport a safe HTML subset as a draft.
    commsharbor_message_sendQueue one idempotent transactional delivery.
    commsharbor_campaignsList campaigns.
    commsharbor_campaign_createCreate a campaign draft.
    commsharbor_campaign_getRead a campaign.
    commsharbor_campaign_updateEdit, pause, resume or cancel a campaign.
    commsharbor_campaign_launchFreeze and launch or schedule a campaign idempotently.
    commsharbor_campaign_reportReconcile campaign deliveries and feedback.
    commsharbor_messaging_settingsRead timezone and marketing state.
    commsharbor_messaging_settings_updateUpdate timezone or pause state.
    commsharbor_deliverabilityRead deliverability and backlog aggregates.
    commsharbor_domain_reportRead domain delivery and feedback aggregates.
    commsharbor_webhooksList webhook endpoints without secrets.
    commsharbor_webhook_createCreate a webhook and reveal its secret once.
    commsharbor_webhook_getRead a webhook without its secret.
    commsharbor_webhook_disableDisable a webhook.
    commsharbor_webhook_deliveriesList webhook retries and outcomes.
    commsharbor_dead_lettersInspect nominal dead letters.
    commsharbor_dead_letter_replayReplay one campaign or webhook dead letter.
    commsharbor_billing_catalogRead plans, prices and x402 network.
    commsharbor_billingRead tenant entitlements and available sends.
    commsharbor_billing_purchaseRequest a pass or top-up and receive the x402 challenge when payment is required.
    commsharbor_operationsList current operational alerts without PII.
    commsharbor_operations_refreshRefresh alerts, quota and capacity observations.
    commsharbor_data_exportsList tenant JSON exports.
    commsharbor_data_export_createCreate a seven-day tenant JSON export.
    commsharbor_data_export_downloadDownload a tenant JSON export.
    commsharbor_deletion_requestRead the latest tenant deletion request.
    commsharbor_deletion_scheduleSchedule tenant erasure after seven days using the exact confirmation phrase.
    commsharbor_deletion_cancelCancel a scheduled tenant erasure.
    commsharbor_tracking_domainRead the organization's tracking domain, the CNAME it needs and whether the platform actually answers on it. Null when there is none: links then use the shared platform origin.
    commsharbor_tracking_domain_createRegister the host that will serve this organization's message links. One per organization; registering never activates it.
    commsharbor_tracking_domain_verifyProbe the host now and store what was seen. The ONLY way to reach `active`, and only after reaching this product on that host — DNS resolving is not enough.
    commsharbor_tracking_domain_removeRemove the tracking domain; NEW messages go back to the platform origin. Links already sent keep pointing at the removed host.
    commsharbor_inboxesList the addresses this organization receives on.
    commsharbor_inbox_createCreate a receiving address on a verified sending domain. Fails with 422 when the domain is not verified: receiving on an unproven domain is relay.
    commsharbor_inbox_getRead one receiving address.
    commsharbor_inbox_disableStop accepting mail at this address. History stays readable — this disables, it never erases.
    commsharbor_inbox_messagesList what arrived at one address, newest first. Summaries only, no body.
    commsharbor_inbox_messageRead one message: body, chosen headers and `auth`. `from` is text the sender chose; `auth` is the SPF/DKIM/DMARC verdict the receiving edge reached. Decide on `auth`.
    commsharbor_inbox_attachmentGet a five-minute signed URL for one attachment, by its index in the message. The URL expires; the stored file does not.
    pricingCurrent public prices and free allowances; no charge.