Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI โ†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE โ†— (opens in a new tab)
  • llms.txt โ†— (opens in a new tab)
  • Catalog JSON โ†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub โ†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
ยฉ 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ๐Ÿ’ป Developer Tools
  3. Microsoft Entra SCIM
Microsoft Entra SCIM logo
Health: ActiveRecent health check succeeded.Last checked 9/7/2026, 7:27:41 PM

Microsoft Entra SCIM

User RatingsBe the first to rate and review this MCP server! Enrichment pendingWe havenโ€™t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time โ€” check back soon.
View Repository1 GitHub StarsTotal stargazers on GitHub for the source repository (1 stars).Visit Website

Microsoft Entra SCIM 2.0 Provisioning API: user and group lifecycle, with a local mock.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Not yet automatically verified

We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ€” we're steadily working through the catalog.

Manual Client & Custom JSON ConfigExpand JSON โ–พ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "microsoft-entra-scim": {
      "command": "npx",
      "args": [
        "-y",
        "--package"
      ]
    }
  }
}

๐Ÿ’ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Directory Badge Claim listing Alternatives๐Ÿ’ป More in Developer Tools

Documentation Overview

entra-scim-mcp

npm version npm downloads license

Model Context Protocol server for the Microsoft Entra SCIM 2.0 Provisioning API (GA April 2026). Exposes user and group lifecycle operations against https://graph.microsoft.com/rp/scim as MCP tools for agents like Claude.

What you can do with it

  • Discover the tenant's SCIM capabilities (get_service_provider_config, list_resource_types, list_schemas)
  • Provision, read, update, and deprovision users โ€” including Custom Security Attributes and lifecycle attrs
  • Create, update, and delete groups, and manage membership with the API's strict PATCH rules respected automatically

Prerequisites

Before this server can talk to your tenant, complete the one-time setup in the Microsoft docs:

  1. Entra ID P1 (or any SKU containing P1) and an Azure subscription to link for billing.
  2. Enable the SCIM Provisioning API in ID Governance โ†’ Dashboard and link a billing resource group.
  3. Register an application with the Microsoft Graph application permissions you need:
    • User.ReadWrite.All, Group.ReadWrite.All (core lifecycle)
    • CustomSecAttributeAssignment.ReadWrite.All, CustomSecAttributeDefinition.Read.All (CSA tools)
    • User-LifeCycleInfo.ReadWrite.All (lifecycle tools)
    • User-Mail.ReadWrite.All, User-Phone.ReadWrite.All, User.EnableDisableAccount.All (least-privilege alternatives) Grant admin consent.
  4. Create either a client secret or upload a PEM client certificate.

Every SCIM API call is billed โ€” this server does not batch beyond what the API requires.

Try it without an Entra tenant

The package ships a local mock of the Entra SCIM API (entra-scim-mock-server) so you can drive every tool with zero Azure setup and zero API billing:

bash
# shell 1 โ€” start the mock (seeds a small demo tenant)
npx -y --package entra-scim-mcp entra-scim-mock-server

Then point the MCP server at it:

config.json
{
  "mcpServers": {
    "entra-scim-mock": {
      "command": "npx",
      "args": ["-y", "entra-scim-mcp"],
      "env": {
        "ENTRA_SCIM_BASE_URL": "http://127.0.0.1:8990",
        "ENTRA_SCIM_STATIC_TOKEN": "dev-token"
      }
    }
  }
}

Mock flags: --port, --token, --seed <file.json>, --no-seed, --capture <file.jsonl> (log every request/response), --validator-compat (RFC-standard behavior for the Microsoft SCIM Validator โ€” see docs/scim-validator.md).

Install / run

The server is a stdio MCP server, designed to be launched by your MCP client (Claude Desktop, Claude Code, etc.).

Terminal
npx -y entra-scim-mcp

Required environment:

VarRequiredDescription
ENTRA_TENANT_IDyesDirectory (tenant) GUID
ENTRA_CLIENT_IDyesApp registration (client) GUID
ENTRA_CLIENT_SECRETone ofClient secret value (dev)
ENTRA_CLIENT_CERT_PATHone ofPath to a PEM containing the certificate and private key
ENTRA_CLIENT_CERT_PASSWORDoptionalPassword if the PEM is encrypted

Set exactly one of ENTRA_CLIENT_SECRET or ENTRA_CLIENT_CERT_PATH.

