هوش مصنوعی و MCP
ترجمه، نوشتن و خلاصه کردن نامه، اتصال کلاینتهای هوش مصنوعی به صندوق پستی، فراخوانی ابزارهای MCP و پرسیدن از مستندات.
فرمانهای هوش مصنوعی
| فرمان | چه میکند | ورود |
|---|---|---|
| ai translate | ترجمهٔ یک موضوع و بدنه بدون فرستادن هیچ چیز | هر کدام از دو نوع، با emails:send |
| ai languages | فهرست هر زبانی که ترجمه میپذیرد | هر کدام، یا هیچکدام: بدون ورود، جدول گنجاندهشده در CLI را چاپ میکند |
| ai compose "<prompt>" | نوشتن بدنهٔ یک ایمیل به سبک خودتان | یک ورود با مرورگر |
| ai summarize <thread-id> | چاپ خلاصهای که OpenEmail برای یک رشته نگه میدارد | یک ورود با مرورگر |
translate و compose هر کدام یک کنش هوش مصنوعی از سهمیهٔ روزانهٔ فضای کاری خرج میکنند و سهمیهٔ تمامشده با کد خروج 8 متوقف میشود. compose و summarize از طریق ابزارهای MCP composeEmail و getThreadSummary اجرا میشوند، به همین دلیل ورود با مرورگر میخواهند: کلید API به سرور MCP نمیرسد.
ترجمه
openemail ai translate --to de --subject "Your invoice" --text "The invoice is attached."openemail ai translate --to Japanese --body-file reply.html --no-originalcat notes.txt | openemail ai translate --to fropenemail ai languages --search portهمان ترجمهای را اجرا میکند که یک ارسال ترجمهشده اجرا میکرد و نتیجه را چاپ میکند تا پیش از رفتن هر چیزی آن را بخوانید. چیزی ذخیره یا فرستاده نمیشود. --to یک کد، یک نام انگلیسی یا نام خود زبان را میپذیرد. بدنه از --text، --html، --body-file یا stdin میآید، و --text و --html با @path فایلی را هم میخوانند.
- متن اصلی شما زیر ترجمه میماند، مگر اینکه
--no-originalبدهید. - زبان مبدأ تشخیصدادهشده روی stderr چاپ میشود و
--jsonکل ترجمه را چاپ میکند. - برای ترجمه هنگام فرستادن، از
openemail send --translate deاستفاده کنید.
نوشتن و خلاصه کردن
openemail ai compose "thank Ada for the invoice and ask for a PDF copy" --to [email protected]openemail ai compose "say yes to Tuesday at 3pm" --thread CAHk7pQ2x9LmZ4 --tone friendlyopenemail ai compose "decline politely" --thread CAHk7pQ2x9LmZ4 | openemail send --to [email protected] --subject "Re: Proposal"openemail ai summarize CAHk7pQ2x9LmZ4composeبدنهای به سبک شما چاپ میکند و چیزی نمیفرستد، پس وقتی راضی بودید آن را بهopenemail sendبدهید. با--threadنخست آخرین پیامهای رشته را میخواند و پاسخی مینویسد.--toneیکی ازformal،friendly،casual،concise،directیاwarmاست.summarizeخلاصه را با موضوع، فرستنده و تاریخ چاپ میکند. خلاصهها هنگام رسیدن نامه نوشته میشوند و رشتهای که پیام رمزگذاریشده دارد خلاصهای ندارد، که با کد5خارج میشود.
اتصال یک کلاینت هوش مصنوعی
سرور MCP در OpenEmail ابزارهایی را به کلاینت هوش مصنوعی میدهد که دستیار درون برنامه به کار میبرد: میتواند نامه بخواند و بفرستد و مخاطبان، قالبها، دامنهها و بیشتر را مدیریت کند، محدود به آنچه تأیید میکنید. یک کلاینت به یکی از دو راه وصل میشود و openemail mcp config هر دو را برای کلاینتی که به کار میبرید چاپ میکند:
- سرور راه دور. کلاینت ورود با مرورگر خودش را انجام میدهد، شما آن را در صفحهٔ رضایت OpenEmail تأیید میکنید و در حساب ← برنامههای متصل ظاهر میشود. اگر کلاینت پشتیبانی کند، این گزینهٔ سادهتر است.
- پل محلی،
openemail mcp serve، که کلاینت از طریقnpxراه میاندازد. از ورود همین CLI استفاده میکند، پس نخستopenemail loginرا اجرا کنید. برای کلاینتهایی مناسب است که فقط سرورهای محلی راه میاندازند.
openemail mcp configopenemail mcp config --client claude-codeopenemail mcp config --client cursor --profile workopenemail mcp config --client vscode --jsonclaude mcp add --transport http openemail https://api.openemail.uk/mcpclaude mcp add openemail -- npx -y @openemail/cli mcp serveپس از افزودن سرور راه دور، Claude Code از /mcp وارد میشود و Codex با codex mcp login openemail. Claude Desktop آن را از Settings → Connectors → Add custom connector اضافه میکند. openemail mcp config --client <name> همچنین میگوید هر کلاینت کدام فایل را میخواند.
پل محلی
openemail mcp serve پیامهای JSON-RPC جداشده با سطر را از stdin میخواند، هر پیام را با ورود ذخیرهشدهٔ مرورگری شما به سرور MCP میفرستد و هر پاسخ را در یک سطر روی stdout مینویسد. توکن دسترسی منقضی را بدون اینکه کلاینت بفهمد تمدید میکند، به یک دسته با یک آرایه پاسخ میدهد و با بسته شدن stdin متوقف میشود. فقط پروتکل به stdout میرسد و stderr ساکت میماند، مگر اینکه --debug بدهید.
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | openemail mcp serveopenemail mcp serve --profile workopenemail mcp serve --debug 2> mcp.logپل نمیتواند از طریق stdio کد تأیید هویت بخواهد. ابزاری که کد لازم دارد بهصورت رد به کلاینت میرسد و پل یک راهنمایی روی stderr چاپ میکند. openemail verify را در یک ترمینال با همان نمایه اجرا کنید تا آن ابزارها در 60 دقیقهٔ بعد اجرا شوند.
فراخوانی ابزارها توسط خودتان
openemail mcp toolsopenemail mcp tools composeEmailopenemail mcp call whoAmIopenemail mcp call listThreads --arg folder=inbox --arg maxResults=5openemail mcp call getThread --args '{"threadId":"CAHk7pQ2x9LmZ4"}'mcp toolsابزارهایی را فهرست میکند که این ورود میتواند به کار ببرد و از پیش آنهایی را که نقش شما یا تأیید اجازه نمیدهد کنار گذاشته است. نام یک ابزار را بدهید تا توضیح و آرگومانهایش را ببینید.mcp callآرگومانها را بهصورت یک شیء JSON در--argsمیگیرد (درونخطی،@fileیا-) و--arg key=valueهر بار یکی را تنظیم میکند. مقدار وقتی قابل تجزیه باشد بهصورت JSON خوانده میشود، پس عددی را که منظورتان متن است در گیومه بگذارید.- سرور MCP هرگز تأیید نمیخواهد، پس ابزاری که میفرستد یا حذف میکند بیدرنگ عمل میکند.
- نتیجهای که با
Refused (شروع شود با کد4خارج میشود. ابزار ناشناخته با5، آرگومانهای نامعتبر با7و سهمیهٔ تمامشدهٔ هوش مصنوعی با8خارج میشوند.
شش ابزار تغییری انجام میدهند که REST API آن را با کد تأیید هویت محافظت میکند، و همان کد را میخواهند: createRule، setRuleEnabled، removeDomain، removeDomainAddress، deleteAudience برای مخاطبانی که خودتان ساختهاید، و emptyAudience برای مخاطبانی که خودتان ساختهاید و هنوز مخاطب دارد. در ترمینال، mcp call کد را میخواهد و دوباره ابزار را فرا میخواند. بدون نظارت با کد 4 خارج میشود، پس نخست openemail verify را اجرا کنید.
پرسیدن از مستندات
openemail docs ask "how do I verify a domain?"openemail docs open cli/authenticationopenemail docs read cli/commandsopenemail docs readdocs askپرسشی را از دستیار مستندات میپرسد و پاسخ را همانطور که نوشته میشود چاپ میکند، سپس صفحههایی را که پاسخ از آنها آمده. فقط از همین مستندات پاسخ میدهد، به ورود نیاز ندارد و هرگز اعتبارنامههایتان را نمیفرستد. هر پرسش تا 600 نویسه میتواند باشد و هر شبکه در روز تعداد محدودی پرسش دارد.docs openیک صفحه را در مرورگرتان باز میکند و--printبه جای آن پیوندش را چاپ میکند.docs readیک صفحه را بهصورت Markdown چاپ میکند. بدون صفحه، فهرست همهٔ صفحهها را چاپ میکند.