MinuteMail

Ephemeral mailboxes and a mock OAuth IdP for testing email and auth flows — 39 API-driven tools

使うべきか

品質と安全性

B
説明の品質
86%
スキーマの完全性
90%
命名の品質
50%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(45)

  • LOWTool 'archived.reactivate' description lacks action verbarchived.reactivate 内
  • LOWTool 'domains.verify' description lacks action verbdomains.verify 内
  • LOWTool 'team.invitations.delete' description lacks action verbteam.invitations.delete 内
  • LOWTool 'oauth.clients.create' description lacks action verboauth.clients.create 内
  • LOWTool 'oauth.clients.rotate_secret' description lacks action verboauth.clients.rotate_secret 内
  • LOWTool 'mailboxes.list' doesn't follow camelCase/snake_casemailboxes.list 内
  • LOWTool 'mailboxes.create' doesn't follow camelCase/snake_casemailboxes.create 内
  • LOWTool 'mailboxes.get' doesn't follow camelCase/snake_casemailboxes.get 内
  • LOWTool 'mailboxes.delete' doesn't follow camelCase/snake_casemailboxes.delete 内
  • LOWTool 'mailboxes.delete_bulk' doesn't follow camelCase/snake_casemailboxes.delete_bulk 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~8,325トークン数(ツール定義)
~2.0 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 6.50%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "mcp-server": {
      "url": "https://mcp.minutemail.co/mcp"
    }
  }
}

リモートエンドポイント

https://mcp.minutemail.co/mcpstreamable-http

できること

ツール一覧

ツール(40)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢mailboxes.list(address)

List the tenant's active mailboxes (owner is derived from the API key). Optionally look up a single mailbox by exact address.

入力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Exact mailbox address to look up (e.g. [email protected]). Optional.",
      "type": "string"
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "address": {
            "description": "Full mailbox address",
            "type": "string"
          },
          "alias": {
            "description": "Local part of the address",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation timestamp (RFC 3339)",
            "type": "string"
          },
          "domain": {
            "description": "Mailbox domain",
            "type": "string"
          },
          "expiresAt": {
            "description": "Expiry timestamp (RFC 3339); null when permanent",
            "type": "string"
          },
          "id": {
            "description": "Mailbox ID",
            "type": "string"
          },
          "messageCount": {
            "description": "Number of mails in the mailbox",
            "type": "integer"
          },
          "owner": {
            "description": "Owner (tenant) ID",
            "type": "string"
          },
          "permanent": {
            "description": "Whether the mailbox never expires",
            "type": "boolean"
          },
          "recoverable": {
            "description": "Whether the mailbox can be recovered after expiry",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "address"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
🟡mailboxes.create(domain, expiresIn, noExpiration, recoverable, tag)

Create a new temporary mailbox. The domain defaults to the tenant's default domain; the owner is always the API key's owner.

入力スキーマ

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "Mailbox domain. Defaults to the tenant default domain (e.g. minutemail.cc).",
      "type": "string"
    },
    "expiresIn": {
      "description": "Lifetime in minutes, 1-60. Omit for the service default TTL.",
      "type": "integer"
    },
    "noExpiration": {
      "description": "Set true for a permanent mailbox (mutually exclusive with expiresIn).",
      "type": "boolean"
    },
    "recoverable": {
      "description": "Set true to keep the mailbox recoverable after expiry (requires tag).",
      "type": "boolean"
    },
    "tag": {
      "description": "Recovery tag, required when recoverable is true.",
      "type": "string"
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Full mailbox address",
      "type": "string"
    },
    "alias": {
      "description": "Local part of the address",
      "type": "string"
    },
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "domain": {
      "description": "Mailbox domain",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339); null when permanent",
      "type": "string"
    },
    "id": {
      "description": "Mailbox ID",
      "type": "string"
    },
    "messageCount": {
      "description": "Number of mails in the mailbox",
      "type": "integer"
    },
    "owner": {
      "description": "Owner (tenant) ID",
      "type": "string"
    },
    "permanent": {
      "description": "Whether the mailbox never expires",
      "type": "boolean"
    },
    "recoverable": {
      "description": "Whether the mailbox can be recovered after expiry",
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "address"
  ]
}
🟢mailboxes.get(mailboxId)