Development / testing environment variables

VarDescription
ENTRA_SCIM_BASE_URLOverride the SCIM base URL (default https://graph.microsoft.com/rp/scim). Point it at the local mock.
ENTRA_SCIM_STATIC_TOKENUse a fixed bearer token instead of Azure AD. Guardrails: requires ENTRA_SCIM_BASE_URL, refuses any *.microsoft.com / *.microsoft.us host, warns on non-loopback hosts, and cannot be combined with a real credential. Tenant/client IDs are not required in this mode.
ENTRA_SCIM_DRY_RUNSet to 1: tools run all client-side validation, then return the exact request that would have been sent instead of sending it. No token is acquired โ€” works with zero credential config.

Dry-run results come back as a successful payload:

config.json
{
  "dryRun": true,
  "request": {
    "method": "DELETE",
    "url": "https://graph.microsoft.com/rp/scim/users/u-1",
    "headers": {}
  }
}

(DELETE carries no Accept header โ€” the API rejects a specific JSON media type there. Every other method sends Accept: application/json.)

Multi-request tools (e.g. add_group_members beyond 20 ids) surface only their first chunked request in dry-run.

Claude Desktop config

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

config.json
{
  "mcpServers": {
    "entra-scim": {
      "command": "npx",
      "args": ["-y", "entra-scim-mcp"],
      "env": {
        "ENTRA_TENANT_ID": "00000000-0000-0000-0000-000000000000",
        "ENTRA_CLIENT_ID": "11111111-1111-1111-1111-111111111111",
        "ENTRA_CLIENT_SECRET": "..."
      }
    }
  }
}

For production, swap the secret for a certificate:

config.json
{
  "env": {
    "ENTRA_TENANT_ID": "...",
    "ENTRA_CLIENT_ID": "...",
    "ENTRA_CLIENT_CERT_PATH": "/secure/path/entra-scim-mcp.pem"
  }
}

Tools

The Kind column is the tool's MCP annotations, which is what a client reads when it decides whether a call needs your approval: read is readOnlyHint, add is a write that only creates (destructiveHint: false), overwrite is a write that discards or replaces state with no undo through this API (destructiveHint: true).

ToolKindPurpose
get_service_provider_configreadOne-shot capability discovery. Static per API version โ€” fetch once and reuse.
list_resource_typesreadEnumerate SCIM resource types (User, Group).
list_schemasreadEnumerate SCIM schemas and Entra extensions, with each attribute's type, mutability and default-return. Check a patch path here before building it.
list_usersreadList users; supports the API's restricted filter (eq/ew, and-only) and cursor pagination. Also how you resolve a userName to the object id every other user tool wants.
get_userreadRead a single user by id with optional attribute projection. Neither CSAs nor group membership are ever included.
provision_useraddCreate a user with the required attribute set enforced (userName, password, displayName, name.givenName, name.familyName, mailNickname).
update_useroverwritePATCH a user; blocks remove of mailNickname and enforces [type eq "work"] on address paths.
deprovision_useroverwriteDELETE a user. Soft-deleted for 30 days, restorable only via Graph; also strips every group membership.
update_user_lifecycleoverwriteSet lifecycle attrs (e.g. employeeLeaveDateTime) โ€” which Lifecycle Workflows can fire off. Requires User-LifeCycleInfo.ReadWrite.All.
get_user_custom_security_attributesreadRead a user's CSAs, projected by attribute set. attributeSets is required โ€” the API rejects the bare extension URN, and CSAs never come back from a plain get_user.
update_user_custom_security_attributesoverwritePATCH CSAs on a user. remove, or replace with an empty array, deletes an assignment.
list_groupsreadList groups with the API's restricted filter set. A members.value filter is the only way to read membership.
get_groupreadRead a single group (members are NOT returned โ€” use list_groups with a members.value filter).
create_groupaddPOST a group. Sets mailEnabled, securityEnabled, mailNickname, description via the Entra extension. displayName is not unique.
update_groupoverwritePATCH group attributes only (membership ops are rejected here; type flags are fixed at creation).
add_group_membersaddAdd โ‰ฅ1 users to a group โ€” auto-chunks at 20 ids per PATCH (API cap), one Operation per PATCH. Idempotent. Each PATCH is atomic per RFC 7644, but a multi-chunk sequence is not: if a later chunk fails, this server (not the API) raises AddGroupMembersPartialFailure naming addedMemberIds / failedMemberIds / notAttemptedMemberIds, so a partial write is never silent.
remove_group_memberoverwriteRemove a single user from a group (the API allows only one removal per PATCH, with no other ops). A 404 here usually means not a member, not no such group.
delete_groupoverwriteDELETE a group. Unified groups are recoverable for 30 days via Graph; security groups are not.

What the agent is told, and where

A model never reads this file, so everything it needs has to travel in the protocol. Three places carry it, and the split is deliberate:

  • Server instructions, sent once in the handshake, hold what is true of every tool: ids rather than names, membership being readable in one direction only, CSAs being invisible to ordinary reads, the narrow filter grammar, and that every call is a billed Graph request. Repeating that in eighteen descriptions would cost more context than it bought.
  • Tool descriptions hold what is specific to one tool, including the failure modes worth pre-empting โ€” the 404 that names the group when the user simply is not a member, the mailNickname that cannot be removed once set, the second provision_user that conflicts rather than merges.
  • Input descriptions hold per-argument syntax. The three PATCH tools each carry their own path example, because path syntax is the one thing here that cannot be guessed: the API accepts a narrow subset of RFC 7644, and the subset differs between ordinary attributes and CSAs.

Read the full README โ†’View source on GitHub โ†’

Related MCP Servers

View all in Developer Tools View all alternatives
  • Ignite UI MCP Server logoIgnite UI MCP Server

    Unified MCP server for Ignite UI โ€” documentation, API, and CLI scaffolding

    ๐Ÿ’ป Developer Tools1 views
    Compare vs Ignite UI MCP Server โ†’
  • MCP Server Taiwan Weather logoMCP Server Taiwan Weather

    ็”จๆ–ผๅ–ๅพ—่‡บ็ฃไธญๅคฎๆฐฃ่ฑก็ฝฒ API ่ณ‡ๆ–™็š„ Model Context Protocol (MCP) Server

    ๐Ÿ’ป Developer Tools0 views
    Compare vs MCP Server Taiwan Weather โ†’
  • PraisonAI logoPraisonAI

    AI Agents Framework with Self Reflection and MCP support

    ๐Ÿ’ป Developer Tools1 views
    Compare vs PraisonAI โ†’
  • Open Notebook logoOpen Notebook

    MCP server that wraps the Open Notebook API

    ๐Ÿ’ป Developer Tools0 views
    Compare vs Open Notebook โ†’

Reviews

No reviews yet โ€” be the first to share how this listing worked for you.

Frequently Asked Questions about Microsoft Entra SCIM

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "microsoft-entra-scim": { "command": "npx", "args": ["-y", "Microsoft Entra SCIM"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMicrosoft Entra SCIM AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/microsoft-entra-scim?style=directory)](https://allmcps.com/mcp/microsoft-entra-scim)
HTML Embed
<a href="https://allmcps.com/mcp/microsoft-entra-scim"><img src="https://allmcps.com/api/badge/microsoft-entra-scim?style=directory" alt="Microsoft Entra SCIM on AllMCPs" /></a>

Technical Specs & Signals

Category๐Ÿ’ปDeveloper Tools
More technical detailsExpand โ–พ
TransportSTDIO
RuntimeNode.js
Last updatedSep 7, 2026
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars1
GitHub Star CountTotal stargazers on GitHub representing community popularity (1 stars).
36Quality signal: Fair ยท 36/100How this signal is calculated โ–พ
Server availabilityNot measured

Not scored for repo-hosted servers โ€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership10/20
Documentation & tools16/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data โ€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

โ˜… FeaturedAllMCPs Server logo

AllMCPs Server

The official MCP server for AllMCPs.com - submit and manage tools directly from your AI. The open directory for MCP servers. Connect Claude, Cursor, Windsurf, and AI agents to databases, tools, files, and APIs. Explore 10,000+ servers. AllMCPs is the premier, open directory for discovering, evaluating, and installing Model Context Protocol (MCP) servers to equip AI agents and LLMs with real-world superpowers.

Explore Server โ†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge โ€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it โ€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ๐Ÿ’ป Developer Tools โ†’Best MCP servers for Developers โ†’Alternatives to Microsoft Entra SCIM โ†’Install in Claude DesktopInstall in CursorInstall in VS Code