Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

MCP Tenant Isolation

von subodhkcVersion 2.0.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.subodhkc/mcp-tenant-isolation

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Static analysis scanner for MCP server code and multi-tenant SaaS applications.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Entwicklertools

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Die Registry nennt keinen Schlüssel zum Eintragen.

Du brauchst

  • npmNode.js installiert (für den Befehl npx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "tenant-isolation": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-tenant-isolation"
      ]
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add tenant-isolation -- npx -y mcp-tenant-isolation

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "tenant-isolation": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-tenant-isolation"
      ]
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "tenant-isolation": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-tenant-isolation"
      ]
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto subodhkc bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Entwicklertoolsi

  • Mehr Sterne als 0 % der anderen 4923 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 36 % der anderen 4923 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 4923 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist MCP Tenant Isolation sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (2.0.0) kam vor 3 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: GitHub, Desktop Commander, Cloudflare MCP

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

GitHub

von github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

Computer oder Cloud★ 34.245MITAktualisiert vor 4 Tagen
Installieren

Desktop Commander

von wonderwhy-er

MCP server for terminal commands, file operations, and process management

Läuft auf deinem Computer★ 10.225MITAktualisiert vor 17 Tagen
Installieren

Cloudflare MCP

von cloudflare

Cloudflare MCP servers

Läuft in der Cloud★ 4.446Apache-2.0Aktualisiert vor 14 Monaten
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

mcp-tenant-isolation

Static analysis scanner for multi-tenant SaaS and MCP server code. 57 deterministic rules that catch cross-tenant data leakage before it reaches production.

What it does

If you build multi-tenant software, every query, every cache key, every file access, every API response needs to be scoped to the right tenant. Miss one, and Tenant A sees Tenant B's data. That's not a bug you want to find in production.

This scanner reads your source code and checks whether tenant isolation guards are present where they need to be. It covers 57 patterns across database queries, API routes, cache keys, file storage, schema design, logging, and MCP server architecture. It works with TypeScript, JavaScript, Prisma, Drizzle, raw SQL, Next.js, Express, and Fastify.

The scanner also runs as an MCP server, so you can plug it into Claude Desktop, Cursor, or any MCP-compatible agent and have your AI assistant scan code on demand.

Who uses this

  • SaaS engineering teams who need to catch tenant isolation gaps before code ships
  • MCP server developers building tools that handle tenant-scoped data
  • Security teams who want tenant isolation checks in CI/CD
  • AI agent developers who want their agents to scan code for cross-tenant risks

Why this exists

General-purpose security scanners are not purpose-built for tenant isolation patterns. They catch SQL injection and XSS. They do not check whether your findMany query includes an organizationId filter. They do not check whether your MCP tool handler scopes tool visibility by tenant. They do not check whether your cache key includes a tenant prefix.

This scanner does exactly that. 57 rules, each checking for a specific tenant isolation pattern, each producing a finding with the rule ID, file, line, missing guard, and a remediation hint.

Every rule is deterministic. Given the same source code, the scanner produces the same findings. No machine learning, no probabilistic scoring. Static analysis has inherent limitations though. It cannot verify runtime behavior, database-level enforcement, or dynamic tenant isolation. The scan output includes a limitations field that lists what was and was not checked for each run.

Install

npm install -g mcp-tenant-isolation

or use npx (no install needed)

npx mcp-tenant-isolation scan ./src

or use Docker (no Node.js needed)

docker run --rm -v $(pwd):/code subodhkc/mcp-tenant-isolation scan /code/src

Requires Node.js 22 or later.

Quick start

mti scan ./src

mti scan ./src --format sarif --output results.sarif mti scan ./src --format markdown --output TENANT-ISOLATION-REPORT.md mti scan ./src --format ai --output findings.json mti scan ./src --severity HIGH mti rules # list all 57 rules mti baseline # snapshot current findings for proof-of-fix tracking mti init # create .mtirc.json with defaults

Demo

Rules

42 general multi-tenant rules
PrefixCategoryCountSeverityWhat it checks
TCMTenant Context Management6CriticalTenant ID comes from session, not client input. Context propagation across async boundaries.
DBQDatabase Query Isolation10CriticalEvery query touching tenant-scoped data includes a tenant filter. Prisma, Drizzle, raw SQL.
IDORIDOR Prevention5CriticalID-based lookups verify tenant ownership before returning data.
CSICache and Session Isolation4HighCache keys and session data are tenant-scoped.
APIAPI Security3HighTenant-aware rate limiting and response scoping.
FSIFile Storage Isolation4HighS3, Blob, and filesystem access is tenant-scoped.
LOGLogging and Audit4MediumAudit logs include tenant context.
SCHSchema and Migration6HighPrisma models and SQL migrations include tenant columns and indexes.
15 MCP-specific rules
IDTitleSeverityWhat it checks
MCP-001Tool Visibility ScopingCriticalTool handler has no tenant-based allow/deny filter.
MCP-002Cache Key Tenant PrefixCriticalTool results cached without tenant prefix.
MCP-003Session Binding to User+TenantCriticalSession ID used as sole authorization.
MCP-004Token Exchange (RFC 8693)HighOriginal token forwarded instead of token exchange.
MCP-005Per-Tenant Rate LimitingMediumNo per-tenant rate limiting on tool calls.
MCP-006Vector Store Tenant NamespaceHighShared vector store without tenant namespaces.
MCP-007Tool Description InjectionMediumTool description could bypass isolation.
MCP-008Credential Vault Tenant ScopingCriticalCredential vault stores tokens without tenant scoping.
MCP-009Shared Service AccountHighSingle shared API key for all tenant API calls.
MCP-010Session Cleanup on DisconnectMediumNo deterministic session cleanup.
MCP-011Telemetry Tenant IdentifierLowTelemetry strips tenant identifier.
MCP-012Local Bind (127.0.0.1)HighMCP server binds to 0.0.0.0 instead of 127.0.0.1.
MCP-013Filesystem Tenant RootHighTool handler accesses filesystem without tenant root.
MCP-014Cross-Tenant Artifact LeakageHighArtifact storage without tenant prefix.
MCP-015Dynamic Tool NamespaceMediumTools registered without tenant namespace.