Fetch a single mailbox by ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Full mailbox address",
      "type": "string"
    },
    "alias": {
      "description": "Local part of the address",
      "type": "string"
    },
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "domain": {
      "description": "Mailbox domain",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339); null when permanent",
      "type": "string"
    },
    "id": {
      "description": "Mailbox ID",
      "type": "string"
    },
    "messageCount": {
      "description": "Number of mails in the mailbox",
      "type": "integer"
    },
    "owner": {
      "description": "Owner (tenant) ID",
      "type": "string"
    },
    "permanent": {
      "description": "Whether the mailbox never expires",
      "type": "boolean"
    },
    "recoverable": {
      "description": "Whether the mailbox can be recovered after expiry",
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "address"
  ]
}
🔴mailboxes.delete(mailboxId)

Delete a mailbox and its contents by ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🔴mailboxes.delete_bulk(ids)

Delete several mailboxes at once by ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Mailbox IDs to delete",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "ids"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🟢mails.list(mailboxId)

List the emails in a mailbox, newest first.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "body": {
            "description": "Plain-text body (present on single-mail fetches)",
            "type": "string"
          },
          "expiresAt": {
            "description": "Expiry timestamp (RFC 3339)",
            "type": "string"
          },
          "id": {
            "description": "Mail ID",
            "type": "string"
          },
          "receivedAt": {
            "description": "Received timestamp (RFC 3339)",
            "type": "string"
          },
          "sender": {
            "description": "Sender email address",
            "type": "string"
          },
          "subject": {
            "description": "Email subject",
            "type": "string"
          }
        },
        "required": [
          "id",
          "sender",
          "subject"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
⚪mails.inject(attachments, body, expiresIn, mailboxId, sender, ...)

Inject a simulated inbound email into a mailbox (multipart upload). No external mail is sent; use this to simulate inbound mail for flow testing.

入力スキーマ

{
  "type": "object",
  "properties": {
    "attachments": {
      "description": "Attachments to include",
      "items": {
        "properties": {
          "contentType": {
            "description": "MIME type, defaults to application/octet-stream",
            "type": "string"
          },
          "data": {
            "description": "File contents, standard base64",
            "type": "string"
          },
          "filename": {
            "description": "Attachment file name",
            "type": "string"
          }
        },
        "required": [
          "filename",
          "data"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "body": {
      "description": "Plain-text body",
      "type": "string"
    },
    "expiresIn": {
      "description": "Mail lifetime in minutes (>=1). Optional.",
      "type": "integer"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    },
    "sender": {
      "description": "Sender email address",
      "type": "string"
    },
    "subject": {
      "description": "Email subject",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "sender",
    "subject",
    "body"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "body": {
      "description": "Plain-text body (present on single-mail fetches)",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339)",
      "type": "string"
    },
    "id": {
      "description": "Mail ID",
      "type": "string"
    },
    "receivedAt": {
      "description": "Received timestamp (RFC 3339)",
      "type": "string"
    },
    "sender": {
      "description": "Sender email address",
      "type": "string"
    },
    "subject": {
      "description": "Email subject",
      "type": "string"
    }
  },
  "required": [
    "id",
    "sender",
    "subject"
  ]
}
🟢mails.get(mailId, mailboxId)

Fetch a single email by ID, including body and attachment metadata.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailId": {
      "description": "Mail ID",
      "type": "string"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "mailId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "body": {
      "description": "Plain-text body (present on single-mail fetches)",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339)",
      "type": "string"
    },
    "id": {
      "description": "Mail ID",
      "type": "string"
    },
    "receivedAt": {
      "description": "Received timestamp (RFC 3339)",
      "type": "string"
    },
    "sender": {
      "description": "Sender email address",
      "type": "string"
    },
    "subject": {
      "description": "Email subject",
      "type": "string"
    }
  },
  "required": [
    "id",
    "sender",
    "subject"
  ]
}
🔴mails.delete(mailId, mailboxId)

