{"name":"com.commsharbor/commsharbor","slug":"commsharbor","title":null,"description":"Transactional e-mail and permission-based campaigns, multi-tenant, with a full audit trail.","url":"https://mcp.market/server/commsharbor","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":8,"ok":8,"last_checked_at":"2026-09-21T07:40:48.529Z","last_ok_at":"2026-09-21T07:40:48.529Z","latency_ms":100},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://commsharbor.com","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://commsharbor.com/mcp"}],"packages":[],"tools":[{"name":"commsharbor_api_key_create","description":"Create a scoped API key and reveal it once.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"name":{"type":"string","description":"Credential name"},"scopes":{"type":"array","items":{"type":"string"},"description":"What the key may do, e.g. `organization:read`, `crm:write`, `messages:send`."}},"required":["organization_id","name","scopes"],"additionalProperties":false}},{"name":"commsharbor_api_key_revoke","description":"Revoke an API key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"api_key_id":{"type":"string","description":"API key ID"}},"required":["organization_id","api_key_id"],"additionalProperties":false}},{"name":"commsharbor_api_keys","description":"List API keys without secrets.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_audience_create","description":"Create an audience or saved segment.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"name":{"type":"string","description":"Audience name"},"kind":{"type":"string","description":"static or saved_segment","enum":["static","saved_segment"]},"filter":{"type":"object","description":"The saved filter, for `saved_segment`. Allowlisted fields only."}},"required":["organization_id","name","kind"],"additionalProperties":false}},{"name":"commsharbor_audience_delete","description":"Delete an audience.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"audience_id":{"type":"string","description":"Audience ID"}},"required":["organization_id","audience_id"],"additionalProperties":false}},{"name":"commsharbor_audience_get","description":"Read one audience.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"audience_id":{"type":"string","description":"Audience ID"}},"required":["organization_id","audience_id"],"additionalProperties":false}},{"name":"commsharbor_audience_member_add","description":"Add a CRM contact to a static audience.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"audience_id":{"type":"string","description":"Audience ID"},"contact_id":{"type":"string","description":"CRM contact ID"}},"required":["organization_id","audience_id","contact_id"],"additionalProperties":false}},{"name":"commsharbor_audience_member_remove","description":"Remove a CRM contact from a static audience.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"audience_id":{"type":"string","description":"Audience ID"},"contact_id":{"type":"string","description":"CRM contact ID"}},"required":["organization_id","audience_id","contact_id"],"additionalProperties":false}},{"name":"commsharbor_audience_members","description":"List audience contacts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"audience_id":{"type":"string","description":"Audience ID"},"cursor":{"type":"string","description":"Opaque pagination cursor"},"limit":{"type":"integer","description":"Page size, maximum 100","minimum":1,"maximum":100,"default":50}},"required":["organization_id","audience_id"],"additionalProperties":false}},{"name":"commsharbor_audience_update","description":"Update an audience.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"audience_id":{"type":"string","description":"Audience ID"},"name":{"type":"string","description":"Audience name"},"filter":{"type":"object","description":"New saved filter. Allowlisted fields only."}},"required":["organization_id","audience_id"],"additionalProperties":false}},{"name":"commsharbor_audiences","description":"List audiences and saved segments.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"cursor":{"type":"string","description":"Opaque pagination cursor"},"limit":{"type":"integer","description":"Page size, maximum 100","minimum":1,"maximum":100,"default":50}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_audit","description":"List tenant audit events.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"cursor":{"type":"string","description":"Opaque cursor"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_billing","description":"Read tenant entitlements and available sends.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_billing_catalog","description":"Read plans, prices and x402 network.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"commsharbor_billing_purchase","description":"Request a pass or top-up and receive the x402 challenge when payment is required.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"action":{"type":"string","enum":["pass","topup"],"description":"Which purchase to request."},"idempotency_key":{"type":"string","description":"Stable logical purchase key"}},"required":["organization_id","action","idempotency_key"],"additionalProperties":false}},{"name":"commsharbor_campaign_create","description":"Create a campaign draft.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"name":{"type":"string","description":"Campaign name"},"domain_id":{"type":"string","description":"Active sending domain ID"},"audience_id":{"type":"string","description":"Audience ID"},"template_id":{"type":"string","description":"Published marketing template ID"},"template_version":{"type":"integer","minimum":1,"description":"Published version to freeze into the campaign."}},"required":["organization_id","name","domain_id","audience_id","template_id"],"additionalProperties":false}},{"name":"commsharbor_campaign_get","description":"Read a campaign.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"campaign_id":{"type":"string","description":"Campaign ID"}},"required":["organization_id","campaign_id"],"additionalProperties":false}},{"name":"commsharbor_campaign_launch","description":"Freeze and launch or schedule a campaign idempotently.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"campaign_id":{"type":"string","description":"Campaign ID"},"scheduled_for":{"type":"string","description":"Optional ISO-8601 instant with offset"},"idempotency_key":{"type":"string","description":"Stable launch key"}},"required":["organization_id","campaign_id","idempotency_key"],"additionalProperties":false}},{"name":"commsharbor_campaign_report","description":"Reconcile campaign deliveries and feedback.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"campaign_id":{"type":"string","description":"Campaign ID"}},"required":["organization_id","campaign_id"],"additionalProperties":false}},{"name":"commsharbor_campaign_update","description":"Edit, pause, resume or cancel a campaign.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"campaign_id":{"type":"string","description":"Campaign ID"},"name":{"type":"string","description":"Campaign name"},"domain_id":{"type":"string","description":"Active sending domain ID"},"audience_id":{"type":"string","description":"Audience ID"},"template_id":{"type":"string","description":"Published marketing template ID"},"template_version":{"type":"integer","minimum":1,"description":"Published version to freeze into the campaign."},"status":{"type":"string","description":"paused, running or canceled","enum":["paused","sending","cancelled"]}},"required":["organization_id","campaign_id"],"additionalProperties":false}},{"name":"commsharbor_campaigns","description":"List campaigns.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_contact_file_get","description":"Download a tenant CSV before expiry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"file_id":{"type":"string","description":"Contact file ID"}},"required":["organization_id","file_id"],"additionalProperties":false}},{"name":"commsharbor_contact_import_confirm","description":"Confirm an import with a mandatory idempotency key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"import_id":{"type":"string","description":"Contact import ID"},"idempotency_key":{"type":"string","description":"Unique confirmation key"}},"required":["organization_id","import_id","idempotency_key"],"additionalProperties":false}},{"name":"commsharbor_contact_import_errors","description":"List deterministic row-level import errors.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"import_id":{"type":"string","description":"Contact import ID"},"cursor":{"type":"string","description":"Opaque pagination cursor"},"limit":{"type":"integer","description":"Page size, maximum 100","minimum":1,"maximum":100,"default":50}},"required":["organization_id","import_id"],"additionalProperties":false}},{"name":"commsharbor_contact_import_get","description":"Read one contact import.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"import_id":{"type":"string","description":"Contact import ID"}},"required":["organization_id","import_id"],"additionalProperties":false}},{"name":"commsharbor_contact_import_preview","description":"Upload and preview a consent-declared CSV.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"csv":{"type":"string","description":"CSV, maximum 5 MB and 10,000 rows"},"mapping":{"type":"object","description":"Which CSV column feeds which contact field, e.g. `{ \"email\": \"Email\" }`."},"basis":{"type":"string","description":"Consent basis","enum":["explicit","documented_relationship"]},"source":{"type":"string","description":"Consent source"},"captured_at":{"type":"string","description":"ISO-8601 capture time"}},"required":["organization_id","csv","mapping","basis","source","captured_at"],"additionalProperties":false}},{"name":"commsharbor_contact_imports","description":"List contact imports.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"cursor":{"type":"string","description":"Opaque pagination cursor"},"limit":{"type":"integer","description":"Page size, maximum 100","minimum":1,"maximum":100,"default":50}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_contact_marketing_get","description":"Read consent and preference for a CRM contact.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"contact_id":{"type":"string","description":"CRM contact ID"}},"required":["organization_id","contact_id"],"additionalProperties":false}},{"name":"commsharbor_contact_marketing_put","description":"Record permission-based marketing consent.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"contact_id":{"type":"string","description":"CRM contact ID"},"basis":{"type":"string","description":"explicit or documented_relationship","enum":["explicit","documented_relationship"]},"source":{"type":"string","description":"Consent source"},"captured_at":{"type":"string","description":"ISO-8601 capture time"}},"required":["organization_id","contact_id","basis","source","captured_at"],"additionalProperties":false}},{"name":"commsharbor_contacts_export","description":"Create a safe seven-day contact CSV export.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_context","description":"Resolve the active organization identity.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"commsharbor_crm_activities_create","description":"Creates a activity in the tenant CRM. Required: note. Needs crm:write on the organization. Returns the created resource with its absolute url.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"activity_type":{"type":"string","description":"activity type"},"note":{"type":"string","description":"note"},"deal_id":{"type":"string","description":"deal id"}},"required":["organization_id","note"],"additionalProperties":false}},{"name":"commsharbor_crm_activities_delete","description":"Deletes one activity from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"activity_id":{"type":"string","description":"activity_id"}},"required":["organization_id","activity_id"],"additionalProperties":false}},{"name":"commsharbor_crm_activities_get","description":"Reads one activity from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"activity_id":{"type":"string","description":"activity_id"}},"required":["organization_id","activity_id"],"additionalProperties":false}},{"name":"commsharbor_crm_activities_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"},"deal_id":{"type":"string","description":"deal_id"},"contact_id":{"type":"string","description":"contact_id"},"company_id":{"type":"string","description":"company_id"},"activity_type":{"type":"string","description":"activity_type"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_crm_activities_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"activity_id":{"type":"string","description":"activity_id"},"activity_type":{"type":"string","description":"activity type"},"note":{"type":"string","description":"note"},"deal_id":{"type":"string","description":"deal id"}},"required":["organization_id","activity_id"],"additionalProperties":false}},{"name":"commsharbor_crm_companies_create","description":"Creates a company in the tenant CRM. Required: name. Needs crm:write on the organization. Returns the created resource with its absolute url.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"name":{"type":"string","description":"name"},"domain":{"type":"string","description":"domain"},"website":{"type":"string","description":"website"}},"required":["organization_id","name"],"additionalProperties":false}},{"name":"commsharbor_crm_companies_delete","description":"Deletes one company from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"company_id":{"type":"string","description":"company_id"}},"required":["organization_id","company_id"],"additionalProperties":false}},{"name":"commsharbor_crm_companies_get","description":"Reads one company from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"company_id":{"type":"string","description":"company_id"}},"required":["organization_id","company_id"],"additionalProperties":false}},{"name":"commsharbor_crm_companies_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_crm_companies_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"company_id":{"type":"string","description":"company_id"},"name":{"type":"string","description":"name"},"domain":{"type":"string","description":"domain"},"website":{"type":"string","description":"website"}},"required":["organization_id","company_id"],"additionalProperties":false}},{"name":"commsharbor_crm_contacts_create","description":"Creates a contact in the tenant CRM. Required: email, first_name. Needs crm:write on the organization. Returns the created resource with its absolute url.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"email":{"type":"string","description":"email"},"first_name":{"type":"string","description":"first name"},"company_id":{"type":"string","description":"company id"}},"required":["organization_id","email","first_name"],"additionalProperties":false}},{"name":"commsharbor_crm_contacts_delete","description":"Deletes one contact from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"contact_id":{"type":"string","description":"contact_id"}},"required":["organization_id","contact_id"],"additionalProperties":false}},{"name":"commsharbor_crm_contacts_get","description":"Reads one contact from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"contact_id":{"type":"string","description":"contact_id"}},"required":["organization_id","contact_id"],"additionalProperties":false}},{"name":"commsharbor_crm_contacts_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"},"company_id":{"type":"string","description":"company_id"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_crm_contacts_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"contact_id":{"type":"string","description":"contact_id"},"email":{"type":"string","description":"email"},"first_name":{"type":"string","description":"first name"},"company_id":{"type":"string","description":"company id"}},"required":["organization_id","contact_id"],"additionalProperties":false}},{"name":"commsharbor_crm_deals_create","description":"Creates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"title":{"type":"string","description":"title"},"pipeline_id":{"type":"string","description":"pipeline id"},"stage_id":{"type":"string","description":"stage id"},"value_minor":{"type":"integer","description":"value_minor"},"currency":{"type":"string","description":"currency"}},"required":["organization_id","title","pipeline_id","stage_id"],"additionalProperties":false}},{"name":"commsharbor_crm_deals_delete","description":"Deletes one deal from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"deal_id":{"type":"string","description":"deal_id"}},"required":["organization_id","deal_id"],"additionalProperties":false}},{"name":"commsharbor_crm_deals_get","description":"Reads one deal from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"deal_id":{"type":"string","description":"deal_id"}},"required":["organization_id","deal_id"],"additionalProperties":false}},{"name":"commsharbor_crm_deals_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"},"pipeline_id":{"type":"string","description":"pipeline_id"},"stage_id":{"type":"string","description":"stage_id"},"status":{"type":"string","description":"status"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_crm_deals_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"deal_id":{"type":"string","description":"deal_id"},"title":{"type":"string","description":"title"},"pipeline_id":{"type":"string","description":"pipeline id"},"stage_id":{"type":"string","description":"stage id"},"value_minor":{"type":"integer","description":"value_minor"},"currency":{"type":"string","description":"currency"}},"required":["organization_id","deal_id"],"additionalProperties":false}},{"name":"commsharbor_crm_pipelines_create","description":"Creates a pipeline in the tenant CRM. Required: name. Needs crm:write on the organization. Returns the created resource with its absolute url.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"name":{"type":"string","description":"name"},"stages":{"type":"array","items":{"type":"string"},"description":"Stage names to create with the pipeline, in order."}},"required":["organization_id","name"],"additionalProperties":false}},{"name":"commsharbor_crm_pipelines_delete","description":"Deletes one pipeline from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"}},"required":["organization_id","pipeline_id"],"additionalProperties":false}},{"name":"commsharbor_crm_pipelines_get","description":"Reads one pipeline from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"}},"required":["organization_id","pipeline_id"],"additionalProperties":false}},{"name":"commsharbor_crm_pipelines_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_crm_pipelines_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"},"name":{"type":"string","description":"name"},"stages":{"type":"array","items":{"type":"string"},"description":"Stage names to create with the pipeline, in order."}},"required":["organization_id","pipeline_id"],"additionalProperties":false}},{"name":"commsharbor_crm_stages_create","description":"Creates a stage in the tenant CRM. Required: name. Needs crm:write on the organization. Returns the created resource with its absolute url.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"},"name":{"type":"string","description":"name"},"position":{"type":"integer","description":"position"},"probability":{"type":"integer","description":"probability"}},"required":["organization_id","pipeline_id","name"],"additionalProperties":false}},{"name":"commsharbor_crm_stages_delete","description":"Deletes one stage from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"},"stage_id":{"type":"string","description":"stage_id"}},"required":["organization_id","pipeline_id","stage_id"],"additionalProperties":false}},{"name":"commsharbor_crm_stages_get","description":"Reads one stage from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"},"stage_id":{"type":"string","description":"stage_id"}},"required":["organization_id","pipeline_id","stage_id"],"additionalProperties":false}},{"name":"commsharbor_crm_stages_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50}},"required":["organization_id","pipeline_id"],"additionalProperties":false}},{"name":"commsharbor_crm_stages_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"pipeline_id":{"type":"string","description":"pipeline_id"},"stage_id":{"type":"string","description":"stage_id"},"name":{"type":"string","description":"name"},"position":{"type":"integer","description":"position"},"probability":{"type":"integer","description":"probability"}},"required":["organization_id","pipeline_id","stage_id"],"additionalProperties":false}},{"name":"commsharbor_crm_tasks_create","description":"Creates a task in the tenant CRM. Required: title. Needs crm:write on the organization. Returns the created resource with its absolute url.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"title":{"type":"string","description":"title"},"status":{"type":"string","description":"status","enum":["open","done","cancelled"],"default":"open"},"deal_id":{"type":"string","description":"deal id"}},"required":["organization_id","title"],"additionalProperties":false}},{"name":"commsharbor_crm_tasks_delete","description":"Deletes one task from the tenant CRM. Needs crm:write on the organization. A foreign or missing id answers 404.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"task_id":{"type":"string","description":"task_id"}},"required":["organization_id","task_id"],"additionalProperties":false}},{"name":"commsharbor_crm_tasks_get","description":"Reads one task from the tenant CRM. Needs crm:read on the organization. A foreign or missing id answers 404.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"task_id":{"type":"string","description":"task_id"}},"required":["organization_id","task_id"],"additionalProperties":false}},{"name":"commsharbor_crm_tasks_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"},"status":{"type":"string","description":"status"},"deal_id":{"type":"string","description":"deal_id"},"contact_id":{"type":"string","description":"contact_id"},"assignee_user_id":{"type":"string","description":"assignee_user_id"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_crm_tasks_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"organization_id"},"task_id":{"type":"string","description":"task_id"},"title":{"type":"string","description":"title"},"status":{"type":"string","description":"status","enum":["open","done","cancelled"],"default":"open"},"deal_id":{"type":"string","description":"deal id"}},"required":["organization_id","task_id"],"additionalProperties":false}},{"name":"commsharbor_data_export_create","description":"Create a seven-day tenant JSON export.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_data_export_download","description":"Download a tenant JSON export.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"export_id":{"type":"string","description":"Tenant export ID"}},"required":["organization_id","export_id"],"additionalProperties":false}},{"name":"commsharbor_data_exports","description":"List tenant JSON exports.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_dead_letter_replay","description":"Replay one campaign or webhook dead letter.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"record_id":{"type":"string","description":"Dead-letter record ID"}},"required":["organization_id","record_id"],"additionalProperties":false}},{"name":"commsharbor_dead_letters","description":"Inspect nominal dead letters.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_deletion_cancel","description":"Cancel a scheduled tenant erasure.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"request_id":{"type":"string","description":"Deletion request ID"}},"required":["organization_id","request_id"],"additionalProperties":false}},{"name":"commsharbor_deletion_request","description":"Read the latest tenant deletion request.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_deletion_schedule","description":"Schedule tenant erasure after seven days using the exact confirmation phrase.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"confirmation":{"type":"string","description":"Exact phrase: delete <organization_id>"}},"required":["organization_id","confirmation"],"additionalProperties":false}},{"name":"commsharbor_deliverability","description":"Read deliverability and backlog aggregates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_delivery_events","description":"List normalized SES feedback events for one delivery.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"delivery_id":{"type":"string","description":"Delivery ID"}},"required":["organization_id","delivery_id"],"additionalProperties":false}},{"name":"commsharbor_delivery_get","description":"Read one delivery and its SES MessageId without recipient data.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"delivery_id":{"type":"string","description":"Delivery ID"}},"required":["organization_id","delivery_id"],"additionalProperties":false}},{"name":"commsharbor_domain_create","description":"Register the organization's exact sending domain and queue SES provisioning.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain":{"type":"string","description":"Sending domain"}},"required":["organization_id","domain"],"additionalProperties":false}},{"name":"commsharbor_domain_deliveries","description":"List a domain's deliveries without recipient addresses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain_id":{"type":"string","description":"Sending domain ID"}},"required":["organization_id","domain_id"],"additionalProperties":false}},{"name":"commsharbor_domain_get","description":"Read one stored sending-domain resource.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain_id":{"type":"string","description":"Sending domain ID"}},"required":["organization_id","domain_id"],"additionalProperties":false}},{"name":"commsharbor_domain_report","description":"Read domain delivery and feedback aggregates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain_id":{"type":"string","description":"Sending domain ID"}},"required":["organization_id","domain_id"],"additionalProperties":false}},{"name":"commsharbor_domain_smoke","description":"Send one controlled smoke to the server-side recipient secret; never accepts a recipient argument.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain_id":{"type":"string","description":"Sending domain ID"}},"required":["organization_id","domain_id"],"additionalProperties":false}},{"name":"commsharbor_domain_verify","description":"Refresh domain readiness from real SES and DNS observations.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain_id":{"type":"string","description":"Sending domain ID"}},"required":["organization_id","domain_id"],"additionalProperties":false}},{"name":"commsharbor_domains","description":"List sending domains with their last observed state.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_health","description":"Read deployment health and build.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"commsharbor_inbox_attachment","description":"Get a five-minute signed URL for one attachment, by its index in the message. The URL expires; the stored file does not.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"inbox_id":{"type":"string","description":"Inbox ID"},"message_id":{"type":"string","description":"Inbox message ID"},"index":{"type":"string","description":"Attachment index, from the message"}},"required":["organization_id","inbox_id","message_id","index"],"additionalProperties":false}},{"name":"commsharbor_inbox_create","description":"Create a receiving address on a verified sending domain. Fails with 422 when the domain is not verified: receiving on an unproven domain is relay.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"local_part":{"type":"string","description":"What comes before the @"},"domain":{"type":"string","description":"Verified domain"}},"required":["organization_id","local_part","domain"],"additionalProperties":false}},{"name":"commsharbor_inbox_disable","description":"Stop accepting mail at this address. History stays readable — this disables, it never erases.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"inbox_id":{"type":"string","description":"Inbox ID"}},"required":["organization_id","inbox_id"],"additionalProperties":false}},{"name":"commsharbor_inbox_get","description":"Read one receiving address.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"inbox_id":{"type":"string","description":"Inbox ID"}},"required":["organization_id","inbox_id"],"additionalProperties":false}},{"name":"commsharbor_inbox_message","description":"Read 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`.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"inbox_id":{"type":"string","description":"Inbox ID"},"message_id":{"type":"string","description":"Inbox message ID"}},"required":["organization_id","inbox_id","message_id"],"additionalProperties":false}},{"name":"commsharbor_inbox_messages","description":"List what arrived at one address, newest first. Summaries only, no body.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"inbox_id":{"type":"string","description":"Inbox ID"},"cursor":{"type":"string","description":"Opaque cursor"},"limit":{"type":"string","description":"Page size, 1 to 100","default":50}},"required":["organization_id","inbox_id"],"additionalProperties":false}},{"name":"commsharbor_inboxes","description":"List the addresses this organization receives on.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_invitation_accept","description":"Accept an invitation.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"Invitation token"}},"required":["token"],"additionalProperties":false}},{"name":"commsharbor_invitation_create","description":"Invite a member and reveal the acceptance token once.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"email":{"type":"string","description":"Invitee email"},"role":{"type":"string","description":"Member role","enum":["admin","marketer","viewer"]}},"required":["organization_id","email","role"],"additionalProperties":false}},{"name":"commsharbor_invitations","description":"List invitations.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_logout","description":"Revoke the current session.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"commsharbor_marketing_smoke","description":"Send one controlled permission-based marketing smoke.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain_id":{"type":"string","description":"Active sending domain ID"},"contact_id":{"type":"string","description":"CRM contact matching the server-side QA recipient"},"idempotency_key":{"type":"string","description":"Unique send key"}},"required":["organization_id","domain_id","contact_id","idempotency_key"],"additionalProperties":false}},{"name":"commsharbor_me","description":"Read the current profile and memberships.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"commsharbor_member_role","description":"Change a non-owner member role.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"user_id":{"type":"string","description":"Member user ID"},"role":{"type":"string","description":"New role","enum":["admin","marketer","viewer"]}},"required":["organization_id","user_id","role"],"additionalProperties":false}},{"name":"commsharbor_members","description":"List organization members.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_message_send","description":"Queue one idempotent transactional delivery.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain_id":{"type":"string","description":"Active sending domain ID"},"to":{"type":"string","description":"Recipient email"},"template_id":{"type":"string","description":"Published template ID"},"template_version":{"type":"integer","minimum":1,"description":"Published version to use. Without it, the latest published version is used — pin it when the content must not drift."},"variables":{"type":"object","additionalProperties":true,"description":"Values for the template's declared variables."},"reply_to":{"type":"string","description":"Optional reply-to email"},"idempotency_key":{"type":"string","description":"Unique logical message key"}},"required":["organization_id","domain_id","to","template_id","variables","idempotency_key"],"additionalProperties":false}},{"name":"commsharbor_messaging_settings","description":"Read timezone and marketing state.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_messaging_settings_update","description":"Update timezone or pause state.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"timezone":{"type":"string","description":"IANA timezone"},"marketing_state":{"type":"string","description":"active or paused","enum":["active","paused"]}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_operations","description":"List current operational alerts without PII.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_operations_refresh","description":"Refresh alerts, quota and capacity observations.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_organization_create","description":"Create the verified owner's single trial.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Organization name"},"sending_domain":{"type":"string","description":"Sending domain"}},"required":["name","sending_domain"],"additionalProperties":false}},{"name":"commsharbor_organization_get","description":"Read an organization.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_organization_update","description":"Update an organization.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"name":{"type":"string","description":"Organization name"}},"required":["organization_id","name"],"additionalProperties":false}},{"name":"commsharbor_organizations","description":"List memberships.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"commsharbor_platform_context","description":"Confirm the caller's platform role.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"commsharbor_platform_crm_activities_create","description":"Creates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"},"activity_type":{"type":"string","description":"activity type"},"note":{"type":"string","description":"note"}},"required":["lead_id","note"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_activities_delete","description":"Deletes 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"},"activity_id":{"type":"string","description":"activity_id"}},"required":["lead_id","activity_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_activities_get","description":"Reads 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"},"activity_id":{"type":"string","description":"activity_id"}},"required":["lead_id","activity_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_activities_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"},"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"}},"required":["lead_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_activities_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"},"activity_id":{"type":"string","description":"activity_id"},"activity_type":{"type":"string","description":"activity type"},"note":{"type":"string","description":"note"}},"required":["lead_id","activity_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_leads_create","description":"Creates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","description":"email"},"name":{"type":"string","description":"name"},"company_name":{"type":"string","description":"company name"},"source":{"type":"string","description":"source"},"stage":{"type":"string","description":"stage"},"organization_id":{"type":"string","description":"organization id"}},"required":["email","name"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_leads_delete","description":"Deletes 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"}},"required":["lead_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_leads_get","description":"Reads 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"}},"required":["lead_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_leads_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"},"stage":{"type":"string","description":"stage"}},"required":[],"additionalProperties":false}},{"name":"commsharbor_platform_crm_leads_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"lead_id":{"type":"string","description":"lead_id"},"email":{"type":"string","description":"email"},"name":{"type":"string","description":"name"},"company_name":{"type":"string","description":"company name"},"source":{"type":"string","description":"source"},"stage":{"type":"string","description":"stage"},"organization_id":{"type":"string","description":"organization id"}},"required":["lead_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_tasks_create","description":"Creates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","description":"title"},"lead_id":{"type":"string","description":"lead id"},"due_at":{"type":"string","description":"due at"}},"required":["title"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_tasks_delete","description":"Deletes 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"task_id":{"type":"string","description":"task_id"}},"required":["task_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_tasks_get","description":"Reads 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"task_id":{"type":"string","description":"task_id"}},"required":["task_id"],"additionalProperties":false}},{"name":"commsharbor_platform_crm_tasks_list","description":"Lists 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cursor":{"type":"string","description":"Opaque cursor returned by the previous page"},"limit":{"type":"integer","description":"Page size from 1 to 100","default":50},"q":{"type":"string","description":"q"},"status":{"type":"string","description":"status"},"lead_id":{"type":"string","description":"lead_id"},"assignee_user_id":{"type":"string","description":"assignee_user_id"}},"required":[],"additionalProperties":false}},{"name":"commsharbor_platform_crm_tasks_update","description":"Updates 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"task_id":{"type":"string","description":"task_id"},"title":{"type":"string","description":"title"},"lead_id":{"type":"string","description":"lead id"},"due_at":{"type":"string","description":"due at"}},"required":["task_id"],"additionalProperties":false}},{"name":"commsharbor_preference_get","description":"Read preference through a signed capability.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"Signed preference token"}},"required":["token"],"additionalProperties":false}},{"name":"commsharbor_preference_token_create","description":"Create signed preference and unsubscribe URLs.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"contact_id":{"type":"string","description":"CRM contact ID"}},"required":["organization_id","contact_id"],"additionalProperties":false}},{"name":"commsharbor_preference_unsubscribe","description":"Apply one-click unsubscribe through a signed capability.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"Signed preference token"}},"required":["token"],"additionalProperties":false}},{"name":"commsharbor_suppression_create","description":"Suppress a recipient in one organization.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"email":{"type":"string","description":"Recipient email"},"contact_id":{"type":"string","description":"Optional CRM contact ID"}},"required":["organization_id","email"],"additionalProperties":false}},{"name":"commsharbor_suppressions","description":"List organization suppressions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"cursor":{"type":"string","description":"Opaque pagination cursor"},"limit":{"type":"integer","description":"Page size, maximum 100","minimum":1,"maximum":100,"default":50}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_template_archive","description":"Archive a template and preserve its versions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"template_id":{"type":"string","description":"Template ID"}},"required":["organization_id","template_id"],"additionalProperties":false}},{"name":"commsharbor_template_create","description":"Create a canonical block template draft.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"name":{"type":"string","description":"Template name"},"message_type":{"type":"string","enum":["transactional","marketing"],"description":"What the template may be used for. A marketing campaign will not accept a transactional template."},"subject":{"type":"string","description":"Subject with declared {{variables}}"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Variable name"},"type":{"type":"string","enum":["string","number","date"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false},"description":"Typed variables the template declares: `name`, `type` and whether it is `required`."},"blocks":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Canonical content blocks. This is the stored form — HTML is converted into it, never kept raw."}},"required":["organization_id","name","message_type","subject","variables","blocks"],"additionalProperties":false}},{"name":"commsharbor_template_export","description":"Export the latest published HTML, text and MJML.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"template_id":{"type":"string","description":"Template ID"}},"required":["organization_id","template_id"],"additionalProperties":false}},{"name":"commsharbor_template_get","description":"Read one template.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"template_id":{"type":"string","description":"Template ID"}},"required":["organization_id","template_id"],"additionalProperties":false}},{"name":"commsharbor_template_import_html","description":"Import a safe HTML subset as a draft.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"name":{"type":"string","description":"Template name"},"message_type":{"type":"string","enum":["transactional","marketing"],"description":"What it may be used for."},"subject":{"type":"string","description":"Subject with declared {{variables}}"},"html":{"type":"string","description":"Safe HTML subset"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Variable name"},"type":{"type":"string","enum":["string","number","date"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false}}},"required":["organization_id","name","message_type","subject","html"],"additionalProperties":false}},{"name":"commsharbor_template_preview","description":"Compile and render a safe template preview.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"name":{"type":"string","description":"Template name"},"message_type":{"type":"string","enum":["transactional","marketing"],"description":"What the template may be used for. A marketing campaign will not accept a transactional template."},"subject":{"type":"string","description":"Subject with declared {{variables}}"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Variable name"},"type":{"type":"string","enum":["string","number","date"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false},"description":"Typed variables the template declares: `name`, `type` and whether it is `required`."},"blocks":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Canonical content blocks. This is the stored form — HTML is converted into it, never kept raw."},"values":{"type":"object","additionalProperties":true,"description":"Values to substitute into the declared variables for this preview."}},"required":["organization_id","subject","variables","blocks"],"additionalProperties":false}},{"name":"commsharbor_template_publish","description":"Publish an immutable template version.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"template_id":{"type":"string","description":"Template ID"}},"required":["organization_id","template_id"],"additionalProperties":false}},{"name":"commsharbor_template_update","description":"Update one template draft.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"template_id":{"type":"string","description":"Template ID"},"name":{"type":"string","description":"Template name"},"message_type":{"type":"string","enum":["transactional","marketing"],"description":"What the template may be used for. A marketing campaign will not accept a transactional template."},"subject":{"type":"string","description":"Subject with declared {{variables}}"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Variable name"},"type":{"type":"string","enum":["string","number","date"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false},"description":"Typed variables the template declares: `name`, `type` and whether it is `required`."},"blocks":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Canonical content blocks. This is the stored form — HTML is converted into it, never kept raw."}},"required":["organization_id","template_id"],"additionalProperties":false}},{"name":"commsharbor_template_versions","description":"List immutable versions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"template_id":{"type":"string","description":"Template ID"}},"required":["organization_id","template_id"],"additionalProperties":false}},{"name":"commsharbor_templates","description":"List email templates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"cursor":{"type":"string","description":"Opaque cursor"},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Page size, from 1 to 100.","default":50}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_tracking_domain","description":"Read 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_tracking_domain_create","description":"Register the host that will serve this organization's message links. One per organization; registering never activates it.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"domain":{"type":"string","description":"Tracking host, e.g. links.example.com"}},"required":["organization_id","domain"],"additionalProperties":false}},{"name":"commsharbor_tracking_domain_remove","description":"Remove the tracking domain; NEW messages go back to the platform origin. Links already sent keep pointing at the removed host.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_tracking_domain_verify","description":"Probe 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"commsharbor_webhook_create","description":"Create a webhook and reveal its secret once.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"url":{"type":"string","description":"Public HTTPS URL"},"event_types":{"type":"array","items":{"type":"string"},"description":"Which events to deliver. Delivery feedback: `Delivery`, `DeliveryDelay`, `Bounce`, `Complaint`, `Reject`, `RenderingFailure`, `Open`, `Click`. Campaigns: `campaign.completed`, `campaign.paused`. Inbound: `inbox.message.received` and `inbox.reply.matched`, the reply correlated to the delivery that provoked it."}},"required":["organization_id","url","event_types"],"additionalProperties":false}},{"name":"commsharbor_webhook_deliveries","description":"List webhook retries and outcomes.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"webhook_id":{"type":"string","description":"Webhook endpoint ID"}},"required":["organization_id","webhook_id"],"additionalProperties":false}},{"name":"commsharbor_webhook_disable","description":"Disable a webhook.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"webhook_id":{"type":"string","description":"Webhook endpoint ID"}},"required":["organization_id","webhook_id"],"additionalProperties":false}},{"name":"commsharbor_webhook_get","description":"Read a webhook without its secret.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"},"webhook_id":{"type":"string","description":"Webhook endpoint ID"}},"required":["organization_id","webhook_id"],"additionalProperties":false}},{"name":"commsharbor_webhooks","description":"List webhook endpoints without secrets.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"organization_id":{"type":"string","description":"Active organization ID"}},"required":["organization_id"],"additionalProperties":false}},{"name":"pricing","description":"Current public prices and free allowances; no charge.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-20T11:39:24.668Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:39:24.561Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 395ms"]},"poisoning":{"score":15,"max":15,"notes":["150 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 60 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://commsharbor.com/mcp","reachable":true,"authRequired":false,"latencyMs":395,"serverInfo":{"name":"CommsHarbor","version":"edeb64b6"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://commsharbor.com/favicon.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}