entra-scim-mcp

MCPcon attestation
v0.3.0io.github.darrenjrobinsonMITActualizado hace 13 dnpmGitHub

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

Funciona en
ClaudeCursorCopilotGemini

Inferido de los transportes que declara este listado (stdio). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.

Build con attestation
Una attestation de procedencia verificada vincula este artefacto al repositorio listado. Nadie ha reclamado todavía el listado: esto demuestra dónde se construyó el código, no quién lo respalda.
68Descargas/sem.
2Estrellas en GitHub
hace 13 dÚltima actualización
Lee estas credenciales
  • ENTRA_CLIENT_SECRETApp OAuthopcional

    Client secret value. For a live tenant set exactly one of ENTRA_CLIENT_SECRET or ENTRA_CLIENT_CERT_PATH; a certificate is preferred for anything long-lived.

  • ENTRA_CLIENT_CERT_PASSWORDClave de APIopcional

    Password for the PEM, if it is encrypted.

  • ENTRA_SCIM_STATIC_TOKENClave de APIopcional

    Use a fixed bearer token instead of Azure AD. Refuses any microsoft.com/microsoft.us host and requires ENTRA_SCIM_BASE_URL; intended for the local mock only.

Declarado por el autor en el registro oficial de MCP. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Paquete
Autorio.github.darrenjrobinson
LicenciaMIT
Versión0.3.0
Fuentenpm+mcp-registry
Estado de confianza
A
85/100Fiable
✓Listado en el índice de Forge+10/10
✓Identidad verificada · build con attestation+20/20
—Firma de publicación Ed25519+0/5
→ Se incluye automáticamente cuando el publicador ejecuta `forge publish`
—Verificación de dominio+0/5
→ Publicador: aloja /.well-known/forge.json en la página del paquete con { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—Coincidencia de maintainer en npm+0/5
→ Publicador: añade el login de GitHub verificado a los maintainers del paquete de npm (npm owner add <login>)
✓Análisis CVE · limpio+30/30
✓Análisis estático · limpio+20/20
Pégalo en Claude Code, Cursor o cualquier asistente de IA para corregir todas las carencias
EstadoIdentidad verificada
PublicadorSin verificar
FirmaSin firmar
Dominio—
Procedencia✓ Verificado con Sigstore · 18a7b3f
Dependencias✓ 60 resueltas+ · ninguna vulnerable
Superficie de herramientas18 herramientas · 2 privilegiadas
Análisis de seguridad✓ Limpiov0.2.1 · hace 28 d¿Qué tan bien funciona este análisis?
EvaluacionesNinguna
Indexado26 ago 2026

La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.

Herramientas

18 herramientas · 2 privilegiadas
Extraído estáticamente del paquete publicadov0.2.1 · 28d ago

Leído del código que npm publica realmente, en el momento del análisis. El paquete nunca se ejecutó. Las herramientas registradas dinámicamente en tiempo de ejecución, o escondidas en código empaquetado o minificado, pueden pasarse por alto — así que esto es un mínimo de la superficie de herramientas, no un censo completo.

get_service_provider_configFetch the Entra SCIM service provider configuration (supported features: patch, filter, pagination, bulk). Answers what the endpoint supports, not what is in the directory. The response is the same for every tenant and changes only when Microsoft changes the API, so fetch it once and reuse it rathe…

Fetch the Entra SCIM service provider configuration (supported features: patch, filter, pagination, bulk). Answers what the endpoint supports, not what is in the directory. The response is the same for every tenant and changes only when Microsoft changes the API, so fetch it once and reuse it rathe…

No se publicó ningún esquema de entrada para esta herramienta.

list_resource_typesList the SCIM resource types Entra supports (User, Group) and the schemas each one uses. Pass id to fetch a single type. Static per API version — cache it rather than re-fetching.

List the SCIM resource types Entra supports (User, Group) and the schemas each one uses. Pass id to fetch a single type. Static per API version — cache it rather than re-fetching.

No se publicó ningún esquema de entrada para esta herramienta.

list_schemasList Entra SCIM schemas (core User, core Group, enterprise extension, Entra extensions, CustomSecurityAttributes) with each attribute's type, mutability and whether it is returned by default. Use it to check an attribute name or extension URN before building a patch path. Pass id to fetch a single…

List Entra SCIM schemas (core User, core Group, enterprise extension, Entra extensions, CustomSecurityAttributes) with each attribute's type, mutability and whether it is returned by default. Use it to check an attribute name or extension URN before building a patch path. Pass id to fetch a single…

No se publicó ningún esquema de entrada para esta herramienta.

list_groupsList Entra groups via SCIM. Filter supports 'eq' on displayName/id/members.value and 'ew' on displayName; only 'and' is supported. Cursor-based pagination. A members.value filter is the only way to discover which groups a user belongs to — neither get_user nor get_group reports membership.

List Entra groups via SCIM. Filter supports 'eq' on displayName/id/members.value and 'ew' on displayName; only 'and' is supported. Cursor-based pagination. A members.value filter is the only way to discover which groups a user belongs to — neither get_user nor get_group reports membership.

No se publicó ningún esquema de entrada para esta herramienta.

get_groupFetch a single group by id. Note: members are NOT returned, at any page size or projection. To find a user's groups, use list_groups with a members.value filter; to check one specific membership, filter list_groups on both id and members.value.

Fetch a single group by id. Note: members are NOT returned, at any page size or projection. To find a user's groups, use list_groups with a members.value filter; to check one specific membership, filter list_groups on both id and members.value.

No se publicó ningún esquema de entrada para esta herramienta.

create_groupSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

update_groupPATCH group attributes — e.g. { op: "replace", path: "displayName", value: "Platform Engineering" }, or the Entra extension URN ending in ":description". Membership changes are NOT allowed here: a "members" path is rejected client-side before any request is sent, so use add_group_members / remove_g…

PATCH group attributes — e.g. { op: "replace", path: "displayName", value: "Platform Engineering" }, or the Entra extension URN ending in ":description". Membership changes are NOT allowed here: a "members" path is rejected client-side before any request is sent, so use add_group_members / remove_g…

No se publicó ningún esquema de entrada para esta herramienta.

delete_groupprivilegiadaDELETE a group by id. Microsoft 365 / Unified groups are soft-deleted and restorable for 30 days, security groups are removed permanently — and either way restoration is a Microsoft Graph operation, not a SCIM one, so this server cannot undo it. The group's members are not deleted, only their membe…

DELETE a group by id. Microsoft 365 / Unified groups are soft-deleted and restorable for 30 days, security groups are removed permanently — and either way restoration is a Microsoft Graph operation, not a SCIM one, so this server cannot undo it. The group's members are not deleted, only their membe…

No se publicó ningún esquema de entrada para esta herramienta.

add_group_membersSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

remove_group_memberprivilegiadaSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

list_usersList Entra users via SCIM. Filter supports 'eq' on userName/externalId/id/groups.value/mailNickname and 'ew' on userName/mailNickname; only 'and' is supported. Cursor-based pagination. This is also how you resolve a userName to an object id, since every other user tool takes the id. Prefer a filter…

List Entra users via SCIM. Filter supports 'eq' on userName/externalId/id/groups.value/mailNickname and 'ew' on userName/mailNickname; only 'and' is supported. Cursor-based pagination. This is also how you resolve a userName to an object id, since every other user tool takes the id. Prefer a filter…

No se publicó ningún esquema de entrada para esta herramienta.

get_userFetch a single user by Entra object id. Two things are never in the response, whatever you project: Custom Security Attributes (the schema marks them returned:"request" — use get_user_custom_security_attributes) and group memberships (filter list_groups on members.value instead). To look a user up…

Fetch a single user by Entra object id. Two things are never in the response, whatever you project: Custom Security Attributes (the schema marks them returned:"request" — use get_user_custom_security_attributes) and group memberships (filter list_groups on members.value instead). To look a user up…

No se publicó ningún esquema de entrada para esta herramienta.

provision_userCreate a user in Entra via SCIM. Enforces the required attribute set: userName, password, displayName, givenName, familyName, mailNickname. active defaults to true. Not idempotent — a second call with the same userName fails with a uniqueness conflict, so check with list_users first if a retry migh…

Create a user in Entra via SCIM. Enforces the required attribute set: userName, password, displayName, givenName, familyName, mailNickname. active defaults to true. Not idempotent — a second call with the same userName fails with a uniqueness conflict, so check with list_users first if a retry migh…

No se publicó ningún esquema de entrada para esta herramienta.

update_userSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

deprovision_userDELETE a user by id. The user is soft-deleted into the Entra recycle bin and is restorable for 30 days — but only through Microsoft Graph, not SCIM, so this server cannot undo it. Deleting also strips every group membership, which is why a later remove_group_member for this user returns 404. A seco…

DELETE a user by id. The user is soft-deleted into the Entra recycle bin and is restorable for 30 days — but only through Microsoft Graph, not SCIM, so this server cannot undo it. Deleting also strips every group membership, which is why a later remove_group_member for this user returns 404. A seco…

No se publicó ningún esquema de entrada para esta herramienta.

update_user_lifecyclePATCH lifecycle attributes on a user — currently employeeLeaveDateTime. Not an inert field: Entra Lifecycle Workflows can be scheduled off it, so writing a past or imminent date may start offboarding. Called with no attributes set it changes nothing and returns { noChanges: true } without issuing a…

PATCH lifecycle attributes on a user — currently employeeLeaveDateTime. Not an inert field: Entra Lifecycle Workflows can be scheduled off it, so writing a past or imminent date may start offboarding. Called with no attributes set it changes nothing and returns { noChanges: true } without issuing a…

No se publicó ningún esquema de entrada para esta herramienta.

get_user_custom_security_attributesFetch Custom Security Attributes for a user, projected by attribute set. attributeSets is required — the API rejects the bare extension URN with a 400. CSAs never come back from a plain get_user; they are only returned when named explicitly here. A set the user holds no values in comes back empty,…

Fetch Custom Security Attributes for a user, projected by attribute set. attributeSets is required — the API rejects the bare extension URN with a 400. CSAs never come back from a plain get_user; they are only returned when named explicitly here. A set the user holds no values in comes back empty,…

No se publicó ningún esquema de entrada para esta herramienta.

update_user_custom_security_attributesSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

13 de 18 herramientas publicaron una descripción.

Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.

Acerca de

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

Palabras clave
mcp
Alternativas
Comparando superficies de herramientas…

Árbol de dependencias

Lo que un análisis de Forge resolvió a partir de los metadatos de npm el 2026-09-14: resolución observada, no una declaración del publicador.

60 paquetes resueltos · 3 directos · ninguno con avisos de seguridad La resolución se detiene en la profundidad 4 y en 60 paquetes.

El rastreo se detuvo en el límite de 60 paquetes. El resto del árbol nunca se resolvió.

Hay 36 paquetes resueltos más que no se dibujan aquí (límite de visualización: 24). Toda dependencia con avisos de seguridad se dibuja aunque se supere el límite. Inventario completo (SBOM CycloneDX)

Declaradas pero no resueltas

67 dependencias declaradas nunca llegaron al árbol. Faltan en la resolución de Forge, no en el paquete.

+55 más sin listar. Los recuentos por motivo de arriba las incluyen todas.

No se siguen: peerDependencies. Este árbol cubre solo dependencias en tiempo de ejecución, así que lo que estas arrastren nunca se resolvió.