Delete a single email.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailId": {
      "description": "Mail ID",
      "type": "string"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "mailId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🔴mails.delete_bulk(ids, mailboxId)

Delete several emails of one mailbox at once.

入力スキーマ

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Mail IDs to delete",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "ids"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🟢attachments.list(mailId, mailboxId)

List the attachments of an email (metadata only).

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailId": {
      "description": "Mail ID",
      "type": "string"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "mailId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "contentType": {
            "description": "MIME type",
            "type": "string"
          },
          "expiresAt": {
            "description": "Expiry timestamp (RFC 3339)",
            "type": "string"
          },
          "filename": {
            "description": "Attachment file name",
            "type": "string"
          },
          "id": {
            "description": "Attachment ID",
            "type": "string"
          },
          "sizeBytes": {
            "description": "Size in bytes",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "filename"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
⚪attachments.add(contentType, data, expiresIn, filename, mailId, ...)

Attach a file to a test-injected email (base64 payload).

入力スキーマ

{
  "type": "object",
  "properties": {
    "contentType": {
      "description": "MIME type, defaults to application/octet-stream",
      "type": "string"
    },
    "data": {
      "description": "File contents, standard base64",
      "type": "string"
    },
    "expiresIn": {
      "description": "Attachment lifetime in minutes (>=1). Optional.",
      "type": "integer"
    },
    "filename": {
      "description": "Attachment file name",
      "type": "string"
    },
    "mailId": {
      "description": "Mail ID",
      "type": "string"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    },
    "sizeBytes": {
      "description": "Expected size in bytes. Optional; validated against the decoded data when set.",
      "type": "integer"
    }
  },
  "required": [
    "mailboxId",
    "mailId",
    "filename",
    "data"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "contentType": {
      "description": "MIME type",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339)",
      "type": "string"
    },
    "filename": {
      "description": "Attachment file name",
      "type": "string"
    },
    "id": {
      "description": "Attachment ID",
      "type": "string"
    },
    "sizeBytes": {
      "description": "Size in bytes",
      "type": "integer"
    }
  },
  "required": [
    "id",
    "filename"
  ]
}
🟢attachments.get(attachmentId, mailId, mailboxId)

Download an attachment. The file contents are returned base64-encoded in the JSON "data" field.

入力スキーマ

{
  "type": "object",
  "properties": {
    "attachmentId": {
      "description": "Attachment ID",
      "type": "string"
    },
    "mailId": {
      "description": "Mail ID",
      "type": "string"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "mailId",
    "attachmentId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "contentType": {
      "description": "MIME type",
      "type": "string"
    },
    "data": {
      "description": "File contents, standard base64",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339)",
      "type": "string"
    },
    "filename": {
      "description": "Attachment file name",
      "type": "string"
    },
    "id": {
      "description": "Attachment ID",
      "type": "string"
    },
    "sizeBytes": {
      "description": "Size in bytes",
      "type": "integer"
    }
  },
  "required": [
    "id",
    "filename",
    "data"
  ]
}
🔴attachments.delete(attachmentId, mailId, mailboxId)

Delete a single attachment.

入力スキーマ

