Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Microsoft Exchange / OWA — email, calendar, directory, availability
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
EXCHANGE_OWA_URL, EXCHANGE_COOKIE_FILEต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"owa-exchange": {
"command": "uvx",
"args": [
"exchange-mcp-server"
],
"env": {
"EXCHANGE_OWA_URL": "ใส่ค่าของคุณ",
"EXCHANGE_COOKIE_FILE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add owa-exchange --env EXCHANGE_OWA_URL='ใส่ค่าของคุณ' --env EXCHANGE_COOKIE_FILE='ใส่ค่าของคุณ' -- uvx exchange-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"owa-exchange": {
"command": "uvx",
"args": [
"exchange-mcp-server"
],
"env": {
"EXCHANGE_OWA_URL": "ใส่ค่าของคุณ",
"EXCHANGE_COOKIE_FILE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"owa-exchange": {
"type": "stdio",
"command": "uvx",
"args": [
"exchange-mcp-server"
],
"env": {
"EXCHANGE_OWA_URL": "ใส่ค่าของคุณ",
"EXCHANGE_COOKIE_FILE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
EXCHANGE_OWA_URL envEXCHANGE_COOKIE_FILE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub nhype ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.1) เข้า registry 9 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Vexa, emailmd, MCP WhatsApp Cloud
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MCP (Model Context Protocol) server for any Microsoft Exchange / OWA (Outlook Web Access) deployment. Gives LLM agents access to email, calendar, directory search, folders, availability, and meeting analytics via 30 tools.
Works with any on-premise or hosted Exchange server that exposes OWA.
# Copy and edit the MCP config with your OWA URL
cp .mcp.json.example .mcp.json
python3 login.py --setup
python3 login.py
pip install -e .
Add to your MCP client config. Replace https://owa.example.com with your OWA URL.
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "exchange": { "command": "uvx", "args": ["exchange-mcp-server"], "env": { "EXCHANGE_OWA_URL": "https://owa.example.com" } } } }
Cursor (.cursor/mcp.json):
{
"mcpServers": { "exchange": { "command": "uvx", "args": ["exchange-mcp-server"], "env": { "EXCHANGE_OWA_URL": "https://owa.example.com" } } } }
Claude Code (.mcp.json):
{
"mcpServers": { "exchange": { "command": "uvx", "args": ["exchange-mcp-server"], "env": { "EXCHANGE_OWA_URL": "https://owa.example.com" } } } }
| Variable | Required | Description |
|---|---|---|
EXCHANGE_OWA_URL | Yes | Base URL of your OWA instance |
EXCHANGE_COOKIE_FILE | No | Path to session cookies file (default: session-cookies.txt) |
The login tool handles credential setup and authentication within the MCP session — no separate terminal needed.
First time (setup + login):
login(master_password="...", username="user@example.com", password="...")
Subsequent logins (decrypts stored credentials):
login(master_password="...")
python3 login.py --setup # First time: save encrypted credentials
python3 login.py # Login with 2FA
Both methods:
session-cookies.txtCredentials and session cookies are encrypted at rest with AES-256 (PBKDF2 key derivation, 480k iterations).
| Tool | Description |
|---|---|
get_emails | List emails from a folder with filtering |
get_email | Get full email content by ID |
send_email | Send a new email |
reply_email | Reply to an email |
forward_email | Forward an email |
delete_email | Delete an email |
move_email | Move email to another folder |
mark_email_read | Mark email as read/unread |
download_attachments | Download file attachments from an email |
get_email_links | Extract hyperlinks from an email body |
| Tool | Description |
|---|---|
get_calendar_events | Get events in a date range (supports recurring expansion) |
create_meeting | Create a meeting with attendees |
update_meeting | Update an existing meeting |
cancel_meeting | Cancel a meeting and notify attendees |
respond_to_meeting | Accept, decline, or tentatively accept |
download_event_attachments | Download file attachments from a calendar event |
get_event_links | Extract hyperlinks from an event description |
| Tool | Description |
|---|---|
find_person | Search people in Active Directory |
| Tool | Description |
|---|---|
get_folders | List mail folders with unread counts |
create_folder | Create a new mail folder |
rename_folder | Rename an existing folder |
empty_folder | Empty all items from a folder |
delete_folder | Delete a mail folder |
move_folder | Move a folder to a different parent |
check_session | Check if the OWA session is authenticated |
| Tool | Description |
|---|---|
find_free_time | Find free slots in your calendar |
find_meeting_time | Find common free slots for multiple people |
| Tool | Description |
|---|---|
get_meeting_stats | Meeting count statistics for multiple people |
get_meeting_contacts | Connection matrix — who you meet with most |
| Tool | Description |
|---|---|
login | Authenticate to OWA (credential setup + 2FA login) |
login.py # Browser-based 2FA login (standalone CLI)
exchange_mcp/ server.py # FastMCP server entry point owa_client.py # OWA HTTP client auth.py # Async login logic (shared by MCP tool) tools/ email.py # Email tools calendar.py # Calendar tools people.py # Directory search folders.py # Folder management & session check availability.py # Free time / meeting time analytics.py # Meeting stats & contacts auth.py # Login tool pyproject.toml # Package config
Every Exchange / OWA deployment has its own authentication setup — some require 2FA (push notifications, TOTP, SMS), others use single-factor login or SSO. The login logic in this project (login.py and exchange_mcp/auth.py) is written for a specific 2FA flow (mobile push approval). If your OWA server uses a different 2FA method or no 2FA at all, you will need to modify or remove the login logic to match your environment.
0600 permissions