source. no "need. Use standard. Need standard. In final. Need no.
# Source: https://github.com/Atomic-Mail/atomic-mail-agentic | License: MIT | Copyright 2026 Atomic Mail
# Provided via justclaw.it.com; keep this notice with the code.
from typing import Any
from dify_plugin import ToolProvider
from dify_plugin.errors.tool import ToolProviderCredentialValidationError
from atomicmail.session import create_agent_session
from utils.dify_kv_store import DifyKvCredentialStore
class AtomicmailProvider(ToolProvider):
def _validate_credentials(self, credentials: dict[str, Any]) -> None:
try:
api_key = credentials.get("api_key")
if not isinstance(api_key, str) or not api_key.strip():
# API key is optional: user can still register from tools.
return
env: dict[str, str] = {}
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key