MCPcopy Index your code
hub / github.com/FrodeHus/EntraRoleReaper

github.com/FrodeHus/EntraRoleReaper @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
743 symbols 1,312 edges 219 files 41 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

logo RoleReaper

.NET

Full-stack app to perform access reviews of Entra ID users.

  • Backend: .NET 9 Minimal API, Microsoft Identity (OBO) + Microsoft Graph
  • Frontend: Vite + React + TypeScript + Tailwind + shadcn/ui components

What it does

Entra Role Reaper uses Entra audit log to find actual activities performed by user(s) and using mappings determine which least privilege roles the user actually should have.

See Wiki

Prereqs

  • .NET SDK 9+ installed
  • Node.js 18+ and pnpm or npm
  • Entra ID tenant and ability to create app registrations

Extension points exported contracts — how you extend this code

IEndpoint (Interface)
(no doc)
server/Endpoints/IEndpoint.cs
IRoleRequirement (Interface)
(no doc)
server/Review/IRoleRequirement.cs
IGraphServiceFactory (Interface)
(no doc)
server/Modules/Entra/Graph/Common/IGraphServiceFactory.cs
ICacheService (Interface)
(no doc)
server/Services/CacheService.cs
ImportMetaEnv (Interface)
(no doc)
web/vite-env.d.ts
TreeDataItem (Interface)
(no doc)
web/src/components/tree-view.tsx
IUserService (Interface)
(no doc)
server/Review/IUserService.cs
IGraphService (Interface)
(no doc)
server/Modules/Entra/Graph/Common/IGraphService.cs

Core symbols most depended-on inside this repo

cn
called by 105
web/src/lib/utils.ts
Add
called by 49
server/Data/Repository.cs
Equals
called by 18
server/Review/RoleComparer.cs
load
called by 11
web/src/app/pages/TenantPage.tsx
Update
called by 9
server/Data/Repository.cs
AddRange
called by 8
server/Modules/Entra/Roles/Repositories/ResourceActionRepository.cs
SaveChangesAsync
called by 8
server/Services/UnitOfWorkService.cs
GetById
called by 6
server/Data/Repository.cs

Shape

Method 368
Function 167
Class 166
Interface 40
Enum 2

Languages

C#75%
TypeScript24%
Python1%

Modules by API surface

server/Services/ActivityService.cs34 symbols
server/Services/RoleService.cs19 symbols
web/src/app/pages/RoleEditorPage.tsx17 symbols
server/Services/CacheService.cs17 symbols
server/Modules/Entra/Graph/Common/GraphService.cs15 symbols
server/Modules/Entra/Tenants/Repositories/TenantRepository.cs14 symbols
web/src/components/stepper.tsx12 symbols
server/Modules/Entra/EntraModuleExtensions.cs12 symbols
server/Modules/Entra/Roles/Repositories/RoleRepository.cs11 symbols
server/Modules/Entra/Roles/Repositories/ResourceActionRepository.cs11 symbols
web/src/components/ui/item.tsx10 symbols
web/src/components/ui/field.tsx10 symbols

For agents

$ claude mcp add EntraRoleReaper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact