MCP Tenant Isolation logo

MCP Tenant Isolation

Static analysis for tenant-isolation gaps in SaaS and MCP server code, with 57 deterministic rules and structured findings.

Install MCP Tenant Isolation

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": {
    "mcp-tenant-isolation": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-tenant-isolation"
      ]
    }
  }
}

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

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The mcp-tenant-isolation MCP server scans TypeScript, JavaScript, Prisma, Drizzle, SQL, and MCP server code for tenant-isolation weaknesses. It exposes tools for running scans, inspecting 57 rules, explaining rule mappings and fixes, and recording finding suppressions. Results include findings, coverage, completeness, concern families, limitations, receipts, and baseline-aware proof-of-fix status. Reach for it when reviewing multi-tenant SaaS or MCP code before release, in CI, or through an MCP-compatible coding agent.

Use cases

  • Scan SaaS code for missing tenant filters before release
  • Review MCP tool handlers for cross-tenant access risks
  • Inspect rule metadata and remediation guidance
  • Track tenant-isolation findings against a baseline
  • Record approved finding suppressions with expiry details

Key features

  • 57 deterministic tenant-isolation rules
  • MCP-specific checks for tool, session, cache, and storage isolation
  • Structured findings with coverage and completeness metadata
  • OWASP and CWE mappings with remediation suggestions
  • SARIF, Markdown, JSON, and AI-oriented output
  • Baseline fingerprints for proof-of-fix tracking

Tools4

What MCP Tenant Isolation lets your agent do. Expand a tool for its parameters.

Self-reported~100 tokens of context

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 11d ago via OSV.dev · mcp-tenant-isolation (npm)

Adoption & maintenance

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

GitHub stars4Stargazers on the source repository.
npm downloads22kPackage downloads in the last 30 days.
Last commit16d agoMost recent push to the default branch.
Tools exposed4Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Tenant Isolation works

What mcp-tenant-isolation MCP server does

The mcp-tenant-isolation MCP server provides static analysis for multi-tenant SaaS applications and MCP server implementations. It checks source code for missing tenant guards in database queries, ID-based lookups, API responses, cache and session keys, file access, schema definitions, logging, and MCP tool architecture.

The rule set contains 57 deterministic checks: 42 general multi-tenant checks and 15 MCP-specific checks. Examples include verifying tenant-derived context, tenant filters on Prisma, Drizzle, and raw SQL queries, tenant-aware file and vector-store paths, per-tenant rate limits, tool visibility, session binding, credential storage, and local network binding. The MCP-specific rules are mapped to the OWASP MCP Top 10 for reporting and triage; the mapping does not certify compliance.

How it works

The scanner parses TypeScript and JavaScript with Babel, reads Prisma schemas and SQL migrations, and detects MCP SDK imports. It builds an intermediate representation and flow graph of sources, sinks, guards, routes, and MCP tool definitions before evaluating the rules. Test-file detection, confidence scoring, and pattern refinement are used to filter likely false positives.

The scan_tenant_isolation tool accepts a project path and returns structured results. Output reports completeness as COMPLETE, PARTIAL, or ERROR, along with discovered and parsed files, rule evaluation counts, unsupported file types, concern-family groupings, limitations, and a scan receipt containing engine, rulepack, timestamp, and hash metadata. Findings use semantic fingerprints that remain stable when code moves or formatting changes. Baseline comparisons can label findings as STILL_PRESENT, NEW, or NOT_VERIFIABLE.

Setup and configuration

Install the package globally with npm, run it through npx, or use the published Docker image. Node.js 22 or later is required for the npm and npx approaches; Docker avoids requiring Node.js on the host.

Terminal
npm install -g mcp-tenant-isolation
npx mcp-tenant-isolation scan ./src
docker run --rm -v $(pwd):/code subodhkc/mcp-tenant-isolation scan /code/src

The included mcp-tenant-isolation MCP server runs locally over stdio, so it does not require hosting or network exposure. The CLI can also produce terminal, SARIF, Markdown, JSON, and AI-oriented JSON output, and includes commands for initialization, rules, suppression, baselines, and MCP operation.

Tools and capabilities

  • scan_tenant_isolation: scans a project path and returns findings plus completeness, coverage, concern families, limitations, and a receipt.
  • list_tenant_isolation_rules: lists all 57 rules and metadata, with category filtering.
  • explain_tenant_isolation_rule: explains a rule, its OWASP mapping, CWE identifiers, and suggested remediation.
  • suppress_tenant_isolation_finding: records a suppression with a reason, approver, controls, and expiry.

The CLI supports severity filtering and baseline creation for proof-of-fix tracking. The MCP server is intended for local agent-driven scans, while the CLI is also suitable for scripted or CI workflows.

Limitations and notes

Static analysis cannot establish runtime behavior, database-level enforcement, or dynamic tenant isolation. The scanner reports these boundaries in the limitations field for each run. Parsing failures or rule-evaluation failures reduce completeness to PARTIAL, with reasons included in the result. OWASP mappings are advisory and should be treated as reporting guidance rather than certification.

Reviews

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

Frequently Asked Questions about MCP Tenant Isolation

mcp-tenant-isolation is an MCP server that connects AI agents to a local static analysis scanner for multi-tenant SaaS and MCP code. Its main tools scan projects, list and explain 57 tenant-isolation rules, and record finding suppressions with reasons, approvers, controls, and expiry details.

Install it with npm, run it with npx, or use Docker. npm requires Node.js 22 or later: `npm install -g mcp-tenant-isolation`. You can also run `npx mcp-tenant-isolation` without a global install, or use the published Docker image without Node.js.

Yes, mcp-tenant-isolation works with Cursor through its local stdio MCP server. The README also names Claude Desktop and describes the server as usable with MCP-compatible agents. It does not require hosting or expose a network service.

It scans TypeScript and JavaScript, including projects using Prisma, Drizzle, raw SQL, Next.js, Express, and Fastify. It also parses Prisma schemas, SQL migrations, and MCP SDK imports for its tenant-isolation checks.

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