MCP Integration
DMARC Examiner supports the Model Context Protocol (MCP), an open standard that lets AI assistants interact with external tools and data sources. With the MCP integration, you can query your DMARC data directly from AI assistants like Claude Desktop, Claude Code, and Cursor.
What You Can Do
Once connected, you can ask your AI assistant natural-language questions about your DMARC data:
- "Show me all my monitored domains"
- "What's the pass rate on the latest report for example.com?"
- "Are there any critical alerts I should look at?"
- "Export the latest report as CSV"
- "Which countries are sending the most failing emails?"
The AI assistant uses DMARC Examiner's tools behind the scenes to fetch and present the data.
Setup
Claude Desktop
Add the following to your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dmarc-examiner": {
"url": "https://mcp.dmarc-examiner.com/mcp"
}
}
}Restart Claude Desktop after saving.
Claude Code
Run this command in your terminal:
claude mcp add dmarc-examiner --transport http https://mcp.dmarc-examiner.com/mcpCursor
Add to your Cursor MCP settings (Settings > MCP):
{
"mcpServers": {
"dmarc-examiner": {
"url": "https://mcp.dmarc-examiner.com/mcp"
}
}
}Alternative: npx (for clients without remote HTTP support)
If your MCP client doesn't support remote HTTP servers, you can install directly from GitHub:
{
"mcpServers": {
"dmarc-examiner": {
"command": "npx",
"args": ["-y", "github:dmarc-examiner/mcp"]
}
}
}Authorization Flow
The first time you use DMARC Examiner tools in your AI assistant, you'll be guided through an authorization flow:
- Browser opens — Your AI client opens a browser window to the DMARC Examiner authorization page
- Log in — If not already logged in, you'll be asked to sign in to your DMARC Examiner account
- Select organization — Choose which organization's data you want to access
- Approve scopes — Review and approve the permissions the AI assistant is requesting
- Connected — The browser redirects back and your AI assistant is ready to use
Your authorization is stored locally by your MCP client. You won't need to re-authorize unless your token expires or you revoke access.
Scopes
During authorization, you'll be asked to approve one or more scopes. Each scope grants access to specific tools:
| Scope | Description | Tools |
|---|---|---|
domains:read |
View monitored domains | list_domains, get_domain |
reports:read |
View reports and statistics | list_reports, get_report, get_report_statistics |
reports:export |
Export reports to CSV | export_report_csv |
alerts:read |
View alerts | list_alerts |
alerts:manage |
Manage alerts | dismiss_alert |
You can uncheck scopes you don't want to grant. If you later need a tool that requires an unapproved scope, your AI assistant will prompt you to re-authorize with the additional scope.
Available Tools
list_domains
List all monitored domains in your organization.
| Parameter | Type | Required | Description |
|---|---|---|---|
page |
number | No | Page number |
per_page |
number | No | Results per page |
get_domain
Get details of a specific domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain_id |
string | Yes | The domain UUID |
list_reports
List DMARC reports with optional filtering.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain_id |
string | No | Filter by domain |
date_from |
string | No | Start date (ISO 8601) |
date_to |
string | No | End date (ISO 8601) |
page |
number | No | Page number |
get_report
Get a detailed report including all individual records with geolocation.
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id |
string | Yes | The report UUID |
get_report_statistics
Get aggregated statistics for a report, grouped by country, ASN, and authentication result.
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id |
string | Yes | The report UUID |
export_report_csv
Export a report's records as a CSV file.
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id |
string | Yes | The report UUID |
list_alerts
List security alerts with optional filtering.
| Parameter | Type | Required | Description |
|---|---|---|---|
severity |
string | No | Filter: info, warning, critical |
status |
string | No | Filter: pending, sent, dismissed |
page |
number | No | Page number |
dismiss_alert
Dismiss a specific alert.
| Parameter | Type | Required | Description |
|---|---|---|---|
alert_id |
string | Yes | The alert UUID |
Troubleshooting
"Authorization failed" or "401 Unauthorized"
- Make sure you completed the authorization flow in your browser
- Try removing and re-adding the MCP server in your client's settings
- Check that your DMARC Examiner account is active
Tools not appearing
- Restart your AI client after adding the MCP server configuration
- Verify the URL is correct:
https://mcp.dmarc-examiner.com/mcp - Check your client's MCP logs for connection errors
"Insufficient scope" error
You approved the connection without granting all scopes. Re-authorize by removing and re-adding the MCP server, or your AI assistant will automatically prompt you to approve the missing scope.
Connection timeout
- Check your internet connection
- Verify that
mcp.dmarc-examiner.comis reachable - If behind a corporate firewall, ensure outbound HTTPS traffic to port 443 is allowed
Revoking Access
To disconnect your AI assistant from DMARC Examiner:
- Remove the
dmarc-examinerentry from your MCP client's configuration - Restart the client
The access tokens stored locally will no longer be used. Tokens expire automatically after 30 days of inactivity.