Deliverd Screen

Official registry Security

Find and redact personal data and secrets in text before it reaches a model. Local, no account.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @deliverd/screen
Claude Code
claude mcp add deliverd-screen -- npx -y @deliverd/screen@0.2.0 mcp
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "deliverd-screen": {
            "command": "npx",
            "args": [
                "-y",
                "@deliverd/screen@0.2.0",
                "mcp"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Deliverd SDKs and CLI
  2. Start free
  3. Before you have an account
  4. What is here
  5. Running the tests
  6. How this repository works
  7. Security
  8. Licence

Deliverd SDKs and CLI

You build the action. Deliverd handles the human.

The SDKs and the CLI are now released from this public repository. From @deliverd/sdk 0.26.0, the deliverd CLI 0.16.2 and deliverd 0.19.0 on PyPI, every release is built here and published by GitHub Actions with trusted publishing, so each one on npm and PyPI carries provenance linking it to the commit and workflow that built it. The Rust SDK, the .NET packages and Deliverd Screen have been released from here from the start, the Rust SDK by trusted publishing from 0.1.1. Earlier releases were published from a private repository under a single developer's account. Deliverd is growing, and as a company that supports open source it no longer made sense to keep it there: the source is now public, under the MIT licence. If a registry or a scanner shows a change of provenance or source repository at those versions, this is why.

Your AI agent asks a person for an approval, a review, an answer or a decision, and carries on when they respond. This repository is the source of the four packages that do the asking:

PackageInstallSource
TypeScript SDKnpm install @deliverd/sdkpackages/sdk
Python SDKpip install deliverdpackages/sdk-python
Rust SDKcargo add deliverdpackages/sdk-rust
CLInpx deliverdpackages/cli

All four are MIT. The TypeScript and Python SDKs have no runtime dependency, the CLI has two, and the Rust SDK uses reqwest, serde and tokio rather than writing its own HTTP client. The Deliverd service every package here talks to is a separate, proprietary product.

.NET and Microsoft Agent Framework
PackageInstallSource
.NET clientdotnet add package Deliverdpackages/sdk-dotnet
Agent Framework adapterdotnet add package Deliverd.AgentFrameworkpackages/sdk-dotnet

Both MIT. The client needs nothing beyond .NET; the adapter adds Microsoft.Agents.AI, and answers Agent Framework's tool approvals with a person's decision.

Deliverd Screen: a pre-send check for every prompt

It finds personal data, secrets and your own confidential terms in text before the text goes to an AI model, and redacts them. Everything runs on your machine, with no account and no network call, so it works whether or not you use Deliverd.

PackageInstallSource
Deliverd Screen for TypeScriptnpm install @deliverd/screenpackages/screen
Deliverd Screen for Pythonpip install deliverd-screenpackages/screen-python
Deliverd Screen for Rustcargo add deliverd-screenpackages/screen-rust
import { screen } from "@deliverd/screen";

const checked = await screen(prompt);
if (checked.allowed) return checked.restore(await model.generate(checked.text));

All three are MIT. The TypeScript and Python packages have no runtime dependency, and the Rust crate's library has one, regex. They find the same things as the SDKs, held to one set of test cases. You can plug in a model for people's names, a CLI for pre-commit hooks and CI, and a local MCP server, and in TypeScript a Vercel AI SDK middleware. When a person has to decide whether something may be sent, Deliverd's Data Gate asks them and keeps the record.

Start free

  1. Create a free Deliverd account. The Free plan needs no card.
  2. Name your organisation. The next page hands you a key: set it as DELIVERD_API_KEY.
  3. Ask a person. Leave approvers out and the request goes to your organisation's owners and admins.
import { deliverd } from "@deliverd/sdk";

const decision = await deliverd.approve({ title: "Deploy to production" });
if (decision.approved) await deploy();
from deliverd import deliverd

decision = deliverd.approve(title="Deploy to production")
if decision.approved:
    deploy()
npx deliverd login
npx deliverd ask "Deploy to production?" --wait

The approver gets an email and a notification, opens a page that works on a phone, and approves, rejects with a reason, or asks your agent a question. Every step is on the record.

Before you have an account

Development mode needs no key and no network. It prints what the approver would have seen and answers at once:

import { Deliverd } from "@deliverd/sdk";

const deliverd = new Deliverd({ mode: "development" });
from deliverd import Deliverd

deliverd = Deliverd(mode="development")

What is here

  • packages/sdk: @deliverd/sdk on npm. Node 20 and up.
  • packages/sdk-python: deliverd on PyPI. Python 3.9 and up, standard library only, blocking or asyncio.
  • packages/sdk-rust: deliverd on crates.io. Rust 1.89 and up, async on tokio.
  • packages/sdk-dotnet: Deliverd and Deliverd.AgentFramework on NuGet. .NET 8 and up.
  • packages/cli: deliverd on npm. For build steps, pipelines, scripts and connecting your AI tools over MCP.
  • packages/screen, packages/screen-python and packages/screen-rust: Deliverd Screen, @deliverd/screen on npm and deliverd-screen on PyPI and crates.io.
  • packages/conformance: one table of behaviour every SDK must share: retries, idempotency, webhook signatures, durations, gating and data screening. Each SDK's test suite reads it, so a case added there fails in whichever language has not implemented it.

Each package's README is the page you see on npm, PyPI or crates.io, and covers the package in full. The developer docs cover the API behind them.

Running the tests

pnpm install
pnpm --filter @deliverd/sdk build   # release.test.ts reads dist/
pnpm vitest run

cd packages/sdk-python
PYTHONPATH=src python -m unittest discover -s tests

cd ../screen-python
PYTHONPATH=src python -m unittest discover -s tests

cd ../sdk-rust
cargo test

cd ../screen-rust
cargo test

cd ../sdk-dotnet
dotnet test Deliverd.slnx

How this repository works

The packages are developed in Deliverd's own repository, beside the API they call, and copied here after every change. The checks that hold them to that API and to its documentation run there, on every change, before anything arrives here; the tests in this repository are the ones that need nothing else.

So a pull request here is not merged here. Open one anyway, or an issue: we carry the change across, credit you in the commit, and it comes back in the next copy. Releases are published from this repository, by GitHub Actions with npm's, PyPI's, crates.io's and NuGet's trusted publishing, so each release on npm carries provenance linking it to the commit and workflow that built it.

Security

Please report a vulnerability privately through the contact page rather than in an issue. How the service handles data is on deliverd.dev/security.

Licence

MIT. It covers the code in this repository only.

Frequently asked questions

What is Deliverd Screen?

Find and redact personal data and secrets in text before it reaches a model. Local, no account.

How do I install Deliverd Screen?

It runs on your machine. In Claude Code: claude mcp add deliverd-screen -- npx -y @deliverd/screen@0.2.0 mcp. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Deliverd Screen need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Deliverd Screen open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Deliverd Screen?

It is published by deliverd-dev. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.