Company Secure Python MCP
Company Secure Python MCP
Ein Clean-Room-Design-Minimal-MCP-Server, der ausschließlich für die Nutzung mit Copilot Studio vorgesehen ist. Der Code des früheren m365-copilot-companion-mcp wird nicht wiederverwendet. Der Auditbericht im übergeordneten Verzeichnis wird als negative Anforderung behandelt, und die Funktionen werden auf 6 Tools reduziert.
Der aktuelle Status ist „sicherheitsüberprüfbare Referenzimplementierung". Bis zum Abschluss des realen Docker-Integrationstests mit dedizierter VM oder dediziertem rootless Docker, Entra ID, TLS-Terminierung, Schlüssel-ACL, internem Registry und DLP/SIEM nicht in Produktion einsetzen.
Bereitgestellte Funktionen
Tool | Funktion | Hauptbeschränkungen |
| Auflistung einer Ebene | Nur gemeinsame Eingabe, eigene Ausgabe, maximal 200 Einträge |
| UTF-8-Text lesen | Nur zulässige Erweiterungen, 1 MiB, maximal 200.000 Zeichen, keine nicht vertrauenswürdigen Daten |
| Neuen Text erstellen | Nur eigene Ausgabe, kein Überschreiben, nur zulässige Erweiterungen |
| Ausführungsanforderung fixieren | Code, Eingabe-Hash und Ausgabename fixieren, keine Ausführung |
| Status der eigenen Anforderung prüfen | Code und Genehmigungssignatur werden nicht zurückgegeben |
| Genehmigte Anforderung ausführen | Nur über separaten Pfad genehmigt, nur einmal, Docker, kein Netzwerk |
E-Mail, Kalender, Zwischenablage, Registry, ODBC, Webabruf, beliebige URLs, Shell, PowerShell, Paketinstallation, Selbstaktualisierung, Autostart, Browser, Tool Forge, Tunnel und allgemeine Tool-Weiterleitung sind nicht implementiert.
Related MCP server: AI Workspace MCP Server
Vertrauensgrenze
flowchart LR
CS[Copilot Studio] -->|OAuth 2.0 delegated token / TLS| RP[Reverse proxy / WAF]
RP -->|loopback or private hop| MCP[6-tool MCP service]
MCP -->|JWKS only| ENTRA[Microsoft Entra ID]
MCP -->|scoped access| WS[Per-user workspace]
MCP -->|immutable request| Q[Control queue]
REVIEW[Separate reviewer account] -->|Ed25519 signed approval| Q
Q -->|one-time claim| RUN[Dedicated/rootless Docker runner]
RUN -->|network=none / read-only / limits| JOB[Python container]
JOB -->|declared UTF-8 outputs only| WS
MCP -->|HMAC chain; no content| AUDIT[Audit log -> SIEM]Der Genehmigungsschlüssel wird nicht an den MCP-Dienst übergeben. Der MCP-Dienst besitzt nur den öffentlichen Genehmigungsschlüssel und den Prüfschlüssel. Python-Code wird nicht mit dem Host-Python ausgeführt; es gibt kein Fallback auf lokale Ausführung.
Zuerst zu lesende Dokumente
Prüfung in der Entwicklungsumgebung
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install uv
.\.venv\Scripts\uv.exe sync --frozen --extra dev
.\scripts\Invoke-SecurityChecks.ps1 -PythonExecutable .\.venv\Scripts\python.exeIn der Produktion nicht direkt von PyPI im Internet installieren, sondern den genehmigten internen Mirror und den fixierten Hash aus requirements.lock verwenden. uv.lock fixiert auch die Entwicklungs- und Testumgebung. .env wird nicht gelesen. Die Konfiguration wird von der Dienstverwaltungsplattform an die Prozessumgebung übergeben.
Vertrag für Python-Jobs
Eingabe:
/work/input/manifest.jsonund/work/input/<fixierter Name>(nur lesbar)Ausgabe:
/work/output/<in python_prepare deklarierter Dateiname>Öffentlicher Name: Zur Kollisionsvermeidung als
<request-id>-<laufende Nummer>.<Erweiterung>neu in der eigenen Ausgabe erstellenAusgabeformat: UTF-8
.txt,.md,.csv,.jsonStandardausgabe und Standardfehler: Verwerfen, nicht an das Modell zurückgeben
Netzwerk: Keins
Ausführungszeit: Standard 60 Sekunden, maximal 300 Sekunden
Speicher: 256 MiB, CPU: 1, PID: 64
Die Import-Erlaubnisliste für AST ist eine Verteidigung in der Tiefe und gilt nicht als Python-Sandbox. Die tatsächliche Grenze bilden die Genehmigung über einen separaten Pfad und die OS-Isolation durch die dedizierte VM bzw. das rootless Docker.
Wenn bei einem Timeout der Erfolg von docker rm -f nicht bestätigt werden kann, wird der Runner in den Quarantänezustand versetzt, alle weiteren Python-Ausführungen werden vollständig abgelehnt und das Ausführungsverzeichnis wird gesichert. Der Betrieb wird erst wieder aufgenommen, wenn der Betreiber die dedizierte VM verworfen und neu aufgebaut hat.
This server cannot be deployed
Maintenance
Related MCP Connectors
Sandbox workspace tools: search, file read, DB queries, integrations. Returns synthetic data.
Securely search and manage workspace context files for AI agents and teams.
Runtime permission, approval, and audit layer for AI agent tool execution.
Manage files and folders directly from your workspace. Read and write files, list directories, cre…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides secure, sandboxed file system access for AI assistants to read, write, and manage project files with controlled command execution capabilities, all confined to a designated workspace directory.MIT
- FlicenseNot gradedqualityDmaintenanceProvides a secure workspace for AI-driven file management and Python script execution designed to run on Vercel. It enables tools for full file operations and code execution within a sandboxed environment.-
- AlicenseNot gradedqualityBmaintenanceProvides a secure, constrained filesystem workspace for LLM agents to manage files, notes, and code artifacts via stdio or remote HTTP. It features granular access controls, including extension whitelisting, storage quotas, and immutable paths for safe automated file operations.BSD 3-Clause
- AlicenseNot gradedqualityAmaintenanceEnables LLMs to execute Python code securely in a sandboxed environment. Supports configurable restrictions like no network access and returns results including files.29 PyPIMIT