{"name":"io.github.salahawad/outlook-personal-mcp","slug":"salahawad-outlook-personal-mcp","title":"Outlook Personal MCP","description":"Full-control MCP server for a personal Outlook.com mailbox and calendar (Microsoft Graph).","url":"https://mcp.market/server/salahawad-outlook-personal-mcp","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"email","tags":["email","productivity"],"presence":{"score":18,"stars":1,"forks":0,"downloads_week":72,"last_push_at":"2026-06-28T09:19:19.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/salahawad/outlook-personal-mcp","website":null,"version":"0.1.1","remotes":[],"packages":[{"registryType":"pypi","identifier":"mcp-outlook-personal","version":"0.1.1","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Azure App Registration client ID (Application ID). Required. Create a free app at https://portal.azure.com — see README for the three-minute setup.","isRequired":true,"name":"OUTLOOK_MCP_CLIENT_ID"},{"description":"Azure AD authority URL. Defaults to https://login.microsoftonline.com/consumers which covers personal Microsoft accounts (Outlook.com, Hotmail, Live). Change only if you target a different tenant.","name":"OUTLOOK_MCP_AUTHORITY"},{"description":"Only files under this directory can be read by add_attachment or written by download_attachment. Defaults to ~/.local/share/outlook-personal-mcp/files.","name":"OUTLOOK_MCP_FILE_ROOT"},{"description":"Maximum bytes allowed for local attachment reads and attachment downloads. Defaults to 3145728.","name":"OUTLOOK_MCP_MAX_FILE_BYTES"},{"description":"Set to 'true' to enable the permanent_delete tool which irrecoverably erases messages (bypasses Deleted Items). Disabled by default for safety.","name":"OUTLOOK_MCP_ALLOW_PERMANENT_DELETE"},{"description":"Set to 'true' to enable debug-level logging for Graph API requests and responses.","name":"OUTLOOK_MCP_DEBUG"}]}],"tools":[{"name":"add_attachment","description":"Attach a local file to a draft.","write_action":false,"price_micros":0,"input_schema":null},{"name":"copy_message","description":"Copy a message to another folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_draft","description":"Create a draft message (not sent).","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_event","description":"Create a calendar event. Times are ISO 8601 in the given time_zone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_folder","description":"Create a mail folder, optionally nested under parent_folder_id.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_event","description":"Delete/cancel a calendar event.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_folder","description":"Delete a mail folder (moves it to Deleted Items).","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_message","description":"Delete a message (moves it to Deleted Items; reversible).","write_action":true,"price_micros":0,"input_schema":null},{"name":"download_attachment","description":"Download an attachment to a local file path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_availability","description":"Free/busy across the given people for a time window (Graph getSchedule).","write_action":false,"price_micros":0,"input_schema":null},{"name":"flag_message","description":"Flag or unflag a message.","write_action":false,"price_micros":0,"input_schema":null},{"name":"forward","description":"Forward a message to recipients with an optional comment.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_event","description":"Get one event including body and attendees.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_message","description":"Get a single message; include_body returns the full body text/HTML.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_attachments","description":"List a message's attachments (id, name, size, contentType).","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_calendars","description":"List the user's calendars.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_events","description":"List events. If start and end (ISO 8601) are given, returns that window via calendarView.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_folders","description":"List mail folders with unread/total counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_messages","description":"List messages (newest first). Optionally restrict to a folder or unread only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_read","description":"Mark a message read (read=True) or unread (read=False).","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_message","description":"Move a message to another folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"permanent_delete","description":"PERMANENTLY delete a message (irreversible). Enabled via env flag.","write_action":true,"price_micros":0,"input_schema":null},{"name":"rename_folder","description":"Rename a mail folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reply","description":"Reply to a message (set reply_all to reply to everyone).","write_action":false,"price_micros":0,"input_schema":null},{"name":"respond_event","description":"Respond to a meeting invite. response is one of: accept, decline, tentative.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_events","description":"Search events by free text.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_messages","description":"Full-text search across the mailbox (Graph $search).","write_action":false,"price_micros":0,"input_schema":null},{"name":"send_draft","description":"Send an existing draft.","write_action":true,"price_micros":0,"input_schema":null},{"name":"send_mail","description":"Send an email. Set save_to_sent=False to skip saving to Sent Items.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_draft","description":"Update a draft's subject and/or body.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_event","description":"Update fields on an existing event (only provided fields change).","write_action":true,"price_micros":0,"input_schema":null},{"name":"whoami","description":"Return the signed-in user's Microsoft account profile.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-26T16:33:25.680Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T16:33:25.521Z","components":{"code":{"score":25,"max":25,"notes":["16 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":8,"max":15,"notes":["last push 90 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"mcp-outlook-personal","version":"0.1.1","found":true,"weeklyDownloads":72,"license":"MIT","dependencyCount":8,"publishedAt":"2026-06-28T09:19:52.236667Z"}],"repo":{"found":true,"owner":"salahawad","repo":"outlook-personal-mcp","archived":false,"pushedAt":"2026-06-28T09:19:19Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/3090296?v=4","ownerCreatedAt":"2012-12-20T13:58:56Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/3090296?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":72,"license":"MIT","lastPushAt":"2026-06-28T09:19:19.000Z","score":18}}}},"grade_history":[],"reviews":[]}