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

Willitsend

von abryfsVersion 0.1.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.abryfs/willitsend

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Deterministic pre-send lint for SMS/iMessage: silent carrier filtering and segment blowups.

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: Chat & E-Mail
  • Das musst du eintragen: AGENTPHONE_API_KEY

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).
  • Das trägst du selbst ein: AGENTPHONE_API_KEY

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

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": {
    "willitsend": {
      "command": "npx",
      "args": [
        "-y",
        "willitsend"
      ],
      "env": {
        "AGENTPHONE_API_KEY": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add willitsend --env AGENTPHONE_API_KEY=your-value -- npx -y willitsend

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

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

{
  "mcpServers": {
    "willitsend": {
      "command": "npx",
      "args": [
        "-y",
        "willitsend"
      ],
      "env": {
        "AGENTPHONE_API_KEY": "your-value"
      }
    }
  }
}

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": {
    "willitsend": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "willitsend"
      ],
      "env": {
        "AGENTPHONE_API_KEY": "your-value"
      }
    }
  }
}

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.

Werte, die du selbst einträgst

  • AGENTPHONE_API_KEY geheim env
    Optional API key for live carrier/capabilities lookup. The linter runs fully offline without it.

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 6. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto abryfs 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 Chat & E-Maili

  • Mehr Sterne als 0 % der anderen 1765 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 17 % der anderen 1765 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 1765 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 Willitsend 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?

Das musst du eintragen: AGENTPHONE_API_KEY

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 (0.1.0) kam vor 4 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: Vexa, emailmd, MCP WhatsApp Cloud

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

Vexa

von Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Läuft in der Cloud★ 2.949Apache-2.0Aktualisiert vor 2 Monaten
Installieren

emailmd

von anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer oder Cloud★ 1.385MITAktualisiert vor 31 Tagen
Installieren

MCP WhatsApp Cloud

von codespar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Läuft auf deinem Computer★ 277MITAktualisiert vor 5 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.

willitsend

Your AI agent sends texts. Carriers silently drop the non-compliant ones, and the API never tells you. willitsend is the missing check between the model and the carrier: a deterministic preflight for outbound SMS/iMessage that catches silent filtering, segment blowups, and dropped iMessage features before you spend the send.

