IAM Sentinel MCP Server
Provides a GitHub Action that scans IAM policies in pull requests and fails the build when high-severity privilege escalation paths are found, with inline SARIF feedback.
Extracts IAM configurations from Terraform plans to detect privilege escalation paths and provide least-privilege recommendations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@IAM Sentinel MCP ServerAudit this AWS IAM policy for wildcard actions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why
Cloud IAM scanners (Wiz, Snyk, GitHub Advanced Security) send your policies to their cloud.
Regulated teams can't do that. IAM Sentinel finds privilege-escalation paths, wildcards,
PassRole/roleAssignment abuse, public bindings, and data-exfil grants with a deterministic
rule engine โ reproducible and auditable, not an LLM guess โ entirely on your infrastructure.
๐ Air-gapped โ no telemetry, no outbound calls (except an optional local model).
๐ฏ Deterministic โ version-stamped findings from a rule engine, not hallucinations.
๐ In your IDE โ native stdio MCP server for Cursor / Claude Code.
๐งพ Auditable โ every scan persisted with actor, timestamp, SHA-256, and rule-pack version.
๐ฅ๏ธ Runs anywhere โ CPU-only core; a GPU is only for the optional written remediation.
Quickstart
git clone https://github.com/Pratikchandrathakur/IAM-Sentinel && cd iam-sentinel
cp .env.example .env # set API keys (Community tier needs no license)
docker compose up -d --build
open http://127.0.0.1:8080 # dashboard ยท API at /api/... ยท health at /api/healthAudit a policy (provider auto-detected):
curl -s http://127.0.0.1:8080/api/audit/iam -H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"policy_json":"{\"Statement\":[{\"Effect\":\"Allow\",\"Action\":\"*\",\"Resource\":\"*\"}]}"}' | jqNo GPU / macOS? Set LLM_NARRATIVE_ENABLED=false โ you still get every deterministic finding.
Full per-OS steps in INSTALL.md.
Use it inside your IDE (MCP)
{ "mcpServers": { "iam-sentinel": {
"command": "python3", "args": ["/abs/path/to/iam-sentinel/mcp_stdio.py"],
"env": { "AUTH_ENABLED": "false", "LLM_NARRATIVE_ENABLED": "false" }
}}}Then ask your assistant: "Audit this IAM policy with iam-sentinel."
CI/CD guardrails โ block privilege escalation on every PR
Scan the IAM inside a Terraform plan (or raw policy files) and fail the build when a new escalation path appears. Findings show inline on the PR via SARIF. No server needed.
# .github/workflows/iam-guardrails.yml (see examples/github-actions/)
- run: terraform show -json tf.plan > plan.json
- uses: Pratikchandrathakur/IAM-Sentinel@v1
with: { tfplan: plan.json, fail-on: HIGH }Or run the gate locally / in any CI (pure stdlib, offline):
python3 guardrails.py --tfplan plan.json --fail-on HIGH # exit 1 = blocking findings
python3 guardrails.py policies/*.json --format sarif > iam.sarifIt extracts IAM from Terraform plans (AWS aws_iam_policy/roles, Azure azurerm_role_definition,
GCP custom roles/bindings) โ no HCL parsing, using the resolved plan JSON.
No model required. Every scan returns a full deterministic remediation report (fixes + least-privilege skeleton) with zero external services. The optional local LLM is pure polish. Custom rules are a config drop-in โ see
custom_rules.example.json(no code change).
What it detects
AWS โ 19 escalation techniques (Rhino/PMapper):
AttachUserPolicy,PutRolePolicy,CreateAccessKey,PassRole+compute,UpdateAssumeRolePolicy, โฆ; wildcards,NotActiontraps, wildcard principals, unconditionedAssumeRole, data-exfil grants.Azure โ
roleAssignments/write,elevateAccess,Microsoft.Authorization/*, wildcard actions, scope breadth.GCP โ primitive roles,
allUsersbindings,setIamPolicy/serviceAccountTokenCreator/actAs.
Pricing
Open-core. Run it free; upgrade for seats, history, and enterprise controls (offline-licensed).
Tier | Price | Seats | Scans/mo | Adds |
Community | Free | 1 | 100 | AWS/Azure/GCP ยท MCP ยท audit trail |
Team | $199/mo | 10 | 5,000 | Remediation diff |
Enterprise | $4,999/yr | โ | โ | SSO/RBAC ยท TLS ยท SLA |
See the website or email krisprogrammer1@gmail.com for a pilot.
Tests
python3 tests/test_iam_engine.py # + test_multicloud / test_store / test_mcp / test_auth / ...License
Business Source License 1.1 (see LICENSE). Source is open; Community use
is free (single user / evaluation). Team, CI/CD, and organization-wide production use
requires a commercial subscription โ contact krisprogrammer1@gmail.com. Converts to
Apache-2.0 on 2030-07-25. You may not resell it or offer it as a competing hosted service.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pratikchandrathakur/IAM-Sentinel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server