Connect an assistant over MCP
From Teams up
From Teams up, an assistant such as Claude, ChatGPT or Cursor can read your organization through our MCP server at https://www.mailmoni.com/mcp. It answers the questions the app answers: which sources fail DMARC, why, what to change, and what the DNS checks found. It reads and never changes anything.
Choose how to connect
- Sign in. Apps that sign in, such as claude.ai, Claude Desktop and ChatGPT, need only the address. The app asks you to sign in and to choose one organization. Any member can connect an app, viewers included, and the app reads what that member can read.
- An API token. Claude Code, Cursor, VS Code and other clients that send a header use a token. An admin creates it under Settings → Developer → API tokens, as API tokens explains.
Claude Code
Run this in a terminal, with your token in place of YOUR_TOKEN:
claude mcp add --transport http mailmoni https://www.mailmoni.com/mcp --header "Authorization: Bearer YOUR_TOKEN"
Claude Code cannot connect by signing in. Its sign-in returns to an address on your own computer, on a port that changes each time, and our sign-in server does not accept that. Use a token.
Cursor, VS Code and other clients with a JSON file
Cursor and other clients that read a JSON file take this entry, with your token in place of YOUR_TOKEN. VS Code's .vscode/mcp.json takes the same entry under servers in place of mcpServers.
{
"mcpServers": {
"mailmoni": {
"type": "http",
"url": "https://www.mailmoni.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
claude.ai, Claude Desktop and ChatGPT
Give the app the address https://www.mailmoni.com/mcp. It opens our sign-in page. Sign in, choose the organization the app may read and allow it. Only organizations on a plan from Teams up are offered.
What it can answer
| Tool | What it does | Arguments |
|---|---|---|
list_domains | Lists the organization's domains with their verification state and when the last report arrived. Call it first to learn the domain names the other tools take. | – |
domain_overview | Summarizes one domain over the last days: messages, the share that passes DMARC, the policy, readiness for the next policy step, and the sources that need attention, each with the reason and the fix. | domain days |
list_sources | Lists the services and servers that sent mail as one domain over the last days, with message counts, DMARC results and an explanation for each. Filter by status to see only the sources that need attention. | domain days status |
explain_source | Explains why one source passes or fails DMARC for a domain over the last 30 days and what to change, with its addresses and recent records. Give the source's id from list_sources, or its name. | domain source |
dns_status | Shows the latest DNS checks of one domain (DMARC, SPF, DKIM, MX, MTA-STS, TLS reporting and BIMI) with every finding explained and its fix. | domain |
list_alerts | Lists alerts, the open ones by default, for one domain or for every domain of the organization, newest first. | domain state |
list_reports | Lists the aggregate, TLS or forensic reports that arrived for one domain over the last days, newest first, with their ids for get_report. | domain kind days |
get_report | Reads one parsed report by its kind and its id from list_reports. An aggregate report comes with its records and the explanation of each. The raw file is not included. | kind id |
The tools answer in the organization's default language.
How many calls
Each tool call counts as one request. With a token, it uses the token's hourly API count, which the token's other requests share. The plan table gives each plan's count. An app that signed in has a count of its own of the same size. Listing the tools, the opening handshake and pings do not count.
When the count is used up, the tool answers with a message that says how many minutes to wait, so the assistant can tell you.
Your connections
- A connection lasts 90 days from the moment you allow it. Then the app asks you to sign in again. Allowing it again starts the days over.
- One app reads one organization for you. Allowing the same app for another organization replaces the first connection.
- You see your own connections under Settings → Profile → See connected apps. An admin sees every connection to the organization under Settings → Developer → Connected apps.
- Disconnect revokes the app's access at once. Its next request fails, and it asks to sign in again.
- A member who leaves the organization loses the connection too.
- While the plan does not include MCP, every connected app is told that Teams is needed. When the organization is on such a plan again, each app works without signing in again.
Published 27 October 2026 · Checked 27 October 2026