MCP rules are mapped to the OWASP MCP Top 10 (2025). See docs/OWASP-MAPPING.md for the full mapping. The mappings are advisory, for triage and reporting. This scanner does not certify OWASP compliance.

Architecture

The scanner pipeline runs in six stages:

  1. Parsers — Babel AST for TypeScript/JavaScript, Prisma schema parser, SQL migration parser, MCP SDK import detection
  2. IR and Flow Graph — Intermediate representation capturing sources, sinks, guards, routes, MCP tool definitions
  3. Rule Engine — 57 deterministic rules evaluated against the IR. Each rule defines sources, sinks, and required guards
  4. False Positive Filter — Test file detection, confidence scoring, pattern refinement
  5. Reporters — Terminal, JSON, SARIF 2.1.0, AI-friendly JSON with remediation hints, Markdown
  6. CLI and MCP Server — mti CLI with scan/init/rules/suppress/baseline/mcp commands. MCP server exposes 4 tools
Structured output

Scan results include structured metadata beyond just findings:

  • Completeness — COMPLETE, PARTIAL, or ERROR. If files fail to parse or rules fail to evaluate, completeness drops to PARTIAL and the reasons are listed.
  • Coverage — Files discovered, parsed, failed to parse. Rules available, selected, evaluated, failed, triggered. Unsupported file types counted.
  • Concern families — Findings grouped into 8 concern families (Tenant Context, Data Isolation, Cache and Session, MCP Security, Secrets and Credentials, Vector and Storage, API and Access, Audit and Logging) for triage.
  • Limitations — What the scan could and could not verify. Always includes static analysis limitation. Includes flow analysis scope and proof-of-fix status.
  • Scan receipt — Provenance metadata with engine version, rulepack digest, timestamp, and a SHA-256 receipt hash for tamper detection.
  • Proof-of-fix — Each finding is tagged as STILL_PRESENT, NEW, or NOT_VERIFIABLE relative to a baseline file. Run mti baseline to establish a baseline.
Fingerprints

Findings use v2 semantic fingerprints that are stable under line movement and formatting changes. The fingerprint is derived from the rule ID, file path, normalized code snippet, and sorted missing guards. It does not include the line number. This means if you move code around without changing its semantics, the fingerprint stays the same and baseline tracking remains accurate.

MCP server

The package includes an MCP server for AI agent integration. It runs locally via stdio transport. No hosting, no network exposure.

{

"mcpServers": { "tenant-isolation": { "command": "npx", "args": ["-y", "mcp-tenant-isolation", "mcp"] } } }

Add this to your Claude Desktop, Cursor, Windsurf, or other MCP client config to let your AI agent scan code for tenant isolation issues on demand.

MCP tools
ToolDescriptionWrite?
scan_tenant_isolationScan a project path. Returns structured findings with completeness, coverage, concern families, and receipt.No
list_tenant_isolation_rulesReturns all 57 rules with metadata. Filterable by category.No
explain_tenant_isolation_ruleReturns rule details, OWASP mapping, CWE IDs, fix suggestions.No
suppress_tenant_isolation_findingAdd a suppression with reason, approver, controls, and expiry.Yes (opt-in)

The suppression tool is hidden by default. It only appears when the server is started with --allow-write-tools. This is a security boundary: read-only by default, write operations require explicit opt-in.

All filesystem operations during MCP scans are constrained to the project root configured at server startup. Traversal attacks (../), absolute paths outside root, UNC paths, and symlink escapes are rejected. See SECURITY.md for details.

CI/CD integration

Option 1: Pre-built GitHub Action (easiest)

Add this to .github/workflows/tenant-isolation.yml:

name: Tenant Isolation Scan

on: [push, pull_request] jobs: scan: runs-on: ubuntu-latest permissions: contents: read security-events: write steps:

  • uses: actions/checkout@v4
  • uses: subodhkc/mcp-tenant-isolation@v2 with: path: ./src severity: HIGH fail-on: HIGH

Runs the scan, uploads SARIF to GitHub Code Scanning, generates a Markdown report artifact, and fails the workflow if HIGH or CRITICAL findings are detected.

Option 2: Manual npx
name: Tenant Isolation Scan

on: [push, pull_request] jobs: scan: runs-on: ubuntu-latest permissions: contents: read security-events: write steps:

  • uses: actions/checkout@v4
  • uses: actions/setup-node@v4 with: node-version: 22
  • run: npx mcp-tenant-isolation scan ./src --format sarif --output results.sarif
  • uses: github/codeql-action/upload-sarif@v3 with: sarif_file: results.sarif
Exit codes
CodeMeaning
0No findings
1Findings found
2Error (config invalid, parse failure, etc.)
GitHub Code Scanning integration

When you upload SARIF output using github/codeql-action/upload-sarif@v3, findings appear in your repository's Security > Code scanning alerts tab. This works with both free and Advanced Security-enabled repos.

What happens:

  1. mti scan --format sarif --output results.sarif generates a SARIF 2.1.0 file
  2. upload-sarif action sends it to GitHub's code scanning API
  3. Each finding becomes a code scanning alert with file, line, severit

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen