Connect DMARKOFF to Your AI Assistant — MCP Setup Guide

Connecting DMARKOFF MCP to AI Assistants


MCP Endpoint: https://mcp.dmarkoff.com/mcp
You will need: an API key from your DMARKOFF account — app.dmarkoff.com/account/mcp
 
Prerequisite: You must have an active DMARKOFF account with at least one monitored project. The AI assistant queries live data from your account — domains, DMARC reports, and analytics that are already collected by DMARKOFF.



Claude.ai (web and mobile)


Claude.ai supports remote MCP servers through its Connectors interface. Available on Free (1 custom connector only), Pro, Max, Team, and Enterprise plans.
 

  1. Go to Settings → Connectors.

  2. Click Add custom connector (on Team/Enterprise plans this must be done by an Owner or Primary Owner).

  3. Enter the remote MCP server URL: https://mcp.dmarkoff.com/mcp

  4. Click Advanced settings and fill in:

    • OAuth Client ID — enter any value (e.g. claude)
    • OAuth Client Secret — enter your DMARKOFF API key
  5. Click Add, then Connect to complete authorization.

  6. The integration will appear in your active connectors list. Start a new chat and ask: "Show me my projects".
    The server implements OAuth 2.1 (RFC 8414, RFC 9728). Claude.ai automatically discovers the authorization endpoints via /.well-known/oauth-authorization-server.



Claude Desktop


Claude Desktop supports remote MCP servers in two ways: through the built-in Connectors UI and through a configuration file.

 
Option 1: Via the Connectors UI (recommended)

  1. In the chat window, click the + button, then select Connectors → Manage Connectors.
  2. Click Add custom connector and paste the URL: https://mcp.dmarkoff.com/mcp
  3. Complete the OAuth authorization flow (same as Claude.ai).

Option 2: Via the configuration file

  1. Open the Claude Desktop config file:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the following entry:
{ "mcpServers": { "dmarkoff": { "command": "npx", "args": [ "mcp-remote", "https://mcp.dmarkoff.com/mcp", "--header", "Authorization: Bearer YOUR_API_KEY" ] } } }

Note: For remote servers with header-based authentication, Claude Desktop requires the mcp-remote proxy utility (Node.js v18+ must be installed).

  1. Completely quit and restart Claude Desktop. The connectors icon with DMARKOFF tools will appear in the chat panel.


Claude Code (CLI)


Claude Code supports adding MCP servers directly from the command line.

claude mcp add --transport http dmarkoff https://mcp.dmarkoff.com/mcp \ --header "Authorization: Bearer YOUR_API_KEY"

If you have already connected DMARKOFF via Claude.ai (Settings → Connectors), the server will be automatically available in Claude Code as well — no additional setup required.

To verify connected servers: claude mcp list



Cursor


Cursor supports MCP servers through the IDE settings and configuration files. Streamable HTTP transport is supported.
 
Option 1: Via Settings UI

  1. Open Cursor Settings → Tools & MCP.
  2. Click Add new MCP server.
  3. Select type Streamable HTTP and fill in:
    • Name: DMARKOFF
    • URL: https://mcp.dmarkoff.com/mcp
  4. Click Save.