{
  "type": "object",
  "properties": {
    "attachmentId": {
      "description": "Attachment ID",
      "type": "string"
    },
    "mailId": {
      "description": "Mail ID",
      "type": "string"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "mailId",
    "attachmentId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🔴attachments.delete_bulk(ids, mailId, mailboxId)

Delete several attachments of one email at once.

入力スキーマ

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Attachment IDs to delete",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "mailId": {
      "description": "Mail ID",
      "type": "string"
    },
    "mailboxId": {
      "description": "Mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId",
    "mailId",
    "ids"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🟢archived.list

List the tenant's archived (expired but recoverable) mailboxes.

入力スキーマ

{
  "type": "object",
  "properties": {}
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "address": {
            "description": "Full mailbox address",
            "type": "string"
          },
          "alias": {
            "description": "Local part of the address",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation timestamp (RFC 3339)",
            "type": "string"
          },
          "domain": {
            "description": "Mailbox domain",
            "type": "string"
          },
          "expiresAt": {
            "description": "Expiry timestamp (RFC 3339); null when permanent",
            "type": "string"
          },
          "id": {
            "description": "Mailbox ID",
            "type": "string"
          },
          "messageCount": {
            "description": "Number of mails in the mailbox",
            "type": "integer"
          },
          "owner": {
            "description": "Owner (tenant) ID",
            "type": "string"
          },
          "permanent": {
            "description": "Whether the mailbox never expires",
            "type": "boolean"
          },
          "recoverable": {
            "description": "Whether the mailbox can be recovered after expiry",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "address"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
🟢archived.get(mailboxId)

Fetch a single archived mailbox by ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailboxId": {
      "description": "Archived mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Full mailbox address",
      "type": "string"
    },
    "alias": {
      "description": "Local part of the address",
      "type": "string"
    },
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "domain": {
      "description": "Mailbox domain",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339); null when permanent",
      "type": "string"
    },
    "id": {
      "description": "Mailbox ID",
      "type": "string"
    },
    "messageCount": {
      "description": "Number of mails in the mailbox",
      "type": "integer"
    },
    "owner": {
      "description": "Owner (tenant) ID",
      "type": "string"
    },
    "permanent": {
      "description": "Whether the mailbox never expires",
      "type": "boolean"
    },
    "recoverable": {
      "description": "Whether the mailbox can be recovered after expiry",
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "address"
  ]
}
🔴archived.delete(mailboxId)

Permanently delete an archived mailbox.

入力スキーマ

{
  "type": "object",
  "properties": {
    "mailboxId": {
      "description": "Archived mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
⚪archived.reactivate(expiresIn, mailboxId)

Reactivate an archived mailbox back to active state.

入力スキーマ

{
  "type": "object",
  "properties": {
    "expiresIn": {
      "description": "New lifetime in minutes, 1-60. Optional.",
      "type": "integer"
    },
    "mailboxId": {
      "description": "Archived mailbox ID",
      "type": "string"
    }
  },
  "required": [
    "mailboxId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Full mailbox address",
      "type": "string"
    },
    "alias": {
      "description": "Local part of the address",
      "type": "string"
    },
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "domain": {
      "description": "Mailbox domain",
      "type": "string"
    },
    "expiresAt": {
      "description": "Expiry timestamp (RFC 3339); null when permanent",
      "type": "string"
    },
    "id": {
      "description": "Mailbox ID",
      "type": "string"
    },
    "messageCount": {
      "description": "Number of mails in the mailbox",
      "type": "integer"
    },
    "owner": {
      "description": "Owner (tenant) ID",
      "type": "string"
    },
    "permanent": {
      "description": "Whether the mailbox never expires",
      "type": "boolean"
    },
    "recoverable": {
      "description": "Whether the mailbox can be recovered after expiry",
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "address"
  ]
}
🟢domains.list

List the tenant's custom domains with their DNS verification status.

入力スキーマ

{
  "type": "object",
  "properties": {}
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "createdAt": {
            "description": "Creation timestamp (RFC 3339)",
            "type": "string"
          },
          "id": {
            "description": "Domain ID",
            "type": "string"
          },
          "mxTarget": {
            "description": "MX target to add to the domain's DNS before verification",
            "type": "string"
          },
          "name": {
            "description": "Domain name",
            "type": "string"
          },
          "status": {
            "description": "DNS verification status",
            "enum": [
              "pending",
              "verified"
            ],
            "type": "string"
          },
          "txtToken": {
            "description": "TXT token to add to the domain's DNS before verification",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "status"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
⚪domains.register(name)

Register a new custom domain. DNS records (TXT token + MX) must then be added before verification can succeed.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Domain name, e.g. mail.example.com",
      "type": "string"
    }
  },
  "required": [
    "name"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "id": {
      "description": "Domain ID",
      "type": "string"
    },
    "mxTarget": {
      "description": "MX target to add to the domain's DNS before verification",
      "type": "string"
    },
    "name": {
      "description": "Domain name",
      "type": "string"
    },
    "status": {
      "description": "DNS verification status",
      "enum": [
        "pending",
        "verified"
      ],
      "type": "string"
    },
    "txtToken": {
      "description": "TXT token to add to the domain's DNS before verification",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "status"
  ]
}
⚪domains.verify(domainId)

Trigger DNS verification (TXT + MX) of a registered domain.

入力スキーマ

{
  "type": "object",
  "properties": {
    "domainId": {
      "description": "Domain ID",
      "type": "string"
    }
  },
  "required": [
    "domainId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "id": {
      "description": "Domain ID",
      "type": "string"
    },
    "mxTarget": {
      "description": "MX target to add to the domain's DNS before verification",
      "type": "string"
    },
    "name": {
      "description": "Domain name",
      "type": "string"
    },
    "status": {
      "description": "DNS verification status",
      "enum": [
        "pending",
        "verified"
      ],
      "type": "string"
    },
    "txtToken": {
      "description": "TXT token to add to the domain's DNS before verification",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "status"
  ]
}
🔴domains.delete(domainId)

Delete a registered custom domain.

入力スキーマ

{
  "type": "object",
  "properties": {
    "domainId": {
      "description": "Domain ID",
      "type": "string"
    }
  },
  "required": [
    "domainId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🟢team.members.list

List the tenant's team members.

入力スキーマ

{
  "type": "object",
  "properties": {}
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "createdAt": {
            "description": "Creation timestamp (RFC 3339)",
            "type": "string"
          },
          "email": {
            "description": "Member email address",
            "type": "string"
          },
          "id": {
            "description": "Member ID",
            "type": "string"
          },
          "status": {
            "description": "Member status (e.g. ACTIVE)",
            "type": "string"
          },
          "user_id": {
            "description": "Member user ID",
            "type": "string"
          },
          "username": {
            "description": "Member username",
            "type": "string"
          }
        },
        "required": [
          "id",
          "email",
          "status"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
🟡team.members.add(email, status, user_id, username)

Add a team member directly (no invitation flow).

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Member email address",
      "type": "string"
    },
    "status": {
      "description": "Member status, conventionally ACTIVE",
      "type": "string"
    },
    "user_id": {
      "description": "Member user ID",
      "type": "string"
    },
    "username": {
      "description": "Member username",
      "type": "string"
    }
  },
  "required": [
    "user_id",
    "username",
    "email",
    "status"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "email": {
      "description": "Member email address",
      "type": "string"
    },
    "id": {
      "description": "Member ID",
      "type": "string"
    },
    "status": {
      "description": "Member status (e.g. ACTIVE)",
      "type": "string"
    },
    "user_id": {
      "description": "Member user ID",
      "type": "string"
    },
    "username": {
      "description": "Member username",
      "type": "string"
    }
  },
  "required": [
    "id",
    "email",
    "status"
  ]
}
🟢team.members.get(memberId)

Fetch a single team member by ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "memberId": {
      "description": "Member ID",
      "type": "string"
    }
  },
  "required": [
    "memberId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "email": {
      "description": "Member email address",
      "type": "string"
    },
    "id": {
      "description": "Member ID",
      "type": "string"
    },
    "status": {
      "description": "Member status (e.g. ACTIVE)",
      "type": "string"
    },
    "user_id": {
      "description": "Member user ID",
      "type": "string"
    },
    "username": {
      "description": "Member username",
      "type": "string"
    }
  },
  "required": [
    "id",
    "email",
    "status"
  ]
}
🔴team.members.delete(memberId)

Remove a team member.

入力スキーマ

{
  "type": "object",
  "properties": {
    "memberId": {
      "description": "Member ID",
      "type": "string"
    }
  },
  "required": [
    "memberId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🟡team.invitations.create(email)

Create a team invitation for an email address (SMTP invite is sent by the team service).

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Invitee email address",
      "type": "string"
    }
  },
  "required": [
    "email"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "email": {
      "description": "Invitee email address",
      "type": "string"
    },
    "id": {
      "description": "Invitation ID",
      "type": "string"
    },
    "status": {
      "description": "Invitation status (e.g. PENDING)",
      "type": "string"
    }
  },
  "required": [
    "id",
    "email",
    "status"
  ]
}
🟢team.invitations.list

List the tenant's team invitations.

入力スキーマ

{
  "type": "object",
  "properties": {}
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "createdAt": {
            "description": "Creation timestamp (RFC 3339)",
            "type": "string"
          },
          "email": {
            "description": "Invitee email address",
            "type": "string"
          },
          "id": {
            "description": "Invitation ID",
            "type": "string"
          },
          "status": {
            "description": "Invitation status (e.g. PENDING)",
            "type": "string"
          }
        },
        "required": [
          "id",
          "email",
          "status"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
🔴team.invitations.delete(invitationId)

Revoke a team invitation.

入力スキーマ

{
  "type": "object",
  "properties": {
    "invitationId": {
      "description": "Invitation ID",
      "type": "string"
    }
  },
  "required": [
    "invitationId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🟢identities.list(clientId, mailboxAddress)

List the tenant's mock identities, optionally filtered by OAuth client or mailbox address.

入力スキーマ

{
  "type": "object",
  "properties": {
    "clientId": {
      "description": "Filter by OAuth client ID. Optional.",
      "type": "string"
    },
    "mailboxAddress": {
      "description": "Filter by mailbox address. Optional.",
      "type": "string"
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "items": {
      "items": {
        "properties": {
          "avatarUrl": {
            "description": "Avatar URL",
            "type": "string"
          },
          "clientId": {
            "description": "OAuth client ID the identity belongs to",
            "type": "string"
          },
          "id": {
            "description": "Identity ID",
            "type": "string"
          },
          "mailboxAddress": {
            "description": "Mailbox address the identity is linked to",
            "type": "string"
          },
          "name": {
            "description": "Display name",
            "type": "string"
          },
          "username": {
            "description": "Identity username",
            "type": "string"
          }
        },
        "required": [
          "id",
          "clientId",
          "mailboxAddress"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "items"
  ]
}
🟡identities.create(avatarUrl, claims, clientId, emailVerified, mailboxAddress, ...)

Create a mock identity bound to a mailbox for OAuth flow testing.

入力スキーマ

{
  "type": "object",
  "properties": {
    "avatarUrl": {
      "description": "Avatar URL. Optional.",
      "type": "string"
    },
    "claims": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Custom claims (e.g. role, plan) merged into the ID token and userinfo. Custom-provider clients only — rejected for google/github/apple/facebook. Optional.",
      "type": "object"
    },
    "clientId": {
      "description": "OAuth client ID the identity belongs to",
      "type": "string"
    },
    "emailVerified": {
      "description": "Value of the email_verified claim issued for this identity. Optional.",
      "type": "boolean"
    },
    "mailboxAddress": {
      "description": "Mailbox address the identity is linked to (must exist)",
      "type": "string"
    },
    "name": {
      "description": "Display name. Optional.",
      "type": "string"
    },
    "username": {
      "description": "Identity username. Optional.",
      "type": "string"
    }
  },
  "required": [
    "clientId",
    "mailboxAddress"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "avatarUrl": {
      "description": "Avatar URL",
      "type": "string"
    },
    "clientId": {
      "description": "OAuth client ID the identity belongs to",
      "type": "string"
    },
    "id": {
      "description": "Identity ID",
      "type": "string"
    },
    "mailboxAddress": {
      "description": "Mailbox address the identity is linked to",
      "type": "string"
    },
    "name": {
      "description": "Display name",
      "type": "string"
    },
    "username": {
      "description": "Identity username",
      "type": "string"
    }
  },
  "required": [
    "id",
    "clientId",
    "mailboxAddress"
  ]
}
🟢identities.get(identityId)

Fetch a single mock identity by ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "identityId": {
      "description": "Identity ID",
      "type": "string"
    }
  },
  "required": [
    "identityId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "avatarUrl": {
      "description": "Avatar URL",
      "type": "string"
    },
    "clientId": {
      "description": "OAuth client ID the identity belongs to",
      "type": "string"
    },
    "id": {
      "description": "Identity ID",
      "type": "string"
    },
    "mailboxAddress": {
      "description": "Mailbox address the identity is linked to",
      "type": "string"
    },
    "name": {
      "description": "Display name",
      "type": "string"
    },
    "username": {
      "description": "Identity username",
      "type": "string"
    }
  },
  "required": [
    "id",
    "clientId",
    "mailboxAddress"
  ]
}
🟡identities.update(avatarUrl, claims, emailVerified, identityId, isActive, ...)

Update a mock identity: profile fields, isActive (activate/deactivate), emailVerified, and custom claims merged into the ID token and userinfo.

入力スキーマ

{
  "type": "object",
  "properties": {
    "avatarUrl": {
      "description": "Avatar URL. Optional.",
      "type": "string"
    },
    "claims": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Custom claims (e.g. role, plan) merged into the ID token and userinfo. Replaces existing claims. Reserved claim names are rejected. Optional.",
      "type": "object"
    },
    "emailVerified": {
      "description": "Value of the email_verified claim issued for this identity. Optional.",
      "type": "boolean"
    },
    "identityId": {
      "description": "Identity ID",
      "type": "string"
    },
    "isActive": {
      "description": "Whether the identity can be used in OAuth flows. Optional.",
      "type": "boolean"
    },
    "name": {
      "description": "Display name. Optional.",
      "type": "string"
    },
    "username": {
      "description": "Identity username. Optional.",
      "type": "string"
    }
  },
  "required": [
    "identityId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "avatarUrl": {
      "description": "Avatar URL",
      "type": "string"
    },
    "clientId": {
      "description": "OAuth client ID the identity belongs to",
      "type": "string"
    },
    "id": {
      "description": "Identity ID",
      "type": "string"
    },
    "mailboxAddress": {
      "description": "Mailbox address the identity is linked to",
      "type": "string"
    },
    "name": {
      "description": "Display name",
      "type": "string"
    },
    "username": {
      "description": "Identity username",
      "type": "string"
    }
  },
  "required": [
    "id",
    "clientId",
    "mailboxAddress"
  ]
}
🔴identities.delete(identityId)

Delete a mock identity.

入力スキーマ

{
  "type": "object",
  "properties": {
    "identityId": {
      "description": "Identity ID",
      "type": "string"
    }
  },
  "required": [
    "identityId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
🟢oauth.clients.list

List the tenant's OAuth clients for mock identity testing.

入力スキーマ

{
  "type": "object",
  "properties": {}
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "clients": {
      "items": {
        "properties": {
          "clientId": {
            "description": "Public OAuth client ID",
            "type": "string"
          },
          "clientSecret": {
            "description": "Plaintext secret — returned once at creation or rotation",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation timestamp (RFC 3339)",
            "type": "string"
          },
          "name": {
            "description": "Client display name",
            "type": "string"
          },
          "providerLabel": {
            "description": "Custom provider label",
            "type": "string"
          },
          "providerType": {
            "description": "Identity provider type",
            "enum": [
              "google",
              "github",
              "apple",
              "facebook",
              "custom"
            ],
            "type": "string"
          },
          "redirectUris": {
            "description": "Allowed redirect URIs",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "clientId",
          "name"
        ],
        "type": "object"
      },
      "type": "array"
    }
  }
}
⚪oauth.clients.create(name, providerLabel, providerType, redirectUris)

Register an OAuth client for mock identity flows. The plaintext clientSecret is returned once at creation.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Client display name",
      "type": "string"
    },
    "providerLabel": {
      "description": "Custom provider label. Required when providerType is custom.",
      "type": "string"
    },
    "providerType": {
      "description": "Identity provider type",
      "enum": [
        "google",
        "github",
        "apple",
        "facebook",
        "custom"
      ],
      "type": "string"
    },
    "redirectUris": {
      "description": "Allowed redirect URIs (at least one)",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "name",
    "redirectUris"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "clientId": {
      "description": "Public OAuth client ID",
      "type": "string"
    },
    "clientSecret": {
      "description": "Plaintext secret — returned once at creation or rotation",
      "type": "string"
    },
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "name": {
      "description": "Client display name",
      "type": "string"
    },
    "providerLabel": {
      "description": "Custom provider label",
      "type": "string"
    },
    "providerType": {
      "description": "Identity provider type",
      "enum": [
        "google",
        "github",
        "apple",
        "facebook",
        "custom"
      ],
      "type": "string"
    },
    "redirectUris": {
      "description": "Allowed redirect URIs",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "clientId",
    "name"
  ]
}
🟢oauth.clients.get(clientId)

Fetch a single OAuth client by its public client ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "clientId": {
      "description": "Public OAuth client ID",
      "type": "string"
    }
  },
  "required": [
    "clientId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "clientId": {
      "description": "Public OAuth client ID",
      "type": "string"
    },
    "clientSecret": {
      "description": "Plaintext secret — returned once at creation or rotation",
      "type": "string"
    },
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "name": {
      "description": "Client display name",
      "type": "string"
    },
    "providerLabel": {
      "description": "Custom provider label",
      "type": "string"
    },
    "providerType": {
      "description": "Identity provider type",
      "enum": [
        "google",
        "github",
        "apple",
        "facebook",
        "custom"
      ],
      "type": "string"
    },
    "redirectUris": {
      "description": "Allowed redirect URIs",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "clientId",
    "name"
  ]
}
🔴oauth.clients.delete(clientId)

Delete an OAuth client by its public client ID.

入力スキーマ

{
  "type": "object",
  "properties": {
    "clientId": {
      "description": "Public OAuth client ID",
      "type": "string"
    }
  },
  "required": [
    "clientId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "http_status": {
      "description": "HTTP status of the API response",
      "type": "integer"
    },
    "status": {
      "const": "ok",
      "type": "string"
    }
  },
  "required": [
    "status",
    "http_status"
  ]
}
⚪oauth.clients.rotate_secret(clientId)

Rotate an OAuth client's secret. The new plaintext secret is returned once.

入力スキーマ

{
  "type": "object",
  "properties": {
    "clientId": {
      "description": "Public OAuth client ID",
      "type": "string"
    }
  },
  "required": [
    "clientId"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "clientId": {
      "description": "Public OAuth client ID",
      "type": "string"
    },
    "clientSecret": {
      "description": "Plaintext secret — returned once at creation or rotation",
      "type": "string"
    },
    "createdAt": {
      "description": "Creation timestamp (RFC 3339)",
      "type": "string"
    },
    "name": {
      "description": "Client display name",
      "type": "string"
    },
    "providerLabel": {
      "description": "Custom provider label",
      "type": "string"
    },
    "providerType": {
      "description": "Identity provider type",
      "enum": [
        "google",
        "github",
        "apple",
        "facebook",
        "custom"
      ],
      "type": "string"
    },
    "redirectUris": {
      "description": "Allowed redirect URIs",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "clientId",
    "name"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 40 件
検証済みバージョンは記録されていませんツール 40 件