MCP8 min read

MCP server for deliverability: test from your IDE

Model Context Protocol lets you put tools directly into Claude Desktop, Cursor or Zed. Our MCP server exposes inbox placement testing, SPF/DKIM/ DMARC checks and DNSBL scans as tools the agent can call during normal work.

Debugging email deliverability used to mean alt-tabbing between an MXToolbox window, a blacklist checker, a placement test dashboard, a DMARC aggregator, and the terminal running dig. With MCP that workflow collapses into one conversation. You ask Claude "why is mail to Gmail landing in Promotions?" and it runs the checks, reads the output, and writes the fix into your config files.

This article shows you how to install ldm-inbox-check-mcp, wire it into Claude Desktop and Cursor, and what the six tools it exposes actually do. It is free, open-source, and takes three minutes to set up.

What is MCP, in one paragraph

Model Context Protocol is an open standard (initiated by Anthropic, adopted by Cursor, Zed, Windsurf and others) that lets any LLM frontend call tools served by any backend, over a standardised JSON-RPC interface. The agent sees a list of tools with names and argument schemas, and can call them when useful. From your side, it feels exactly like the LLM gained a few superpowers — in reality it is calling a local process or a remote server on your behalf.

The six tools our server exposes

The server wraps our free placement-test API plus a few ambient checks. Each tool has a clear name and a focused argument shape so the agent picks the right one without coaching:

  1. start_test — start an inbox placement test. Arguments: from, optional providers array. Returns the check ID and seed addresses.
  2. get_test — fetch the final report for a check ID. Returns per-provider folder placement, auth verdicts, content score.
  3. list_providers — list the seed mailboxes available. Handy when the agent wants to offer the user a choice.
  4. check_auth — one-shot SPF + DKIM + DMARC lookup for a domain. Replaces 90% of MXToolbox manual work.
  5. check_blacklist — DNSBL scan across 50+ lists for an IP or domain. Returns list names and the TXT response for each hit.
  6. check_headers — paste a raw email header block; the tool extracts Received chain, auth results, content score and reports timings.

Install: one line

The server is published as ldm-inbox-check-mcp on npm and in the MCP Registry. You do not need to clone anything — npx handles the install:

# Smoke test in a terminal (optional)
npx -y ldm-inbox-check-mcp --help

# That's it. Go to the Claude or Cursor config below.

Claude Desktop setup

Open Claude Desktop, go to Settings → Developer → Edit Config. That opens claude_desktop_config.json. Add the server under mcpServers:

{
  "mcpServers": {
    "inbox-check": {
      "command": "npx",
      "args": ["-y", "ldm-inbox-check-mcp"],
      "env": {
        "INBOX_CHECK_API_KEY": "optional-for-free-tier"
      }
    }
  }
}

Restart Claude Desktop. In any new conversation, you'll see the six tools listed when you click the tools icon. Ask the agent to run one and it will.

Free tier without an API key

If you leave INBOX_CHECK_API_KEY empty, the server falls back to the anonymous free tier (5 tests per hour per IP). Good for trying it out. Set a real key from your dashboard to lift the limit to 20/day.

Cursor setup

Cursor reads MCP config from ~/.cursor/mcp.json (or Settings → MCP in recent versions). Same shape, same npm package:

{
  "mcpServers": {
    "inbox-check": {
      "command": "npx",
      "args": ["-y", "ldm-inbox-check-mcp"],
      "env": {
        "INBOX_CHECK_API_KEY": "your-key-here"
      }
    }
  }
}

Restart Cursor. In the composer sidebar, the tools show up under "Available tools". You can mention them explicitly in a prompt — "use check_auth to verify example.com" — or let the agent pick.

A sample agent prompt

The point of MCP isn't one-off tool calls — it's letting the agent compose them into real debugging work. Try this in Claude Desktop after installing:

Prompt

"Audit our cold-email sender hello@acmecorp.com. Check SPF, DKIM and DMARC, run a placement test to Gmail, Outlook and Yahoo, and check if the sending IP 203.0.113.45 is on any blacklists. If you find problems, tell me the priority order to fix them."

The agent will (observed on a typical run) call check_auth first, notice SPF is missing include:sendgrid.net, call check_blacklist on the IP, call start_test and wait for get_test, then write a ranked fix list with the SPF record change as the number-one action. Three minutes, zero dashboards.

Why MCP beats a plain REST wrapper

Every MCP tool is also a REST endpoint on our side. You could call the same API from a shell script or a Python wrapper, and many people do. So what does MCP add?

  • Inline context. The agent already has your codebase open, your DNS zone file, your ESP docs. It can cross-reference a placement result with the config line that caused it.
  • No switching cost. You debug email inside the same conversation where you debug code. The mental model doesn't break.
  • Composition. The agent chains tools — run a placement test, see a Spam verdict, automatically check auth to find why, query DNSBL for the source IP — without you scripting the pipeline.
  • Human-readable output. MCP tool results are rendered in the conversation as structured blocks. You don't grep JSON — the agent summarises.

GlockApps doesn't offer MCP

As of this writing GlockApps has no MCP server, and their API is paid-only. If the agent workflow appeals to you, their API can in principle be wrapped into an MCP server, but you'd be paying them $59/mo to have the privilege of doing the integration work yourself. Our server is free, open-source, and shipped.

Troubleshooting quick hits

  1. Tools don't appear in Claude Desktop. Fully quit and relaunch (not just close the window). Check ~/Library/Logs/Claude/mcp*.log on macOS for startup errors.
  2. npx fails with ENOENT. Ensure Node 18+ is on your PATH. Claude Desktop launches sub-processes with your shell's PATH, so which node in your terminal must resolve.
  3. Rate limit errors without an API key. That's the anonymous tier. Sign up, grab a key, set INBOX_CHECK_API_KEY.

Frequently asked questions

Does the server run locally or call your servers?

The npm package is a thin client. It runs locally and calls our API at check.live-direct-marketing.online. DNS lookups (check_auth, check_blacklist) happen on our side so the tool doesn't depend on your network reaching obscure DNSBLs.

Can I use this with Zed or Windsurf instead of Claude Desktop?

Yes — anything that speaks MCP. The configuration format is identical. Zed places it in ~/.config/zed/settings.json under the mcpServers key; Windsurf follows the Claude Desktop convention.

Is there a security risk in letting an agent run network tools?

The six tools are read-only — they don't mutate your DNS, your ESP config or your sending. The worst the agent can do is consume your daily test quota. We recommend running with a dedicated API key you can rotate.

Can I self-host the MCP server behind our VPN?

The npm package is open source. You can fork it, change the API base URL to your own relay, and run it offline. That said, the deliverability APIs still need to reach real seed mailboxes, so pure air-gapped use isn't possible.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required