Option 2: Via config file

  1. Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project root):
{ "mcpServers": { "dmarkoff": { "url": "https://mcp.dmarkoff.com/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
  1. Restart Cursor. Tools will be available in Agent mode (Cmd+I → Agent).

Example prompt in Cursor:

@dmarkoff Show all Critical domains in project 12345


ChatGPT


ChatGPT supports MCP servers through Apps (formerly called "Connectors"). Full MCP support (including write operations) is available on Business, Enterprise, and Edu plans via Developer Mode.
 
Business / Enterprise / Edu plans

  1. Enable Developer Mode: Workspace Settings → Permissions & Roles → Developer Mode.
  2. Go to Settings → Apps → Create App (or configure via Workspace Settings → Apps).
  3. Set the connection parameters:
    • MCP Server URL: https://mcp.dmarkoff.com/mcp
    • Auth type: OAuth
    • Client ID: chatgpt
    • Client Secret: your DMARKOFF API key
    • Authorization URL: https://mcp.dmarkoff.com/oauth/authorize
    • Token URL: https://mcp.dmarkoff.com/oauth/token
    • Scope: dmarc:read
  4. Publish the App for your workspace.
  5. Start a chat, select the App from the list, and ask a question.

Plus / Pro plans
Limited MCP support is available on Plus and Pro plans via Developer Mode (beta), provided the server implements search and fetch tools. Check the latest status in the OpenAI documentation.



Windsurf (Codeium)


Windsurf supports MCP through its Cascade AI agent. Supported transports: stdio, Streamable HTTP, and SSE.
 
Option 1: Via MCP Marketplace

  1. Click the MCPs icon in the top-right corner of the Cascade panel.
  2. If DMARKOFF is available in the catalog, install it with one click. Otherwise, click Configure for manual setup.

Option 2: Via config file

  1. Open the configuration file:
    • macOS/Linux: ~/.codeium/windsurf/mcp_config.json
    • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
    • Create the file if it does not exist.
  2. Add the following configuration:
{ "mcpServers": { "dmarkoff": { "serverUrl": "https://mcp.dmarkoff.com/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }

Important: Windsurf uses the serverUrl key (not url) for remote HTTP servers. Environment variable interpolation is also supported: "Authorization": "Bearer ${env:DMARKOFF_API_KEY}".

  1. Restart Windsurf. Tools will appear in the Cascade panel.


Continue.dev


Continue.dev supports MCP servers via YAML configuration. MCP only works in Agent Mode.
 
Option 1: Standalone MCP server file

  1. Create a .continue/mcpServers/ folder in your workspace root (if it doesn't exist).
  2. Add a file called dmarkoff.yaml:
name: DMARKOFF MCP Server version: 0.0.1 schema: v1 mcpServers: - name: DMARKOFF type: streamable-http url: https://mcp.dmarkoff.com/mcp headers: Authorization: Bearer YOUR_API_KEY

Option 2: Via the main config.yaml

  1. Add to your config.yaml (or .continue/config.yaml):
mcpServers: - name: DMARKOFF type: streamable-http url: https://mcp.dmarkoff.com/mcp headers: Authorization: Bearer YOUR_API_KEY

Note: Continue.dev also supports JSON configuration. If you already have a config from Claude Desktop or Cursor, simply copy your JSON file into .continue/mcpServers/ — Continue will pick it up automatically.
2. Switch to Agent Mode in the Continue interface and start working.



Any MCP-compatible client


If your client supports MCP Streamable HTTP, use the following parameters:

ParameterValue
TransportStreamable HTTP
URLhttps://mcp.dmarkoff.com/mcp
Auth headerAuthorization: Bearer YOUR_API_KEY
OAuth Issuerhttps://mcp.dmarkoff.com
Authorize URLhttps://mcp.dmarkoff.com/oauth/authorize
Token URLhttps://mcp.dmarkoff.com/oauth/token
Scopedmarc:read

OAuth auto-discovery endpoints:

  • GET https://mcp.dmarkoff.com/.well-known/oauth-authorization-server
  • GET https://mcp.dmarkoff.com/.well-known/oauth-protected-resource


First prompts to try


Once connected, start with these:

Show me an overview of all my DMARC projects

Which domains have Critical severity right now?

Check domain example.com — what's wrong with it?

Are there any anomalies in email traffic over the last 24 hours?

Why is SPF failing on domain.com? Which senders are the problem?


Troubleshooting


Tools don't appear in the client
→ Confirm your client supports Streamable HTTP (not just SSE).
→ Make sure the Authorization: Bearer ... header is being sent correctly.
→ Some clients require a restart after configuration changes.
 
401 Unauthorized
→ Double-check your API key at app.dmarkoff.com/account/mcp.
→ Make sure the key is active and hasn't expired.
 
Empty response or "no projects found"
→ Verify that the API key has access to at least one project.
→ Log into app.dmarkoff.com and confirm your projects are visible there.
 
OAuth errors
→ Make sure the Client Secret contains your DMARKOFF API key (not your account password).
→ Try disconnecting and reconnecting the integration.
 
Need help?
Email support@mail.dmarkoff.com.