Skip to main content

winnr-mcp

MCP server for the Winnr email infrastructure API.

Full documentation below. This README is also the primary docs for the package.


What is this?

An MCP (Model Context Protocol) server that lets AI assistants like Claude, Cursor, and Windsurf manage your Winnr email infrastructure through natural language.

53 tools covering:

  • Domain management (search, purchase, connect, DNS verification)
  • Email user/mailbox provisioning (create, update, delete, bulk)
  • Inbox operations (list, read, send, refresh)
  • Email warming (enable, pause, resume, metrics)
  • Pre-warmed marketplace (browse and buy aged, already-warmed domains)
  • Job tracking (async operation monitoring)
  • Data export (CSV for Smartlead, Instantly, Snov, etc.)
  • Webhooks (create, test, rotate secrets, inspect deliveries)

Quick Start

1. Get your API token

Sign up at app.winnr.app, go to Settings → API Tokens, and create a token.

2. Configure your AI assistant

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "winnr": {
      "command": "uvx",
      "args": ["winnr-mcp"],
      "env": {
        "WINNR_API_TOKEN": "wnr_your_token_here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "winnr": {
      "command": "uvx",
      "args": ["winnr-mcp"],
      "env": {
        "WINNR_API_TOKEN": "wnr_your_token_here"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "winnr": {
      "command": "uvx",
      "args": ["winnr-mcp"],
      "env": {
        "WINNR_API_TOKEN": "wnr_your_token_here"
      }
    }
  }
}

Claude Code

claude mcp add winnr -- env WINNR_API_TOKEN=wnr_your_token_here uvx winnr-mcp

Want guided workflows? Install Winnr Claude Code Skills for slash commands like /winnr setup, /winnr health, and /winnr export:

curl -sL https://raw.githubusercontent.com/winnr-app/winnr-claude-skills/main/install.sh | bash

3. Alternative: pip install

pip install winnr-mcp
WINNR_API_TOKEN=wnr_xxx winnr-mcp

Or run directly without installing:

WINNR_API_TOKEN=wnr_xxx uvx winnr-mcp

Configuration

Source Variable Description
Env var WINNR_API_TOKEN Required. Your Winnr API token (wnr_*)
Env var WINNR_API_URL API base URL (default: https://api.winnr.app)
Env var WINNR_TIMEOUT HTTP timeout in seconds (default: 30)
CLI arg --token Override WINNR_API_TOKEN
CLI arg --api-url Override WINNR_API_URL
CLI arg --timeout Override WINNR_TIMEOUT

CLI args take precedence over environment variables.

Tools Reference

Account

Tool Description
winnr_get_account Get account details (plan, limits, subscription)
winnr_get_usage Get current usage vs. plan limits

Domains

Tool Description Permission
winnr_list_domains List all domains (paginated) read
winnr_get_domain Get domain details read
winnr_search_domains Check single domain availability read
winnr_search_domains_bulk Bulk availability check (up to 100) read
winnr_suggest_domains Get domain suggestions for a keyword read
winnr_purchase_domains Purchase + setup domains (charges Stripe card) write
winnr_setup_domain Queue domain setup (no purchase) write
winnr_connect_domains Connect external domains write
winnr_delete_domain Delete a domain write
winnr_tag_domains Add/remove/replace tags on domains write
winnr_get_dns_status Check DNS propagation read
winnr_get_dns_records Get expected DNS records read
winnr_verify_dns Verify DNS via live lookup write
winnr_check_nameservers Verify nameserver pointing write

Email Users

Tool Description Permission
winnr_list_email_users List mailboxes (filterable by domain) read
winnr_get_email_user Get mailbox details read
winnr_create_email_user Create a mailbox write
winnr_update_email_user Update name/password write
winnr_delete_email_user Delete a mailbox write
winnr_bulk_create_email_users Create up to 100 mailboxes write

Inbox

Tool Description Permission
winnr_list_inbox List messages (date/mailbox filterable) read
winnr_get_message_body Get full email body read
winnr_send_email Send an email from a mailbox write
winnr_refresh_inbox Trigger inbox sync write
winnr_delete_message Delete a message write

Warming

Tool Description Permission
winnr_list_warming List warming-enabled mailboxes read
winnr_get_warming_overview Aggregate warming stats read
winnr_get_warming_metrics Daily metrics for a mailbox read
winnr_enable_warming Enable warming ($0.60/mailbox/mo) write
winnr_disable_warming Disable warming write
winnr_pause_warming Pause warming write
winnr_resume_warming Resume warming write
winnr_update_warming_settings Update volume/ramp-up/reply rate write

Pre-warmed Marketplace

Aged domains whose mailboxes have already been warming, so they can send immediately. Billed at $3/address/month with a 90-day minimum term; the domain is included. Requires the marketplace to be enabled on your account.

Tool Description Permission
winnr_browse_prewarmed Browse available pre-warmed domains read
winnr_get_prewarmed_domain Detail + per-address health scores read
winnr_check_prewarmed_blocklist Live blocklist re-check (9 lists) read
winnr_list_my_prewarmed List purchased pre-warmed domains read
winnr_purchase_prewarmed Buy one domain ($3/addr/mo) write
winnr_purchase_prewarmed_batch Buy up to 25 domains as one charge write
winnr_cancel_prewarmed Cancel after the 90-day term write

Inventory is finite and shared across customers. A listing can be claimed by another buyer at any moment, so treat a conflict error on purchase as "already sold" and move to the next candidate rather than retrying the same domain.

Jobs

Tool Description Permission
winnr_list_jobs List recent async jobs read
winnr_get_job Get job status/progress read

Export

Tool Description Permission
winnr_export_email_users Export to CSV (15+ formats) read

Webhooks

Tool Description Permission
winnr_list_webhooks List webhook endpoints read
winnr_get_webhook_deliveries Recent delivery attempts for a webhook read
winnr_create_webhook Create a webhook (response includes signing secret) write
winnr_update_webhook Update URL/events/description/status write
winnr_delete_webhook Delete a webhook write
winnr_test_webhook Send a test.ping event write
winnr_get_webhook_secret Retrieve the signing secret (sensitive) write
winnr_rotate_webhook_secret Rotate secret (old valid 24h) write

Security

Token-based authentication

All requests use your Winnr API token. Tokens are scoped to your account and can be revoked instantly from the dashboard.

Permission gating

If your API token has read-only permissions, write tools (create, update, delete, send) are completely hidden — the AI assistant won't even see them.

Rate limiting

Same limits as the REST API:

  • Startup plan: 300 requests/minute
  • Enterprise plan: 500 requests/minute

The server tracks rate limit headers and warns when you're running low.

Data protection

  • Passwords are never echoed in tool responses
  • Email bodies are truncated to 10K characters to prevent context overflow
  • Your API token is never logged or included in error messages

Development

git clone https://github.com/winnr-app/winnr-mcp.git
cd winnr-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

winnr_mcp-0.4.0.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

winnr_mcp-0.4.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file winnr_mcp-0.4.0.tar.gz.

File metadata

  • Download URL: winnr_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for winnr_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 ac28ea2dbecc5d9cc2d33443eab15436a18794624c23cee6d873800f3d407e2d
MD5 c8072998f2056ee427e668a83744c3b9
BLAKE2b-256 28db3eb1ef410f71d382d883428c4c26182eebf2e7f1bcada58bc7915bd84574

See more details on using hashes here.

File details

Details for the file winnr_mcp-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: winnr_mcp-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for winnr_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87c863c77395b0f0727d703e714d912f39828233e8282835330d86ae6a67cd8a
MD5 4ca0fb9e64abef49e19e0a961cedc29e
BLAKE2b-256 aaef21a83172611ecd3c094bd9ba9e8f9882a7d799e9b200283502775581cdb6

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.1

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

This release

0.4.0 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page