MCP server intelligence profile

Microsoft Outlook MCP Server

Enables AI assistants to manage Outlook mail, calendar, and contacts via Microsoft Graph API with secure device code authentication

Local Onlytaddiemason
Awaiting current scanNpm · 1.0.1

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
14Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install microsoft-outlook-mcp from npm

Version 1.0.1 declares 1 executable entrypoint.

npm install --save-exact microsoft-outlook-mcp@1.0.1
npx -y -p microsoft-outlook-mcp@1.0.1 microsoft-outlook-mcp
MCP client configuration example
{
  "mcpServers": {
    "microsoft-outlook-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "microsoft-outlook-mcp@1.0.1",
        "microsoft-outlook-mcp"
      ]
    }
  }
}

Identity

Canonical slugmicrosoft-outlook-mcp-a81b9b33DeploymentLocal Only
Canonical packagenpm:microsoft-outlook-mcpRepositorytaddiemason/Microsoft-Outlook-MCP
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmmicrosoft-outlook-mcp1.0.11Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmmicrosoft-outlook-mcp1.0.1CurrentSep 5, 202614 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
microsoft-outlookServer-reported name
1Capability groups
Aug 22, 2026Observed

Tools 14

ToolCategoryAnnotationsRisk
create_email_draftCreate a new, standalone draft email that can be edited and sent later. Use this only for starting a fresh message — to draft a reply within an existing conversation thread, use create_reply_draft instead.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "to": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Email address"
      },
      "description": "Recipient email addresses"
    },
    "subject": {
      "type": "string",
      "description": "Email subject"
    },
    "body": {
      "type": "string",
      "description": "Email body"
    },
    "body_type": {
      "description": "Body content type. Defaults to text.",
      "type": "string",
      "enum": [
        "text",
        "html"
      ]
    },
    "cc": {
      "description": "CC recipients",
      "type": "array",
      "items": {
        "type": "string",
        "description": "Email address"
      }
    },
    "bcc": {
      "description": "BCC recipients",
      "type": "array",
      "items": {
        "type": "string",
        "description": "Email address"
      }
    },
    "attachments": {
      "description": "File attachments",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Filename"
          },
          "contentType": {
            "type": "string",
            "description": "MIME type, e.g. 'application/pdf'"
          },
          "contentBytes": {
            "type": "string",
            "description": "Base64-encoded file content"
          }
        },
        "required": [
          "name",
          "contentType",
          "contentBytes"
        ]
      }
    }
  },
  "required": [
    "to",
    "subject",
    "body"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive
create_reply_draftDraft a reply to an existing email, kept inside the original conversation thread. Produces an editable draft (in Drafts) that inherits the conversation, the 'RE:' subject, threading headers, and quoted history — review and send it later with send_email or via Outlook. Use this instead of create_email_draft whenever responding to a message.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID being replied to"
    },
    "body": {
      "type": "string",
      "description": "Your reply text, inserted above the quoted original message"
    },
    "reply_all": {
      "description": "Reply to all recipients of the original (sender + to + cc) instead of just the sender. Defaults to false.",
      "type": "boolean"
    },
    "cc": {
      "description": "Additional CC recipients to add to the reply",
      "type": "array",
      "items": {
        "type": "string",
        "description": "Email address"
      }
    }
  },
  "required": [
    "email_id",
    "body"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive
delete_emailPermanently delete an email message.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID to delete"
    }
  },
  "required": [
    "email_id"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive
get_attachmentGet an email attachment's content (returned as base64 in contentBytes).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID"
    },
    "attachment_id": {
      "type": "string",
      "description": "Attachment ID"
    }
  },
  "required": [
    "email_id",
    "attachment_id"
  ]
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false
}
Read onlyNon-destructive
get_emailGet a single email message by ID with full body and headers.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID"
    },
    "include_body": {
      "description": "Include message body. Defaults to true.",
      "type": "boolean"
    },
    "body_max_length": {
      "description": "Max characters of body content to return. Defaults to 50000.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "include_attachments": {
      "description": "Include attachment metadata. Defaults to true.",
      "type": "boolean"
    }
  },
  "required": [
    "email_id"
  ]
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false
}
Read onlyNon-destructive
list_emailsList emails from a mailbox folder ordered by date descending.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "folder": {
      "description": "Folder name: inbox, sent, drafts, deleted, junk, archive, or a folder ID. Defaults to inbox.",
      "type": "string"
    },
    "limit": {
      "description": "Number of messages to return (1–100). Defaults to 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "include_body": {
      "description": "Include message body. Defaults to true.",
      "type": "boolean"
    }
  }
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false
}
Read onlyNon-destructive
meGet the signed-in user's profile (id, displayName, mail).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false
}
Read onlyNon-destructive
move_emailMove an email to a different folder.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID to move"
    },
    "destination_folder": {
      "type": "string",
      "description": "Destination folder name (inbox, sent, drafts, deleted, junk, archive) or folder ID"
    }
  },
  "required": [
    "email_id",
    "destination_folder"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive
reply_all_emailReply to all recipients of an email.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID to reply-all to"
    },
    "body": {
      "type": "string",
      "description": "Reply body"
    },
    "body_type": {
      "description": "Body content type. Defaults to text.",
      "type": "string",
      "enum": [
        "text",
        "html"
      ]
    }
  },
  "required": [
    "email_id",
    "body"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive
reply_to_emailReply to an email (sender only).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID to reply to"
    },
    "body": {
      "type": "string",
      "description": "Reply body"
    },
    "body_type": {
      "description": "Body content type. Defaults to text.",
      "type": "string",
      "enum": [
        "text",
        "html"
      ]
    }
  },
  "required": [
    "email_id",
    "body"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive
search_emailsSearch emails by keyword across all folders or within a specific folder (KQL syntax supported).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query string"
    },
    "limit": {
      "description": "Max results. Defaults to 50.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "folder": {
      "description": "Limit search to this folder (inbox, sent, etc.)",
      "type": "string"
    }
  },
  "required": [
    "query"
  ]
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false
}
Read onlyNon-destructive
send_emailSend an email immediately.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "to": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Email address"
      },
      "description": "Recipient email addresses"
    },
    "subject": {
      "type": "string",
      "description": "Email subject"
    },
    "body": {
      "type": "string",
      "description": "Email body"
    },
    "body_type": {
      "description": "Body content type. Defaults to text.",
      "type": "string",
      "enum": [
        "text",
        "html"
      ]
    },
    "cc": {
      "description": "CC recipients",
      "type": "array",
      "items": {
        "type": "string",
        "description": "Email address"
      }
    },
    "bcc": {
      "description": "BCC recipients",
      "type": "array",
      "items": {
        "type": "string",
        "description": "Email address"
      }
    },
    "attachments": {
      "description": "File attachments",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Filename"
          },
          "contentType": {
            "type": "string",
            "description": "MIME type, e.g. 'application/pdf'"
          },
          "contentBytes": {
            "type": "string",
            "description": "Base64-encoded file content"
          }
        },
        "required": [
          "name",
          "contentType",
          "contentBytes"
        ]
      }
    }
  },
  "required": [
    "to",
    "subject",
    "body"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive
unified_searchSearch across multiple Microsoft 365 content types (email, calendar events, files) in one query.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query string"
    },
    "entity_types": {
      "description": "Entity types to search. Defaults to [message, event, driveItem].",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "message",
          "event",
          "driveItem",
          "site",
          "listItem"
        ]
      }
    },
    "limit": {
      "description": "Max total results. Defaults to 50.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "query"
  ]
}
Annotations
{
  "readOnlyHint": true,
  "destructiveHint": false
}
Read onlyNon-destructive
update_emailUpdate email properties such as read status, categories, or flag.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "email_id": {
      "type": "string",
      "description": "Message ID to update"
    },
    "updates": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Properties to update, e.g. {\"isRead\": true, \"categories\": [\"work\"]}"
    }
  },
  "required": [
    "email_id",
    "updates"
  ]
}
Annotations
{
  "readOnlyHint": false,
  "destructiveHint": true
}
WritesDestructive

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Microsoft Outlook MCP Server questions

How do I install Microsoft Outlook MCP Server?

Install the selected package version with: npm install --save-exact microsoft-outlook-mcp@1.0.1

What tools does Microsoft Outlook MCP Server provide?

Microsoft Outlook MCP Server exposed 14 tools during independent protocol observation, including create_email_draft, create_reply_draft, delete_email, get_attachment, get_email, list_emails, me, move_email, and others.

Is Microsoft Outlook MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Microsoft & Azure intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.