Inforcer logo

Inforcer

Read-only access to Inforcer Microsoft 365 governance data, with tools for assessment and report runs.

Install Inforcer

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "inforcer-2": {
      "command": "npx",
      "args": [
        "-y",
        "github:WYRE-AI/inforcer-mcp"
      ],
      "env": {
        "INFORCER_REGION": "YOUR_VALUE_HERE",
        "INFORCER_API_KEY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

The install command didn't complete successfully in our automated test.

npx -y github:WYRE-AI/inforcer-mcp

npm ERR! npm warn using --force Recommended protections disabled. npm ERR! Killed npm ERR! npm ERR! code 137 npm ERR! npm ERR! path /home/user/.npm/_cacache/tmp/git-clonejKnKFs npm ERR! npm ERR! command failed npm ERR! npm ERR! command sh -c npm run build npm ERR! npm ERR! npm ERR! A complete log of this run can be found in: /home/user/.npm/_logs/2026-10-17T10_57_43_056Z-debug-0.log npm ERR! A complete log of this run can be found in: /home/user/.npm/_logs/2026-10-17T10_57_37_750Z-debug-0.log

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 7d ago.

Overview

The Inforcer MCP server connects AI assistants to Inforcer’s Microsoft 365 baseline-governance data through a region-scoped API key. It exposes read-only tools for tenants, baselines, alignment and drift, policies, secure scores, identity, audit logs, assessments, and reports, with two high-impact actions for triggering assessments or queuing reports. Use it when an agent needs to inspect Inforcer governance data or retrieve report outputs without exposing policy, tenant, or baseline mutation tools. It supports local stdio operation and streamable HTTP deployment, including Docker and gateway-based authentication.

Use cases

  • Inspect Microsoft 365 baseline alignment and tenant drift
  • Review Inforcer policies and secure scores for a tenant
  • Search identity records and audit events
  • Trigger an assessment after confirming the action
  • Queue and retrieve asynchronous governance reports

Key features

  • Read-only Microsoft 365 governance queries
  • Tenant identifier resolution across multiple input formats
  • Baseline alignment and drift inspection
  • Identity, policy, secure score, and audit access
  • Assessment and asynchronous report execution
  • Stdio and streamable HTTP transports

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

7/7 checks healthy over the last 46d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 6d ago via OSV.dev · github:WYRE-AI/inforcer-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit4d agoMost recent push to the default branch.
Install checkInconclusiveInstall command did not finish in our automated test.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Inforcer works

What Inforcer MCP server does

The Inforcer MCP server gives MCP-compatible AI assistants structured access to Inforcer data for Microsoft 365 baseline governance. Its coverage includes tenant records, baseline listings, alignment scores, tenant-level drift details, policies, Microsoft Secure Score data, Entra ID users and groups, roles, audit events, assessments, and reports.

Most operations only retrieve information. The two exceptions are inforcer_assessments_run, which starts an assessment for a tenant, and inforcer_reports_run, which queues report work for one or more tenants. These actions are marked high-impact and require confirmation before execution. The server does not provide create, update, or delete operations for tenants, policies, or baselines.

How it works

The Inforcer MCP server wraps the @wyre-technology/node-inforcer SDK. That SDK uses a community-sourced API surface rather than an official Inforcer REST specification, so endpoint behavior and response fields may change. Results that matter operationally should be checked against the Inforcer portal.

Agents can begin with inforcer_navigate to identify available domains, or invoke domain tools directly. Tenant-scoped tools accept a numeric Client Tenant ID, tenant DNS name, Azure AD tenant GUID, or friendly name. Names and identifiers are resolved to the numeric Client Tenant ID before the request. If an input matches multiple tenants, the request fails as ambiguous; inforcer_tenants_resolve can show the mapping.

Report execution is asynchronous. After queuing a report, poll its status with inforcer_reports_run_status until it is terminal, then retrieve output files with inforcer_reports_download_output, which returns base64-encoded content.

Setup and configuration

The server requires Node.js 18 or newer. For local use, configure INFORCER_REGION with one of anz, eu, uk, or us, and set INFORCER_API_KEY to an Inforcer API key. The key is sent in the Inf-Api-Key header. Tool discovery works without credentials, but real API calls require both variables.

The default transport is stdio. Set MCP_TRANSPORT=http for HTTP operation and use MCP_HTTP_PORT to change the default port of 8080. LOG_LEVEL accepts debug, info, warn, or error. AUTH_MODE defaults to env; gateway deployments use AUTH_MODE=gateway together with HTTP transport.

Docker deployment exposes the HTTP server and a health endpoint. In gateway mode, request headers x-inforcer-region and x-inforcer-api-key supply per-request credentials. The server invalidates its cached client when those credentials change.

Tools and capabilities

The Inforcer MCP server includes tools for navigation and connectivity checks, tenant listing and lookup, baseline discovery, alignment scoring and drift inspection, policy listing, secure scores, identity records, audit searches, assessment history and execution, and report type, run, status, and output operations.

Credentials are not written to structured logs. The implementation supports both local stdio use and HTTP deployment for a gateway or containerized environment.

Limitations and notes

The underlying API is community-sourced and may change without notice. Assessment and report runs trigger real work in Inforcer and are visible to operators, despite not being destructive. Confirm them with the user before invocation. The tenant identifier used by Inforcer is distinct from the Azure AD tenant GUID, so ambiguous names should be replaced with the numeric Client Tenant ID.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Inforcer

Inforcer is an MCP server that connects AI assistants to Inforcer’s Microsoft 365 baseline-governance data through region-scoped API access. Its main tools cover tenants, baselines, alignment and drift, policies, secure scores, identity, audit logs, assessments, and reports, with assessment and report runs as the only write actions.

Install it with the Claude Code MCP command, Docker, or from source. The Claude Code setup uses `npx -y github:WYRE-AI/inforcer-mcp`; Docker can run the published image; source installation uses `npm ci` followed by `npm run build`.

Set `INFORCER_REGION` and `INFORCER_API_KEY` before making API calls. The region must be `anz`, `eu`, `uk`, or `us`; the API key is sent as the `Inf-Api-Key` header. `MCP_TRANSPORT`, `MCP_HTTP_PORT`, `AUTH_MODE`, and `LOG_LEVEL` are optional configuration variables.

No, it does not expose create, update, or delete tools for policies, tenants, or baselines. The only non-read-only tools start an assessment or queue reports, and both actions are marked high-impact and require confirmation.

Queue a report with `inforcer_reports_run`, poll the resulting run using `inforcer_reports_run_status` until `isTerminal` is true, and retrieve each generated file with `inforcer_reports_download_output`. Downloaded output is returned as base64-encoded file content.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

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 PreviewInforcer AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/inforcer-2?style=directory)](https://allmcps.com/mcp/inforcer-2)
HTML Embed
<a href="https://allmcps.com/mcp/inforcer-2"><img src="https://allmcps.com/api/badge/inforcer-2?style=directory" alt="Inforcer on AllMCPs" /></a>