Sendraven MCP Server vs Faithk7 Gmail MCP

A side-by-side look at the Sendraven MCP Server and Faithk7 Gmail MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Sendraven MCP Server logoSendraven MCP ServerCommunication · Local subprocess (stdio)Email for AI agents: send, read replies as threads, run campaigns, with per-key limits.63GoodAuth: not declaredFaithk7 Gmail MCP logoFaithk7 Gmail MCPCommunication · Local subprocess (stdio)Manage Gmail messages, threads, labels, drafts, and settings from your workflows. Send and organiz…59GoodAuth: not declared

Verdict: choose Sendraven MCP Server for communication work as a local process; choose Faithk7 Gmail MCP for communication as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Sendraven MCP Server logoChoose Sendraven MCP Server when

  • You need dedicated capabilities in the Communication domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: SENDRAVEN_API_KEY.
  • You want tools like send_email, list_emails, get_email.
Explore Sendraven MCP Server

Faithk7 Gmail MCP logoChoose Faithk7 Gmail MCP when

  • You need dedicated capabilities in the Communication domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN.
  • You want tools like create_draft, delete_draft, get_draft.
Explore Faithk7 Gmail MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecSendraven MCP Server logoSendraven MCP ServerFaithk7 Gmail MCP logoFaithk7 Gmail MCP
CategoryCommunicationCommunication
Quality signal63/100 · Good59/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsSENDRAVEN_API_KEYCLIENT_IDCLIENT_SECRETREFRESH_TOKEN
Verified ownerCommunity listingCommunity listing
GitHub stars10
Directory activity 3 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools5564

Tools & capabilities

Sendraven MCP Server tools 55

  • send_emailSend a transactional email, immediately or scheduled. scheduled_at takes a relative phrase like 'in 3 days' or an ISO timestamp. The From domain must already be verified. Every accepted send answers with the same fields: id, status, thread_id, scheduled_at, skipped, reason and approval_id. skipped: true (status 'rejected', with reason) means every recipient was suppressed or opted out and nothing was sent; a retry answers the same. status 'pending_approval' (with approval_id) means a person must release it; a retry does not release it. Otherwise skipped is false and reason and approval_id are null. idempotency_key makes a retry of the identical message safe; it matches only the identical message. Refusals, by type: 422 no_verified_identity (the From domain has no verified sending domain; a retry answers the same until it is added and verified); 422 invalid_request (a bad field, or more than 50 recipients across to, cc and bcc, which fit as separate messages or a campaign); 422 unknown_topic; 422 invalid_schedule; 403 recipient_not_allowed (this key's allowlist); 429 daily_limit (this key's daily cap; it resets tomorrow, and a retry today answers the same); four billing refusals, all 402 and none retryable — plan_limit_reached (the Free plan's 3,000 emails a month are spent; a person has to activate paid sending), payment_method_required (the workspace has never had a payment method verified, so no outbound email leaves it at all, including on Free; only a person can add one, in the dashboard), billing_past_due (the payment failed for good) and budget_exceeded (the workspace's own spend ceiling; by default it stops marketing and lets transactional through); 422 workspace_suspended and 422 no_postal_address (a person has to act). 502 ses_error is the provider, and a later retry with the same idempotency_key is safe. get_usage shows which of these applies before a send, and apart from ses_error none clears by repeating the call.
  • list_emailsList messages newest first with their delivery status, including held, scheduled, skipped and failed ones and the mail campaigns and automations sent. Filter by status or recipient. Paged: at most 100 per call; while has_more is true, next_cursor passed back as cursor with the same filters returns the next page. An unknown status is refused with 422 invalid_request rather than answering an empty log.
  • get_emailFetch one message with its full event timeline (send, delivery, bounce, complaint, open, click). The timeline shows why an email didn't arrive.
  • cancel_scheduled_emailCancel a scheduled email before it sends. Only works while status is 'scheduled': a message that has already started sending, or is in any other state, answers 409 invalid_state naming its status; a retry answers the same, and get_email shows where it stands. An unknown id answers 404 not_found.
  • list_sending_domainsList sending domains with their verification status and the DNS records each one needs. Each record shows what is currently published, so this diagnoses a stuck verification. mail_from says whether SES has adopted the bounce. subdomain as the Return-Path: pending while SES polls for its MX record, then active. SES polls for 72 hours from when the domain was added, not from when the MX appears, and then marks it failed; publishing the MX later and calling verify_sending_domain restarts it. A verified domain sends fine meanwhile; only SPF alignment waits.
  • add_sending_domainRegister a sending domain and get back the DNS records to publish. It takes the domain mail is sent from — mail.<domain> and news.<domain> are provisioned beneath it and the right one is chosen per message, so a marketing complaint spike can never affect password reset delivery. risk_class provisions one of the two on its own. Two records come back marked optional: an inbound MX so replies land in threads, and a link. CNAME that turns on click tracking on the customer's own name once its certificate is issued. Adding a domain that already exists returns it rather than a duplicate. A public suffix such as co.uk or github.io is not a domain anyone can send from and is refused with 422 invalid_request; the domain registered under it, e.g. example.co.uk, is accepted. Passing mail.example.co.uk or news.example.co.uk is read as example.co.uk. A plan with no room for another domain answers 402 plan_limit_reached; a retry answers the same until a person upgrades or removes a domain.
  • verify_sending_domainRe-check a domain's DNS records now instead of waiting for the background monitor. Also restarts bounce-path (mail_from) verification when SES gave up before the MX record existed.
  • list_suppressionsList addresses we refuse to mail and why (hard_bounce, complaint, unsubscribe, manual, list_hygiene), newest first, each with its scope. When someone reports not receiving email, this shows whether the address is suppressed. email returns one address's suppressions directly; scanning pages instead is how the wrong suppression gets cleared. At most 100 per call; while has_more is true, next_cursor passed back as cursor returns the next page.
  • add_suppressionStop sending to an address. Scope 'marketing' leaves transactional mail working; the default is 'all'. Reason 'unsubscribe' is a real opt-out: it also cancels the person's queued scheduled sends and ends their automation enrolments, which is what a person who asked to stop expects and 'manual' does not do. A hard bounce or complaint already on file is never replaced; the response is the stored suppression (id, email, reason, scope, detail, created_at), so its reason says which one stands.
  • remove_suppressionRemove a suppression so the address can be mailed again. A hard bounce means the address was rejected by the receiving server, and re-sending raises the bounce rate that AWS enforces on. The scope must match the stored one: removed: false means nothing was suppressed in that scope (an address suppressed for 'marketing' is not lifted by 'all'); list_suppressions with email shows the scope that is stored.
  • create_broadcastCreate a campaign as a draft. Nothing is sent: preview_broadcast reports its reach and send_broadcast sends it. identity_id must be a marketing sending domain (see list_sending_domains; risk_class 'marketing'). topic_key must name an existing topic (list_topics); an unknown one is refused with 422 unknown_topic, since it would count everyone as opted out. A segment_id must filter the same audience as audience_id. An A/B test takes 2 to 10 'variants' that differ in subject, from_name or send_at, and optionally 'ab_test'. A subject or from-name test sends sample_share of the audience (default 0.2) split evenly across the variants, waits decide_after_minutes (default 240) after the sample is out, picks the variant with the best unique open rate (or click rate with metric 'click'), and sends the rest to it. Each variant needs at least 100 recipients in the sample or the send is refused — preview_broadcast shows the number. Metric 'click' only works once the domain has click tracking; until then every variant shows zero clicks and the first variant wins by default. The response's web_version_url is a public page of the campaign (one URL, no recipient's unsubscribe link) to share on a site or social post; null until click tracking is active.
  • get_broadcastOne campaign, with a 'progress' object while it is sending, paused or testing: how many addresses are still pending, sent, failed, or skipped because the person opted out after the campaign started. This is what tells a paused campaign that is still making progress from one that is waiting; pause_reason says on what, and resume_after when a warm-up pause renews. progress is null for a campaign not in flight. For an A/B test, progress.by_variant is a list of { key, pending, sent, failed, skipped } in variant order, ending with a row whose key is null: the addresses still waiting for the winner. An A/B test also carries 'ab_test' with live per-variant results — sent, unique opens, unique clicks and their rates — plus 'decide_at' and, once decided, 'winner' and 'decided_by'. Status 'testing' means the sample is out and the rest of the audience is waiting on the decision.
  • +43 more on the listing page

