Files
janssen/Outlook/TRASH/mcp_owa_v1.0.md
T
2026-06-04 11:40:45 +02:00

2.8 KiB

mcp_owa_v1.0

MCP server pro OWA (outlook.cloud.microsoft) — drží persistentní Playwright session a umožňuje claude-cowork:

  • vyhledat email v MongoDB OperativniEmailyJNJ.messages,
  • otevřít ho v OWA UI,
  • udělat Forward, vepsat úvodní text na začátek těla,
  • zavřít původní čtecí panel.

Odeslání forwardu dělá uživatel ručně v okně, které zůstává otevřené.

Spuštění

Profil sdílí s import_emails_to_mongo_v1.0.py (outlook_profile/). Pokud profil neexistuje, spusť nejdřív outlook_login_v1.0.py.

Registrace v .mcp.json (stdio):

"owa": {
  "command": "U:\\PythonProject\\Janssen\\.venv\\Scripts\\python.exe",
  "args": ["U:\\PythonProject\\Janssen\\Outlook\\mcp_owa_v1.0.py"]
}

Tools

Tool Účel
start_owa Spustí Playwright + otevře OWA
stop_owa Zavře okno
status Stav session
find_emails(query, from_email, folder, since_iso, limit) Hledání v MongoDB
find_last_email(from_email, folder) Nejnovější email
open_email_by_subject(subject) Otevře v OWA přes search
forward_current(body_prefix, subject_prefix) Ctrl+Shift+F, předvyplní
write_at_top(text) Vepíše text na začátek body draftu
set_recipients(to, cc) Doplní To/Cc
close_reading_pane Escape (zavře čtecí panel)
screenshot(path) Diagnostický screenshot

Typický flow

start_owa
find_last_email(from_email="...")        → vrátí subject + metadata
open_email_by_subject("<subject>")       → otevře v reading pane
forward_current(body_prefix="Posílám dále, prosím o vyjádření.\n")
                                          → Ctrl+Shift+F, vepíše úvod
set_recipients(to=["adresat@..."])       → vyplní příjemce
                                          → uživatel zkontroluje a odešle ručně
close_reading_pane                        (až po odeslání)

Poznámky / známá omezení

  • Forward draft = stejný tab jako reading pane (inline composer). close_reading_pane proto NEZAVŘE draft, ale Escape může composer minimalizovat — preferuj zavírat až po odeslání.
  • Podpis se vkládá automaticky podle nastavení OWA — skript ho nevkládá.
  • Subject prefix — OWA si sám předřadí FW: , subject_prefix se přidá před to.
  • Hledání emailu v UI je přes search bar (subject substring). Pokud má více výsledků se stejným subjectem, otevře první (nejnovější).
  • Pokud OWA změní lokalizaci aria-labelů, uprav selektory v forward_current / write_at_top / set_recipients.

TODO pro další verzi

  • Otevření přímo z message_id (přes search messageid:)
  • Detekce, zda forward composer otevřel popup tab místo inline
  • send_forward() tool s explicitním potvrzením
  • Volba složky před open_email_by_subject