Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Find and redact personal data and secrets in text before it reaches a model. Local, no account.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
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": {
"deliverd-screen": {
"command": "npx",
"args": [
"-y",
"@deliverd/screen",
"mcp"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add deliverd-screen -- npx -y @deliverd/screen mcpIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"deliverd-screen": {
"command": "npx",
"args": [
"-y",
"@deliverd/screen",
"mcp"
]
}
}
}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 .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"deliverd-screen": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@deliverd/screen",
"mcp"
]
}
}
}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.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
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 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto deliverd-dev bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
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.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
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).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.0) kam vor 11 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, zanadir
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
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
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.
A pre-send check for every prompt. Find and redact personal data, secrets and your own confidential terms before text goes to an AI model.
[EMAIL_1] (the same value gets the same placeholder throughout), and restore() puts them back in the model's answer.npm install @deliverd/screen
import { screen } from "@deliverd/screen";
const checked = await screen("Reply to mary.byrne@example.ie about IBAN IE29AIBK93115212345678"); checked.verdict; // "redact" checked.text; // "Reply to [EMAIL_1] about IBAN [IBAN_1]"
const answer = await model.generate(checked.text); checked.restore(answer); // the real values, back in the answer
Email addresses, phone numbers, IBANs, payment card numbers (Luhn-checked), UK National Insurance numbers, Irish PPS numbers (check character), US Social Security numbers, IP addresses (v4 and v6), dates of birth, API keys and tokens (AWS, GitHub, Slack, Stripe, Anthropic, OpenAI, Google, JWTs and more), private keys, passwords in connection strings and .env files, words that mark special-category data such as health or religion, and your own terms.
By default the model may receive internal data and no personal data. Pass allow: { personalData: true, classification: "confidential" } for a model you have approved for more.
| Verdict | What to do |
|---|---|
allow | Send text, which is the original. |
redact | Send text, which has placeholders in place of what the model may not receive. |
ask | A person has to decide (special-category data, by default). allowed is false. |
deny | Send nothing. Secrets are refused by default. |
import { pipeline } from "@huggingface/transformers";
import { tokenClassifier, presidio } from "@deliverd/screen/adapters";
const ner = await pipeline("token-classification", "Xenova/bert-base-NER"); const checked = await screen(prompt, { detectors: [tokenClassifier((t) => ner(t))] });
// or a Presidio analyzer you run yourself: // docker run -p 5002:3000 mcr.microsoft.com/presidio-analyzer await screen(prompt, { detectors: [presidio({ url: "http://localhost:5002" })] });
A detector is a function from the text to { kind, start, end } spans, so any model works, including Perplexity's PII-Tracer and GLiNER. Check a model's licence before you ship it. Run it where the text already is: a detector that sends the text to a hosted service has already sent it.
import { generateText, wrapLanguageModel } from "ai";
import { screenMiddleware } from "@deliverd/screen/ai-sdk";
const model = wrapLanguageModel({ model: openai("gpt-5"), middleware: screenMiddleware() }); const { text } = await generateText({ model, prompt });
The middleware screens the whole conversation at once, so one value keeps one placeholder across messages. It restores the answer, including a streamed one where a placeholder arrives split across chunks. On a deny or an ask it throws ScreenBlockedError and the model is never called. It works with AI SDK 7 by default; pass specificationVersion: "v3" for AI SDK 6.
cat prompt.txt | npx @deliverd/screen --redact # the redacted text
npx @deliverd/screen --json notes.txt # kinds and offsets, never values npx @deliverd/screen --fail evals/*.jsonl # exit 1 if anything is found npx @deliverd/screen --terms clients.txt doc.md # your own words, one per line
In GitHub Actions, uses: deliverd-dev/deliverd-screen@v0 with paths: runs the same check; for pre-commit, the hook id is deliverd-screen. Both are in deliverd-dev/deliverd-screen.
claude mcp add deliverd-screen -- npx -y @deliverd/screen mcp
This gives an agent in Claude Code, Cursor or Codex one tool, screen_text. It returns the verdict and the redacted text, and never the values it replaced, so they don't enter the agent's context through the tool.
If your organisation writes its data loss prevention rules in Microsoft Purview, the same rules can apply here, for any model and any tool. Pass a Purview check and the stricter answer wins: a Purview block denies, and a warn is an ask.
import { entraAppToken, purviewCheck, screen } from "@deliverd/screen";
const purview = purviewCheck({ token: entraAppToken({ tenantId, clientId, clientSecret }), userId: entraObjectIdOfThePerson, app: { name: "Claims assistant", entraAppId: clientId }, }); const checked = await screen(prompt, { purview });
This is the one thing in the package that uses the network, and only when you pass it: the text goes to Microsoft Graph (processContent), in your own tenant, and nowhere else. The Entra app needs Content.Process.All, and the DLP rule must be created with New-DlpComplianceRule (Purview does not apply a portal-only rule to an Entra-registered app).
For the MCP server, set DELIVERD_PURVIEW_TENANT_ID, DELIVERD_PURVIEW_CLIENT_ID, DELIVERD_PURVIEW_CLIENT_SECRET and DELIVERD_PURVIEW_USER_ID (and optionally DELIVERD_PURVIEW_ON_UNAVAILABLE: allow, ask or deny).
Structured identifiers are found well. Names are found only as well as the model you plug in. Redacted text about a person is still personal data under GDPR. Use this to send fewer identifiers, never as proof that a prompt was clean.
A library can only tell you to stop. Deliverd's Data Gate makes the call. deliverd.screen() in @deliverd/sdk runs these same detectors on your machine and sends Deliverd only the counts ("two email addresses, one IBAN"). The verdict comes back from your organisation's policy and from what its AI register approves each model to receive. On an ask it puts the question to the right person in Slack, Teams or on their phone, and every check is recorded. It takes the same detectors.
MIT. The detectors are shared with Deliverd's SDKs and held to one set of test vectors, packages/conformance/screening.json.