{"id":9873,"date":"2026-08-28T02:37:44","date_gmt":"2026-08-28T02:37:44","guid":{"rendered":"https:\/\/pariswells.com\/blog\/?p=9873"},"modified":"2026-08-28T02:37:45","modified_gmt":"2026-08-28T02:37:45","slug":"m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph","status":"publish","type":"post","link":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph","title":{"rendered":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We had to whitelist Anthropic&#8217;s IP range (160.79.104.0\/21) from this policy so it can access Graph\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/support.claude.com\/en\/articles\/12684923-microsoft-365-connector-security-guide\" rel=\"noopener\" target=\"_blank\">Microsoft 365 connector security guide | Anthropic Help Center<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9873","post","type-post","status-publish","format-standard","hentry","category-research"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic&#039;s IP range (160.79.104.0\/21) from this policy so it can access Graph Microsoft 365\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"paris\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Welcome to Pariswells.com |\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com\" \/>\n\t\t<meta property=\"og:description\" content=\"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic&#039;s IP range (160.79.104.0\/21) from this policy so it can access Graph Microsoft 365\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-08-28T02:37:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-08-28T02:37:45+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com\" \/>\n\t\t<meta name=\"twitter:description\" content=\"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic&#039;s IP range (160.79.104.0\/21) from this policy so it can access Graph Microsoft 365\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#article\",\"name\":\"M365 MCP Client for Claude\\\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com\",\"headline\":\"M365 MCP Client for Claude\\\\M365 MCP Server for Claude Conditional Access for MS Graph\",\"author\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#organization\"},\"datePublished\":\"2026-08-28T02:37:44+00:00\",\"dateModified\":\"2026-08-28T02:37:45+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#webpage\"},\"articleSection\":\"Research\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pariswells.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research#listItem\",\"name\":\"Research\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research#listItem\",\"position\":2,\"name\":\"Research\",\"item\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#listItem\",\"name\":\"M365 MCP Client for Claude\\\\M365 MCP Server for Claude Conditional Access for MS Graph\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#listItem\",\"position\":3,\"name\":\"M365 MCP Client for Claude\\\\M365 MCP Server for Claude Conditional Access for MS Graph\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research#listItem\",\"name\":\"Research\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#organization\",\"name\":\"Welcome to Pariswells.com\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris\",\"name\":\"paris\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/93b8ee3f592ac401167f870452bd82d43de80152cd3524e2853403658ada9984?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"paris\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#webpage\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph\",\"name\":\"M365 MCP Client for Claude\\\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com\",\"description\":\"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic's IP range (160.79.104.0\\\/21) from this policy so it can access Graph Microsoft 365\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\"},\"datePublished\":\"2026-08-28T02:37:44+00:00\",\"dateModified\":\"2026-08-28T02:37:45+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/\",\"name\":\"Welcome to Pariswells.com\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com","description":"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic's IP range (160.79.104.0\/21) from this policy so it can access Graph Microsoft 365","canonical_url":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#article","name":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com","headline":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph","author":{"@id":"https:\/\/pariswells.com\/blog\/author\/paris#author"},"publisher":{"@id":"https:\/\/pariswells.com\/blog\/#organization"},"datePublished":"2026-08-28T02:37:44+00:00","dateModified":"2026-08-28T02:37:45+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#webpage"},"isPartOf":{"@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#webpage"},"articleSection":"Research"},{"@type":"BreadcrumbList","@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/pariswells.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/category\/research#listItem","name":"Research"}},{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/category\/research#listItem","position":2,"name":"Research","item":"https:\/\/pariswells.com\/blog\/category\/research","nextItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#listItem","name":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph"},"previousItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#listItem","position":3,"name":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph","previousItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/category\/research#listItem","name":"Research"}}]},{"@type":"Organization","@id":"https:\/\/pariswells.com\/blog\/#organization","name":"Welcome to Pariswells.com","url":"https:\/\/pariswells.com\/blog\/"},{"@type":"Person","@id":"https:\/\/pariswells.com\/blog\/author\/paris#author","url":"https:\/\/pariswells.com\/blog\/author\/paris","name":"paris","image":{"@type":"ImageObject","@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/93b8ee3f592ac401167f870452bd82d43de80152cd3524e2853403658ada9984?s=96&d=mm&r=g","width":96,"height":96,"caption":"paris"}},{"@type":"WebPage","@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#webpage","url":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph","name":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com","description":"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic's IP range (160.79.104.0\/21) from this policy so it can access Graph Microsoft 365","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/pariswells.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph#breadcrumblist"},"author":{"@id":"https:\/\/pariswells.com\/blog\/author\/paris#author"},"creator":{"@id":"https:\/\/pariswells.com\/blog\/author\/paris#author"},"datePublished":"2026-08-28T02:37:44+00:00","dateModified":"2026-08-28T02:37:45+00:00"},{"@type":"WebSite","@id":"https:\/\/pariswells.com\/blog\/#website","url":"https:\/\/pariswells.com\/blog\/","name":"Welcome to Pariswells.com","inLanguage":"en-US","publisher":{"@id":"https:\/\/pariswells.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Welcome to Pariswells.com |","og:type":"article","og:title":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com","og:description":"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic's IP range (160.79.104.0\/21) from this policy so it can access Graph Microsoft 365","og:url":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph","article:published_time":"2026-08-28T02:37:44+00:00","article:modified_time":"2026-08-28T02:37:45+00:00","twitter:card":"summary","twitter:title":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph | Welcome to Pariswells.com","twitter:description":"We were trying to whitelist Claude MCP from a conditional access policy that restricts 365 Apps to Company Enrolled Devices M365 MCP Server for Claude was accessing MS Graph and there was no way to whitelist this We had to whitelist Anthropic's IP range (160.79.104.0\/21) from this policy so it can access Graph Microsoft 365"},"aioseo_meta_data":{"post_id":"9873","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-08-28 02:34:34","updated":"2026-08-28 02:37:45","primary_term":null,"seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/pariswells.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/pariswells.com\/blog\/category\/research\" title=\"Research\">Research<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tM365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/pariswells.com\/blog"},{"label":"Research","link":"https:\/\/pariswells.com\/blog\/category\/research"},{"label":"M365 MCP Client for Claude\\M365 MCP Server for Claude Conditional Access for MS Graph","link":"https:\/\/pariswells.com\/blog\/research\/m365-mcp-client-for-claudem365-mcp-server-for-claude-conditional-access-for-ms-graph"}],"_links":{"self":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/comments?post=9873"}],"version-history":[{"count":1,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9873\/revisions"}],"predecessor-version":[{"id":9874,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9873\/revisions\/9874"}],"wp:attachment":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/media?parent=9873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/categories?post=9873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/tags?post=9873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}