[Try it in the browser](https://abryfs.github.io/willitsend/): runs client-side, nothing leaves the page.

npx -y -p github:abryfs/willitsend willitsend-cli "Hey! Your appointment is tomorrow at 2pm." --first-message
Verdict: BLOCK

Segments: 1 (gsm7, 41 septets) Channel: unknown [BLOCK] first-message.opt-out: First message doesn't include opt-out instructions (e.g. "Reply STOP to unsubscribe"). Carriers may silently filter first messages that lack one, with no API error. Fix: Append "Reply STOP to unsubscribe." to the message body. Source: https://docs.agentphone.ai/documentation/reference/messaging-rate-limits#first-message-requirements [WARN] first-message.opt-in: No opt-in acknowledgment language found … [INFO] first-message.brand: No brand_name was provided …

The problem

Messaging APIs report "sent" when a message reaches the downstream carrier, not when it reaches a phone. AgentPhone's rate-limit docs spell out the consequence: first messages that skip brand identification, opt-in acknowledgment, or opt-out instructions "may be silently filtered by carriers. The API will not return an error."

AI agents now send texts autonomously, and nothing sits between the model and the carrier. An agent that drops the opt-out line gets no error and no delivery. An agent that adds one emoji turns a 160-character message into three billable segments and never notices.

willitsend is the missing check: a deterministic, stateless lint for a draft message. Text and context in, verdict and evidence out. It sends nothing and stores nothing.

sequenceDiagram

participant A as AI agent participant W as willitsend participant API as Messaging API participant C as Carrier participant P as Phone

rect rgba(255,69,58,0.08) note over A,P: without preflight A->>API: send_message (no opt-out language) API-->>A: "sent" ✓ C--xP: silently filtered. no error, no delivery end

rect rgba(52,199,89,0.08) note over A,P: with preflight A->>W: preflight_message(draft, context) W-->>A: BLOCK · missing opt-out · fix + citation A->>W: preflight_message(fixed draft) W-->>A: PASS A->>API: send_message API-->>A: "sent" ✓ C->>P: delivered end

Why not just prompt the rules into your agent?

A fair question: AgentPhone's docs are agent-readable, so you could feed them into every generation call and ask the model to comply. Two things break, and one gets expensive:

  1. Generation is probabilistic; verification is deterministic. A model with the rules in context complies *usually*. This checker returns the same verdict every time, and its failure mode is a visible finding rather than a silently filtered message. Compose-time guidance and pre-send verification are complements — this repo ships both (the agent skill is the compose-time half).
  2. Models can't do segment math. Septet counting, GSM-7 extension characters, encoding flips from one smart quote, placement-aware packing — token-based models are structurally bad at exactly this arithmetic. No amount of prompting fixes it; a 300-line deterministic function does.
  3. The token math, measured (char-count/4 heuristic on the actual pages, July 2026):
ApproachTokens per message10,000 msgs/day at $3/M input
Feed both AgentPhone doc pages into each generation call~7,700~$231/day (~$23/day with 90% prompt caching)
preflight_message call result (default)~250 (+ ~1,450 once per session for the tool definition)~$7.50/day
preflight_message with response_format: "concise"~4 on pass, ~44 on block (measured)~$0.35/day at a 90% pass rate

Roughly 30× fewer tokens per message in default mode — several hundred× in concise mode — and the checker's own compute rounds to zero (~4µs locally, no API). If you compress the rules into your system prompt instead — our skill file does, at ~950 tokens — you keep the compose-time benefit but still have no verifier and no segment math. Bulk senders feel this most: the tool exists precisely for AI agents sending texts at volume.

Quickstart

As an MCP tool (Claude Code):

claude mcp add willitsend -- npx -y -p github:abryfs/willitsend willitsend-mcp

or in any MCP client config:

{

"mcpServers": { "willitsend": { "command": "npx", "args": ["-y", "-p", "github:abryfs/willitsend", "willitsend-mcp"] } } }

For AI agents — paste this block into your agent (or point it at this README):

Install the willitsend MCP server (pre-send SMS/iMessage lint, no API key needed):
  • Claude Code: run claude mcp add willitsend -- npx -y -p github:abryfs/willitsend willitsend-mcp
  • Any other MCP client: add {"command": "npx", "args": ["-y", "-p", "github:abryfs/willitsend", "willitsend-mcp"]} to its MCP server config.

Then, before every send_message (or equivalent) call, call preflight_message with the draft body, is_first_message_to_contact (true/false when known), and brand_name. Treat verdict "block" as do-not-send: apply the returned fix strings and re-run until pass. Treat "needs_context" as a signal to determine whether this is a first message (check conversation history), never as permission to send. For high-volume loops pass response_format: "concise" (~4 tokens on pass).

No API key required. Set AGENTPHONE_API_KEY if you want a live iMessage/SMS capabilities lookup for phone-number destinations; without it the tool runs offline. The config above installs straight from this repo (a prepare script builds on install) — nothing to sign up for. willitsend also publishes to npm and the MCP Registry under the server name io.github.abryfs/willitsend; once a release is cut, registry-aware clients can add it by name and npx -y willitsend starts the server directly. See docs/publishing.md for the release runbook.

As a library (npm install github:abryfs/willitsend):

import { preflight } from "willitsend";

const report = preflight({ body: "Acme: thanks for signing up. Your order shipped. Reply STOP to unsubscribe.", is_first_message_to_contact: true, brand_name: "Acme", });

report.verdict; // "pass" | "warn" | "block" | "needs_context" report.findings; // each with severity, fix, and a citation URL report.trace.segments; // { encoding, units, segments, perSegment, ... }

As a CLI: npx -y -p github:abryfs/willitsend willitsend-cli --help (or npx -y -p willitsend willitsend-cli once installed from npm). Exit codes: 0 pass/warn, 1 block, 2 needs context, 3 usage error. It drops into CI or a shell pipeline as-is.

What it checks

RuleSeveritySource
first-message.opt-out: first message to a contact must carry opt-out instructionsblockAgentPhone docs
first-message.brand: first message must identify the brand (checked only against a brand_name you provide, never guessed)blockAgentPhone docs
first-message.opt-in: first message should acknowledge how the contact opted inwarnAgentPhone docs
first-message.media-only: compliance text can't ride in an imagewarnAgentPhone docs
segments.unicode-blowup: one non-GSM character re-encodes the whole message as UCS-2warnAgentPhone docs
imessage.feature-fallback: send_style, threaded replies, and carousels drop without a trace on SMS fallbackwarnAgentPhone docs
imessage.invalid-send-style, imessage.carousel-count: invalid effect names, carousels outside the documented 2-20 rangeblockAgentPhone docs
imessage.new-contact-cap: iMessage caps new-contact sends at 50/day per lineinfoAgentPhone docs
destination.invalid, destination.voip: malformed destinations; known-VoIP lines (line type is never guessed from the number)block / warnsend API / AgentPhone docs
content.shaft: sex/alcohol/firearms/tobacco terms carriers filter (hate speech has no keyword rule: word lists can't detect it and we don't pretend)warnTwilio guidelines
content.url-shortener: shared public shorteners (bit.ly, tinyurl, …) conflict with CTIA dedicated-shortener guidancewarnCTIA MP&BP (PDF)
content.spam-patterns: ALL-CAPS runs, $$$, !!!infoheuristic

Rules come in two labeled tiers. Rules sourced from AgentPhone's own documentation can block. Industry-sourced rules warn at most, because a keyword heuristic has no business vetoing your send.

The verdict model

A finding that depends on context you didn't supply doesn't pretend to be certain. If you never say whether this is the first message to a contact, the opt-out rule reports conditionally and the verdict is needs_context. You get no fake pass and no fake block.

flowchart LR

F[findings] --> B{any block finding with known context?} B -- yes --> BLOCK B -- no --> C{any block finding waiting on context?} C -- yes --> NC[NEEDS_CONTEXT] C -- no --> W{any warning?} W -- yes --> WARN W -- no --> PASS

Every report also carries a send trace: destination classification, assumed channel (iMessage/SMS/MMS), full segment math (encoding, septet and code-unit counts, placement-aware per-segment packing), and, given a 10DLC campaign tier, what this message costs against published daily segment caps.

Benchmarks

Reproduce every number here from the repo; none of them require an account.

  • Segment-math parity: agrees with Twilio's reference segment calculator on encoding and segment count across a frozen 126-vector corpus: GSM-7/UCS-2 boundaries, extension characters, emoji, ZWJ sequences, and a deterministic fuzz sweep. The corpus and suite live in test/parity.test.ts; run npm test.
  • Latency: median ~4µs per message, ~100,000 messages/second on one thread (Node 22, Apple Silicon laptop; single-pass code-point tables, zero per-character allocation). Run npm run bench on yours. Preflighting ev

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

PopNx fragen