Skip to main content
Glama

Verzeichnis mit Passwort schützen

create_protected_directory

Schützt ein Verzeichnis einer Domain mit einer Passwortabfrage (HTTP-Basic). Der Bereich ist danach ohne Anmeldung nicht mehr erreichbar, auch nicht für Suchmaschinen. Das Passwort wird serverseitig erzeugt. Die Zeichenregeln stehen bei den Parametern und werden serverseitig geprüft; lies sie, bevor du dem Kunden Werte vorschlägst — Umlaute sind nur im Titel erlaubt, in "directory" und "username" nicht. WordPress-Systemordner (wp-admin, wp-includes, wp-content) lassen sich nicht schützen.

Input Schema

NameRequiredDescriptionDefault
titleNoText, den der Browser im Anmeldefenster zeigt, 1–60 Zeichen. Umlaute sind erlaubt (anders als bei "directory" und "username"), Satzzeichen dagegen nicht: erlaubt sind nur Buchstaben, Umlaute und ß, Ziffern, Leerzeichen, Punkt, Bindestrich, Unterstrich. Kein Komma, keine Klammern, kein Doppelpunkt, kein Ausrufezeichen, kein "&", kein "/" — und keine anderen Akzentbuchstaben wie "é". gültig: "Interner Bereich", "Änderungen intern", "Geschützter Bereich" (der Standard). abgewiesen: "Interner Bereich, bitte anmelden", "Kundenbereich (intern)", "Bereich: intern", "Bitte anmelden!", "Intern & Extern", "Café intern".
domainYesDie Domain, z. B. example.de
usernameYesBenutzername für die Anmeldung, 3–32 Zeichen. Das erste Zeichen ist ein Buchstabe oder eine Ziffer, danach Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein "@". gültig: "team", "team-01", "max.mustermann", "1team". abgewiesen: "müller", "_team", "ab", "max@firma".
directoryYesZu schützendes Verzeichnis, mit führendem Schrägstrich, je Namensteil höchstens 60 Zeichen. Erlaubt sind nur Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein Schrägstrich am Ende. Namensteile "." und ".." werden abgelehnt (kein "/intern/./x", kein "/intern/.."), und ".." ist auch irgendwo im Namen verboten (kein "/a..b"). Auch "/" allein geht nicht; ein ganzer Auftritt lässt sich so nicht schützen. WordPress-Systemordner (wp-admin, wp-includes, wp-content) werden in JEDEM Namensteil abgelehnt, ohne Beachtung der Groß-/Kleinschreibung, auch bei einer Installation im Unterordner (z. B. "/blog/wp-admin"): Der Passwortschutz von Plesk gilt für den ganzen Ordner und lässt sich nicht für einzelne Dateien aufheben, er würde sonst die Website oder die Anmeldung kaputt machen (z. B. admin-ajax.php, das Besucher für Warenkorb und Formulare brauchen). gültig: "/intern", "/intern/kunden", "/Intern-2024". abgewiesen: "/geschützt", "/mein ordner", "intern", "/intern/", "/", "/wp-admin", "/blog/wp-admin", "/intern/./x", "/a..b".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / directory / description
      Previous value: -"Zu schützendes Verzeichnis, mit führendem Schrägstrich, je Namensteil höchstens 60 Zeichen. Erlaubt sind nur Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein \"..\" und kein Schrägstrich am Ende. Auch \"/\" allein geht nicht; ein ganzer Auftritt lässt sich so nicht schützen. gültig: \"/intern\", \"/intern/kunden\", \"/Intern-2024\". abgewiesen: \"/geschützt\", \"/mein ordner\", \"intern\", \"/intern/\", \"/\"."New value: +"Zu schützendes Verzeichnis, mit führendem Schrägstrich, je Namensteil höchstens 60 Zeichen. Erlaubt sind nur Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein Schrägstrich am Ende. Namensteile \".\" und \"..\" werden abgelehnt (kein \"/intern/./x\", kein \"/intern/..\"), und \"..\" ist auch irgendwo im Namen verboten (kein \"/a..b\"). Auch \"/\" allein geht nicht; ein ganzer Auftritt lässt sich so nicht schützen. WordPress-Systemordner (wp-admin, wp-includes, wp-content) werden in JEDEM Namensteil abgelehnt, ohne Beachtung der Groß-/Kleinschreibung, auch bei einer Installation im Unterordner (z. B. \"/blog/wp-admin\"): Der Passwortschutz von Plesk gilt für den ganzen Ordner und lässt sich nicht für einzelne Dateien aufheben, er würde sonst die Website oder die Anmeldung kaputt machen (z. B. admin-ajax.php, das Besucher für Warenkorb und Formulare brauchen). gültig: \"/intern\", \"/intern/kunden\", \"/Intern-2024\". abgewiesen: \"/geschützt\", \"/mein ordner\", \"intern\", \"/intern/\", \"/\", \"/wp-admin\", \"/blog/wp-admin\", \"/intern/./x\", \"/a..b\"."
  2. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. First observed

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) the description discloses that the password is generated server-side, that validation happens server-side, and — importantly — why WordPress folders are rejected: Plesk's protection covers the whole folder and would break the site or its login (e.g. admin-ajax.php). This causal explanation of a behavioral constraint is exactly the kind of context the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and the strongest constraint (WordPress folders) are front-loaded in the first and last sentences, with the reading directive in between. It is a dense paragraph rather than a list, and the umlaut reminder partially duplicates the schema, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers effect, validation, and hard exclusions well. The notable gap is what the call returns — since the password is generated server-side, the agent is not told whether the response contains it, which matters for relaying credentials to the customer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description earns one step more by summarizing the cross-field rule (umlauts permitted in `title` but not in `directory` or `username`) and by directing the agent to the per-parameter rules before suggesting values. Most individual constraints still live in the schema, not the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb and resource — protecting a domain directory with HTTP Basic authentication — and spells out the effect (directory unreachable without login, hidden from search engines). It is unambiguous what the tool does, though it never names the sibling `remove_protected_directory` or any other alternative to contrast with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operative context: the password is generated server-side, and WordPress system folders (wp-admin, wp-includes, wp-content) cannot be protected, which is a concrete exclusion an agent must know before calling. It also instructs the agent to read character rules before proposing values to a customer. It stops short of naming which sibling tool to use for the reverse operation or for other security measures.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources