Qorami SDK
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Official clients, tool schemas and an MCP server for Qorami —
a control point between your AI agents and actually sending email. Before each
send, the agent asks Qorami, which replies **send**,
**request_human_confirmation**, or **do_not_send**.
Get an API key in the dashboard.
Full API reference: .
| Path | What |
|---|---|
| js/ | Zero-dependency JavaScript / TypeScript client (fetch, Node 18+ or browser). |
| python/ | Zero-dependency Python client (stdlib only) + LangChain, CrewAI, LlamaIndex & OpenAI-Agents tools. |
| tools/ | Drop-in OpenAI function-calling & Anthropic tool-use schemas for qorami_check_email. |
| mcp/ | Stdio MCP server (qorami_health, verify_email, check_action_status) for Claude Desktop, Cursor, any MCP client. |
| n8n-nodes-qorami/ | **n8n community node** (Settings → Community Nodes → n8n-nodes-qorami) — guard an email, usable as an AI-Agent tool. |
| n8n/ | No-code recipe: guard a workflow's email with a plain HTTP Request node (no install). |
| examples/ | Runnable Node & Python quickstarts. |
JavaScript / TypeScript
Or step by step with qorami.verify(...) and, after a review, poll
qorami.status(actionId) until nextAction.type === 'send'.
Python
Agent framework tools
pip install qorami[ ] ships a drop-in qorami_check_email wrapper —
each returns ALLOWED / NEEDS HUMAN APPROVAL / BLOCKED and reuses the client:
| Framework | Install | Import |
|---|---|---|
| LangChain | pip install qorami[langchain] | from qorami_langchain import build_qorami_tool |
| CrewAI | pip install qorami[crewai] | from qorami_crewai import QoramiEmailGuard |
| LlamaIndex | pip install qorami[llamaindex] | from qorami_llamaindex import build_qorami_tool |
| OpenAI Agents SDK | pip install qorami[openai-agents] | from qorami_openai_agents import qorami_check_email |
No-code workflows (n8n) use a plain HTTP Request node — see n8n/.
MCP server
Register Qorami as a native tool in Claude Desktop / Cursor / any MCP client —
see mcp/. It exposes qorami_health, verify_email and check_action_status over stdio.
The contract
Every client returns the same decision the agent must obey via nextAction.type:
send, request_human_confirmation (a human approves first — poll the action),