Resources

MCP Server

Point an MCP client at https://api.mailneo.co/mcp and an AI assistant can read, analyze and draft in your Mailneo workspace — and structurally cannot send. The server speaks MCP over Streamable HTTP, authenticates with OAuth 2.1, and exposes 29 intent-level tools composed from the v2 API.

Connect from Claude

  1. In Claude: Settings → Connectors → Add custom connector, URL https://api.mailneo.co/mcp.
  2. Claude discovers the OAuth server, registers itself via dynamic client registration, and sends you through the Mailneo consent screen. No client ID or secret to copy.
  3. After consent, the tool list appears. Every tool is scope-gated by what you consented to; a call outside the granted scopes returns a structured insufficient_scope error naming the scope to re-consent with.

To exercise the connection outside Claude — including the full OAuth flow — use the MCP Inspector:

npx @modelcontextprotocol/inspector https://api.mailneo.co/mcp
The MCP surface rides the same access as the API, which is available on the Professional plan and higher. OAuth grants are per-user and per-team; revoking a grant cuts the connector off immediately.

The tools

Tools are intent-level composites, not one-per-endpoint: a single call answers a whole question ("how did these campaigns compare?") instead of forcing the assistant to stitch raw endpoints together. Grouped by what you would ask for:

Orientation — Where am I, and what can this credential do?1
  • get_workspace_info — Team, role, effective scopes, plan usage, connected sending accounts.
Audience — Find, understand and shape who you mail.12
  • find_subscribers — Search newsletter subscribers by email, status or tags.
  • get_subscriber_profile — One subscriber in full: fields, list memberships, suppression state.
  • find_contacts — Search cold-outreach contacts, per-contact engagement included.
  • list_audiences — Every list and saved segment, with ids for the other tools.
  • search_across_audiences — One term across subscribers, lists and segments in a single call.
  • add_subscribers_to_list — Attach existing subscribers to a list by id — never creates one.
  • create_and_populate_list — Create a list, optionally attaching subscribers in the same step.
  • manage_segment — Create, update, inspect or count a saved segment.
  • get_list_overlap — How many subscribers two lists share.
  • get_audience_growth — New subscribers versus unsubscribe events per period.
  • get_suppression_summary — Suppressions by reason and unsubscribes by source over a window.
  • suppress_emails — Put addresses on the do-not-mail list; nothing is deleted.
Insight — How is the sending actually performing?7
  • list_campaigns_with_performance — Campaigns with counters and derived open/click/bounce/reply rates.
  • get_campaign_overview — One campaign in depth, plus its event analytics over a period.
  • get_deliverability_summary — Team-wide sending health and every sending account's status.
  • get_engagement_timeline — Delivery and engagement events per day or week.
  • compare_campaigns — Two to ten campaigns side by side.
  • get_top_content — Best-performing campaigns by a chosen metric.
  • get_newsletter_performance — Newsletters listed, or one newsletter in full.
Drafting — Prepare content — always as drafts.6
  • create_campaign_draft — New campaign, always a DRAFT; cannot send, schedule or arm anything.
  • update_campaign_draft — Edit a draft campaign's fields.
  • get_campaign_readiness — Read-only check of what would block a launch in the app.
  • get_template — Read templates; a single template includes its full HTML body.
  • upsert_template — Create a template, or update one field-by-field.
  • duplicate_template — Copy a template as the starting point for a variant.
Webhooks — Wire Mailneo events into other systems.3
  • list_webhook_endpoints — Registered endpoints; signing secrets are never included.
  • get_webhook_health — Failure counters, auto-disable state, recent delivery errors.
  • create_webhook_endpoint — Register a new endpoint for catalog events.

Safety, by construction

  • No tool on this surface can send email. The drafting tools always produce DRAFTs — nothing can schedule, arm or confirm a send. The capability is absent, not permission-gated.
  • No destructive tools: nothing deletes subscribers, lists, campaigns or templates. Even suppress_emails — the one protective write — deletes nothing; it adds a do-not-mail overlay that every send path skips.
  • No quota-consuming tools: an assistant cannot burn your plan limits on your behalf.
  • Send-tier scopes are structurally non-requestable over OAuth, so no consent screen can even offer them to a connector.

Using it from n8n

In n8n's MCP Client credential, set the endpoint to https://api.mailneo.co/mcp and enable useDynamicClientRegistration — n8n then registers its own OAuth client instead of asking for a client ID and secret, and opens the browser consent flow. Both OAuth discovery conventions resolve to the same documents, so n8n's origin-form probe works as-is. This is separate from the Mailneo community node, which calls the API directly.

ChatGPT

The server is standard MCP over Streamable HTTP, so ChatGPT's developer-mode connectors can point at the same URL with the same OAuth flow. A first-party ChatGPT app built on the Apps SDK is planned but not yet published.