Class: MailMCP::CreateDraftMailMessageTool

Inherits:
Tool
  • Object
show all
Defined in:
lib/mail_mcp/tools/create_draft_mail_message_tool.rb

Class Method Summary collapse

Methods inherited from Tool

format_from

Class Method Details

.call(to:, subject:, text_body:, server_context:, cc: nil, bcc: nil, html_body: nil, attachment_urls: [], folder: "Drafts") ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mail_mcp/tools/create_draft_mail_message_tool.rb', line 29

def self.call(to:, subject:, text_body:, server_context:, cc: nil, bcc: nil, html_body: nil,
              attachment_urls: [], folder: "Drafts")
  mail = MailBuilder.build(
    from: format_from(server_context),
    to: to, subject: subject, text_body: text_body,
    cc: cc, bcc: bcc, html_body: html_body,
    attachment_urls: attachment_urls
  )
  ImapClient.connect(server_context.imap_config) do |c|
    c.append_message(folder: folder, raw_message: mail.to_s, flags: [:Draft])
  end
  MCP::Tool::Response.new([{ type: "text", text: "Draft saved to #{folder}" }])
end