Faithk7 Gmail MCP tools 64

  • create_draftCreate a draft email in Gmail. Note the mechanics of the raw parameter.
  • delete_draftDelete a draft
  • get_draftGet a specific draft by ID
  • list_draftsList drafts in the user's mailbox
  • send_draftSend an existing draft
  • create_labelCreate a new label
  • delete_labelDelete a label
  • get_labelGet a specific label by ID
  • list_labelsList all labels in the user's mailbox
  • patch_labelPatch an existing label (partial update)
  • update_labelUpdate an existing label
  • batch_delete_messagesDelete multiple messages
  • +52 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Sendraven MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-249": {
      "command": "npx",
      "args": [
        "-y",
        "@sendraven/mcp"
      ],
      "env": {
        "SENDRAVEN_API_KEY": "YOUR_SENDRAVEN_API_KEY_HERE"
      }
    }
  }
}

Faithk7 Gmail MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "faithk7-gmail-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@shinzolabs/gmail-mcp"
      ],
      "env": {
        "CLIENT_ID": "YOUR_CLIENT_ID_HERE",
        "CLIENT_SECRET": "YOUR_CLIENT_SECRET_HERE",
        "REFRESH_TOKEN": "YOUR_REFRESH_TOKEN_HERE"
      }
    }
  }
}

Frequently asked questions

Sendraven MCP Server is categorized under Communication and uses a local stdio subprocess. Faithk7 Gmail MCP belongs to Communication and uses a local stdio subprocess. Pick Sendraven MCP Server for communication work and Faithk7 Gmail MCP for communication.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Sendraven MCP Server has no declared pricing — check the project's own site. Faithk7 Gmail MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add mcp-249 and faithk7-gmail-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Sendraven MCP Server has a quality signal of 63/100 (Good) with 3 views, 0 installs and 1 GitHub stars. Faithk7 Gmail MCP has 59/100 (Good) with 2 views, 0 installs and 0 GitHub stars.