Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.commsharbor/commsharbor

REMOTE · COMMSHARBOR.COM

Domain email and webmail: set up domains, mailboxes and aliases, and check DNS verification.

Available components

+2 this week 67 Trust /100

Last scanned (2 hours ago)

Scores higher than 53% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Communication

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4340 tokens (~114/item across 38 items; 38 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management6
  • Stability check failed: schema churn in the 30 days we've observed: 130 tool removals, 0 breaking changes, 0 auth/transport breaks, 29 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 39 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Server version: 9917d943 → d2c25c76 functional
  • 4 Nov 26 +2
    • The server rewrote its instructions, which are the text every model session reads security
    • The server now declares the “prompts” capability functional
    • First check of Schema quality: 100 functional
    • New prompt “email_google_import” functional
    • New prompt “email_security” functional
    • New prompt “email_setup” functional
    • New prompt “mailbox_create” functional
    • New prompt “mailbox_inventory” functional
    • Server version: 5a4f32c1 → 9917d943 functional
  • 3 Nov 26 0
    • Server version: a81f9e37 → 5a4f32c1 functional
  • 2 Nov 26 −1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “commsharbor_email_workspace” rewrote its description, which is the text the model reads security
    • Tool “get_api_x402_email_check” rewrote its description, which is the text the model reads security
    • Server version: abee796d → a81f9e37 functional
  • 1 Nov 26 0
    • Server version: b48c6e84 → abee796d functional
  • 31 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “commsharbor_email_domain_products_add” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_domain_products_list” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_domain_setup” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_google_catalog” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_google_connect” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_google_disconnect” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_google_resolve” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_security_check” rewrote its description, which is the text the model reads security
    • Tool “commsharbor_email_trial_activate” rewrote its description, which is the text the model reads security
    • Schema quality: pass → fail ▼ functional
    • Server version: 84f2e158 → b48c6e84 functional
    • New tool “commsharbor_billing_catalog” functional
    • New tool “commsharbor_email_plans” functional
    • New tool “get_api_x402_email_check” functional
    • New tool “pricing” functional
    • “commsharbor_email_domain_setup” reworded the description of “domain” cosmetic
  • 30 Oct 26 0
    • Server version: 67297ff2 → 84f2e158 functional
  • 29 Oct 26 0
    • Server version: 31197832 → 67297ff2 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://commsharbor.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=commsharbor.com CN=YE1,O=Let's Encrypt,C=US 23 Sept 2026 22 Dec 2026 ECDSA 256 ECDSA-SHA384 6eb18ddd786d29f90bbeb0db8c5c76e078c
SANs: commsharbor.com, links.commsharbor.com, www.commsharbor.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of commsharbor.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
commsharbor.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains
x-content-type-options nosniff
referrer-policy no-referrer

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://commsharbor.com/mcp Verified 200
http (plaintext) http://commsharbor.com/mcp HTTPS enforced 301 https://commsharbor.com/mcp
MCP tools · 38 exposed · ~3,750 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
commsharbor_audit ~50

List tenant audit events. Audit records are never rewritten and never carry recipient PII.

NameTypeReqDescription
cursorstring–Opaque cursor
organization_idstringyesActive organization ID

No output schema declared.

No examples provided.

commsharbor_billing_catalog ~22

Read plans, prices and x402 network.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

commsharbor_brazil_email_report ~181

Read the monthly Brazil email security report: how many domains of city halls, state and federal government, banks and listed companies reject fake email (DMARC p=reject) and how they end SPF. Totals only, public DNS. Free, no account. Public DNS only, read once a month. The sample is built from Brazil's open company registry (Receita Federal, the email of each active head office) and the CVM register of listed companies. Only totals: no domain is listed. A share is `count / (com_mx - dmarc.nao_lido)`; domains without MX are left out. Only the DMARC policy classifies; SPF is counted but does not change the class. `percent` rounds each group to 100 by the largest remainder, the same rule as the page.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

commsharbor_context ~58

Resolve the active organization identity. Read this before a write when you are not certain which tenant is active. Guessing is how data lands in the wrong organization. An organization API key answers `kind: api_key` with its scopes.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

commsharbor_email_alias_create ~130

Create an alias to existing mailboxes in this organization. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
destinationsarrayyesExisting mailbox addresses in this organization.
domain_idstringyesDomain ID from the workspace, where the alias is created.
idempotency_keystringyesStable key for this request
local_partstringyesAlias name before @.
organization_idstringyesOrganization ID

No output schema declared.

No examples provided.

commsharbor_email_alias_resume ~95

Restore a suspended alias without changing its destinations. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_alias_suspend ~94

Suspend an alias without deleting its configuration. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_alias_update ~104

Change the alias destinations within this organization. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
destinationsarrayyesExisting mailbox addresses.
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_domain_assistance ~111

Request assisted DNS setup. The durable request waits for operator activation. It does not change DNS or expose a provider credential. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_domain_create ~93

Register a domain and its ownership challenge. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
domainstringyesExact domain name.
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID

No output schema declared.

No examples provided.

commsharbor_email_domain_get ~81

Read domain setup, DNS records and observed readiness. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_domain_products_add ~124

Read or associate PageAudit and HookPulse with a domain in this organization. Native product access must be enabled. Creates no subscription, project or monitor. The private email backend confirms domain ownership in this organization. Selected native products must already be enabled. Association is idempotent. It does not create a PageAudit project, HookPulse monitor or paid subscription.

NameTypeReqDescription
organization_idstringyesOrganization ID
resource_idstringyesEmail domain ID
servicesarrayyesAt most two unique values: pageaudit and hookpulse.

No output schema declared.

No examples provided.

commsharbor_email_domain_products_list ~106

Read or associate PageAudit and HookPulse with a domain in this organization. Native product access must be enabled. Creates no subscription, project or monitor. The private email backend confirms domain ownership in this organization. Selected native products must already be enabled. Association is idempotent. It does not create a PageAudit project, HookPulse monitor or paid subscription.

NameTypeReqDescription
organization_idstringyesOrganization ID
resource_idstringyesEmail domain ID

No output schema declared.

No examples provided.

commsharbor_email_domain_setup ~119

Find an existing domain. Use it before a purchase. Return its organization and domain IDs only when this exact caller can open that organization. Otherwise return existing: null. This read creates no charge or job. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
domainstringyesDomain to check before purchase, at most 253 characters
organization_idstringyesOrganization ID

No output schema declared.

No examples provided.

commsharbor_email_domain_verify ~96

Queue a check of ownership, DNS and certificates. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_google_catalog ~109

Read authorized Google metadata. This does not prove DNS ownership. Requires the owner's account session; an organization key cannot authorize Google access. Requires an account session in this organization. Reads site metadata only. Google access and refresh tokens remain encrypted on the server. This does not change DNS, buy a subscription or grant another product access to Google data.

NameTypeReqDescription
organization_idstringyesOrganization ID
servicestringyessearch_console or analytics. Each connection has its own consent.

No output schema declared.

No examples provided.

commsharbor_email_google_connect ~129

Start five-minute Google consent with PKCE. Return an authorization URL. Signing in does not grant this access. Requires the owner's account session; an organization key cannot authorize Google access. Requires an account session in this organization. Reads site metadata only. Google access and refresh tokens remain encrypted on the server. This does not change DNS, buy a subscription or grant another product access to Google data.

NameTypeReqDescription
languagestring–Consent return language.
organization_idstringyesOrganization ID
servicestringyessearch_console or analytics. Each connection has its own consent.

No output schema declared.

No examples provided.

commsharbor_email_google_disconnect ~116

Remove this product's saved Google connection and pending consent. Existing email and service resources remain intact. Requires the owner's account session; an organization key cannot authorize Google access. Requires an account session in this organization. Reads site metadata only. Google access and refresh tokens remain encrypted on the server. This does not change DNS, buy a subscription or grant another product access to Google data.

NameTypeReqDescription
organization_idstringyesOrganization ID
servicestringyessearch_console or analytics. Each connection has its own consent.

No output schema declared.

No examples provided.

commsharbor_email_google_resolve ~140

Resolve website addresses for up to 20 selected Analytics properties. Search Console does not use this route. Requires the owner's account session; an organization key cannot authorize Google access. Requires an account session in this organization. Reads site metadata only. Google access and refresh tokens remain encrypted on the server. This does not change DNS, buy a subscription or grant another product access to Google data.

NameTypeReqDescription
organization_idstringyesOrganization ID
propertiesarrayyesAuthorized properties/ID values from the catalog, at most 20 unique entries.
servicestringyessearch_console or analytics. Each connection has its own consent.

No output schema declared.

No examples provided.

commsharbor_email_job_get ~79

Read one durable job in this organization. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_mailbox_create ~133

Create a mailbox within the current allowance. Trial mailboxes share 1 GB and cannot send email. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
domain_idstringyesDomain ID from the workspace.
idempotency_keystringyesStable key for this request
local_partstringyesMailbox name before @.
namestringyesMailbox display name.
organization_idstringyesOrganization ID

No output schema declared.

No examples provided.

commsharbor_email_mailbox_password ~125

Set the mailbox password. It is encrypted for the executor and is never returned. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
passwordstringyesNew mailbox password: 14 to 128 characters, with no control characters.
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_mailbox_resume ~92

Restore suspended mailbox access. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_mailbox_suspend ~94

Suspend access while preserving mailbox data. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_mailbox_update ~164

Change mailbox name or quota within the plan. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
files_quota_mbinteger–File allowance in MiB. The sum of mailbox allowances must fit files_gb in the plan. Zero disables files. Existing files are preserved.
idempotency_keystringyesStable key for this request
namestring–Display name.
organization_idstringyesOrganization ID
quota_mbinteger–Quota in MiB. Must fit the plan and current usage.
resource_idstringyesEmail resource ID

No output schema declared.

No examples provided.

commsharbor_email_plans ~20

Read email plans and storage allowances.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

commsharbor_email_security_check ~180

Check whether someone can send email as a domain: SPF, DKIM in common selectors, DMARC, MX, MTA-STS and BIMI, with a 0-100 score and the fixes, most severe first. Public DNS only. Free, no account. Public DNS only, no account and no charge. The same domain is served from memory for 10 minutes. A network can run 30 new checks per day. DKIM is looked up in common selectors only; `dkim_not_found` does not prove that no key exists. `incomplete: true` means a DNS answer failed and the score can be lower than the real one; `unread` names those parts, and a failed query never becomes a missing finding.

NameTypeReqDescription
domainstringyesDomain to check, such as example.com

No output schema declared.

No examples provided.

commsharbor_email_service_request ~97

Request an included service with activation on demand. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID
servicestringyesService code from the plan catalog.

No output schema declared.

No examples provided.

commsharbor_email_trial_activate ~145

Start the free receive-only Trial for 7 days, once per organization: 1 GB shared storage, unlimited mailboxes and no outgoing SMTP or external filter forwarding. No card, renewal or charge. After 7 days, writes without a paid plan answer 402 `email_trial_expired`. Requires a new workspace and operator-proved native quota. No guest access. Members can read. Owners, admins and organization keys can manage email. The private service credential stays on the server. Mailbox passwords and message content are never returned.

NameTypeReqDescription
idempotency_keystringyesStable key for this request
organization_idstringyesOrganization ID

No output schema declared.

No examples provided.

commsharbor_email_workspace ~82

Read the email workspace. We operate the mail server and webmail. Your agent manages the authorized domains and mailboxes through the existing service. Check checkout_live, domain readiness and observed sending capability. A payment or accepted job alone does not prove activation or delivery. Enterprise services can require activation on demand.

NameTypeReqDescription
organization_idstringyesOrganization ID

No output schema declared.

No examples provided.

commsharbor_email_workspace_snapshot ~86

Read the current email workspace, DNS progress and recent jobs. The ID must match X-Organization-Id. Membership is checked again for each snapshot and delivered event. Events contain only an opaque change ID. DNS checks run in the private backend, with a 24-hour deadline and a visible resume action after pause.

NameTypeReqDescription
idstringyesSelected organization ID

No output schema declared.

No examples provided.

commsharbor_health ~33

Read deployment health and build. Smoke tests wait for their own commit to appear here instead of racing edge propagation.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

commsharbor_logout ~35

Revoke the current session. Bootstrap/CSRF must belong to this browser and session. Other product sessions remain active.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

commsharbor_me ~70

Read the current account profile and platform role. `user.id` is the shared-account ID. Organizations are not listed here: they live in the shared account, which does not list them inside products yet — open a workspace by its ID with `GET /api/organizations/{organization_id}`.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

commsharbor_organization_get ~83

Open an organization by id: name, your role and the CommsHarbor plan. This is how a workspace is opened. Name and role come from the shared account (null with an organization API key, which carries neither); the plan is the organization's global entitlement in CommsHarbor.

NameTypeReqDescription
organization_idstringyesActive organization ID

No output schema declared.

No examples provided.

commsharbor_platform_context ~34

Confirm the caller's platform role. Tenant ownership grants nothing here: platform access is a separate, explicit grant.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_api_x402_email_check ~223

Checks the email security of a domain for an agent, paid per call: SPF, DKIM, DMARC, MX and a score, with no account. The check of `GET /api/email-check`, sold per call to agents, with no account and without the 30 free checks per day before. A request without payment gets the 402 with the price; a paid one gets the audit in the same response, with the payment in `cobranca`. DKIM is looked up in common selectors only; `incomplete: true` means a DNS answer failed. A refused domain, the hourly limit of the service and a failed DNS lookup are not charged. DNS lookups, record parsing and assembling the domain's email-policy findings. DKIM checks common selectors only. Inspect incomplete and unread. A score does not prove inbox placement, stop every phishing attack or verify the contents of a mailbox.

NameTypeReqDescription
domainstringyesPublic domain to check, such as example.com. A subdomain or URL is reduced to its registrable domain.

No output schema declared.

No examples provided.

pricing ~17

Current public prices and free allowances; no charge.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Install

How do I install the com.commsharbor/commsharbor MCP server?

com.commsharbor/commsharbor is a hosted endpoint at https://commsharbor.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · commsharbor.com

# add to Claude Code
claude mcp add --transport http com-commsharbor-commsharbor 'https://commsharbor.com/mcp'
Common questions

What is the com.commsharbor/commsharbor MCP server?

com.commsharbor/commsharbor is an MCP server listed in the public MCP registry as com.commsharbor/commsharbor. Domain email and webmail: set up domains, mailboxes and aliases, and check DNS verification. This page covers its hosted endpoint (https://commsharbor.com/mcp).

Is the com.commsharbor/commsharbor MCP server safe to use?

com.commsharbor/commsharbor scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.commsharbor/commsharbor MCP server expose?

com.commsharbor/commsharbor exposes 38 tools: commsharbor_health, commsharbor_logout, commsharbor_me, commsharbor_context, commsharbor_organization_get, and 33 more. Their descriptions and schemas cost roughly 3,750 tokens of context every time the server is loaded.

Does the com.commsharbor/commsharbor MCP server require authentication?

No. We connected to com.commsharbor/commsharbor without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the com.commsharbor/commsharbor MCP server still maintained?

com.commsharbor/commsharbor is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.