overwing-mcp
This server exposes Overwing's LLM-output guardrails over MCP: it scores text against rule sets, returns pass/fail/review verdicts, and manages rule sets, stored evaluations, and account usage.
Score text —
evaluateruns one text (up to 100k chars) against a rule set (defaultcontent-safety) and returns an aggregate verdict plus per-rule answers with probability and confidence; accepts opaquemetadata.Bulk evaluation —
evaluate_batchscores up to 50 texts in one call, each counting as one evaluation, returning a summary with independent per-item verdicts.Browse rule sets —
list_rule_sets(optionally including inactive) andget_rule_setto fetch full rule definitions, usingcontent-safetyas a worked example.Author custom rules —
create_rule_setdefines 1–25 rules of typechoice,score, ornoul(yes/no), each with a fail condition, optional review threshold (confidence below X), weight, and description.Review stored results —
get_evaluationfetches a saved evaluation by id (original input + per-rule results);list_evaluationslists recent ones newest-first with verdict/rule-set filters, cursor paging, and limits up to 100.Monitor quota and identity —
get_usagereports daily usage, remaining quota, and plan limits (up to 90 days);whoamiidentifies the organization, plan, and billing status behind the API key.See pricing —
list_plansreturns the public plan catalog with prices, daily limits, and burst limits, requiring no API key.
Note: the README describes a larger hosted service (34 tools at https://overwing.ai/mcp, including Atlas, Beacon, and Tower tooling), but this local server schema covers only the evaluation, rule-set, and account tools listed above.
Provides tools for operating Overwing Tower: load the starter order-entry workflow, create and manage scoped agent identities, view available operations and their schemas, decide/submit/get/compensate actions, and read/verify signed receipts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@overwing-mcp Check this reply for PII before sending: 'Call me at 555-0142'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Overwing is an API that checks what your model said before it ships. This package exposes it to any MCP-capable agent: Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, OpenAI's Agents SDK, and anything else that speaks the Model Context Protocol.
Real verdicts, not vibes. Every rule returns a typed answer, a probability, and a confidence.
failmeans a rule matched;reviewmeans it was unsure;passmeans neither.Prebuilt
content-safetyandoutbound-messagerule sets: toxicity, personal data, confidential leaks, self-harm, sexual content, severity. Or write your own rules in plain language.Built for agents. Sign up, pay, evaluate, rotate keys, and cancel, all as JSON. No CAPTCHA, no browser required. See overwing.ai/llms.txt.
Try it without installing anything: paste text into the console at overwing.ai.
Hosted, no install
The same 41 tools are served at https://overwing.ai/mcp (Streamable HTTP). Point any client that takes a remote MCP URL at it:
claude mcp add --transport http overwing https://overwing.ai/mcpNo key is needed for evaluate, atlas_lookup, atlas_summary, list_plans, create_account, the three beacon_ tools, and preflight_verdict, preflight_report, preflight_record and preflight_overview. For the rest, send Authorization: Bearer ow_live_... on the connection.
Related MCP server: jev-mcp
Install
It works with no API key: evaluate and atlas_lookup each run 10 times a day free, and text sent without a key is not stored. For more, get a key at overwing.ai/login, or let your agent make its own account with the create_account tool. That account has no email: nothing is sent to anyone, and the key is returned once. The same call from a shell:
curl -X POST https://overwing.ai/api/v1/signupPut the key in OVERWING_API_KEY. An account with no email starts at 50 evaluations a day; proving a domain (prove_domain, verify_domain) raises it to the normal free limits and makes a lost key recoverable.
Claude Code
claude mcp add overwing -e OVERWING_API_KEY=ow_live_... -- npx -y overwing-mcpClaude Desktop, Cursor, Windsurf, VS Code (any JSON-configured client)
{
"mcpServers": {
"overwing": {
"command": "npx",
"args": ["-y", "overwing-mcp"],
"env": { "OVERWING_API_KEY": "ow_live_..." }
}
}
}Set OVERWING_BASE_URL to point at a self-hosted deployment. Requires Node 20+.
For Overwing Tower, set OVERWING_AGENT_KEY=ow_agent_... to operate as an existing agent. Without it, tower_create_agent mints a key with the organization key and keeps it in memory for the session.
evaluate, atlas_lookup, atlas_summary and list_plans work with no key at all.
For Overwing Preflight, preflight_check needs OVERWING_API_KEY; the other preflight_ tools need no key. No Preflight tool takes a private key, and none should ever be given one.
The text can be in any language. It was tested on 2026-09-29 in Spanish, Portuguese, French, German, Japanese, Simplified Chinese, Korean, Arabic and Hindi: a small test, not a benchmark. Results come back in English.
Tools
Tool | What it does |
| Score one text against a rule set. Returns the verdict, a |
| Score up to 50 texts in one call, with a summary and per-item verdicts and recommended actions. |
| Browse the prebuilt set or define your own rules: yes/no questions, classifications, or scored scales. |
| Read stored results, filter by verdict or rule set, page with a cursor. |
| An account for the agent itself, with no email: |
| Overwing Atlas: say what a User-Agent string claims to be and whether the claim can be trusted (Web Bot Auth, spoofable string, or unattributable). Works with no key, 10 a day; 100 a day with a free key. |
| Search the registry of AI crawlers, fetchers and browser agents; get traffic shares, sector field-scan headlines, and the agent-spending summary. |
| Add an agent you operate to the Atlas registry, free, so a lookup of its User-Agent names you. Register it, publish the value you are given at the operator's domain (a DNS TXT record or a file), then verify. Needs |
| Overwing Beacon: is a site reachable by agents? Checks robots.txt, llms.txt, the MCP server card, endpoint and Registry listing, the A2A agent card and OpenAPI, and how the home page reads to a model. A check is free: |
| Tell the people who run Overwing what went wrong: a wrong verdict, an error you could not act on, a payment you could not make. No key needed. |
| Overwing Preflight: should the agent sign this Solana transaction? Give it the unsigned transaction in base64 and a policy: the |
| Should the agent sign this x402 payment? Reads the 402's terms and checks the payee against x402-list's directory and the server's own manifest, and the price against the record. allow, review or refuse with reasons. No key needed. |
| Preflight's public side, with no key: read one published verdict, report the transaction that landed after a verdict (by its signature) to learn whether the verdict held, read the record of every verdict and miss, and read the overview of policy fields, reason codes, limits and prices. |
| Overwing Tower setup, with the organization key: load the starter order-entry workflow, then mint a scoped agent identity. The new agent key is used for the rest of the session. |
| Overwing Tower operations, with the agent key: see which operations you may call and their input schemas, ask how a request would be ruled, submit it (executed, pending human review, or rejected), poll it, undo it. |
| Read a signed receipt, or recompute every hash and signature in the chain. |
| Today's quota, the org behind the key, and the public plan catalog. |
The overwing://guide resource returns the full plain-text API guide.
Data handling and security
What this server does on your machine: it reads three environment variables (OVERWING_API_KEY, OVERWING_AGENT_KEY, OVERWING_BASE_URL) and makes HTTPS requests to the Overwing API. It reads no files, runs no commands, and talks to no other host. It has two runtime dependencies (@modelcontextprotocol/sdk, zod), and the whole server is one file: src/index.ts.
What happens to text you evaluate:
It is sent to the Overwing API, and from there to TypeSafe, whose Jev model produces the verdict. It is not used to train models.
Without a key the text is never stored.
With a key the text, context and verdict are stored so you can read them back with
get_evaluation, until you delete them. To change that:pass
store: falsetoevaluateorevaluate_batchto keep no text or context for that call;set
store_inputs: falseon the organization (PATCH /api/v1/org, or the dashboard) to keep none at all;set
retention_dayson the organization to delete evaluations after that many days.
A Solana transaction you check with
preflight_checkis sent to the Overwing API with its policy, and simulated against a Solana node. What is published is the verdict: its id, decision, reason codes, programs and the transaction's digest. Never the wallet, the amounts or the transaction. No private key is ever sent, and the tool does not accept one.Traffic is encrypted in transit (TLS) and the database is encrypted at rest (AES-256).
Give your agent a restricted key. A key with scope evaluate can run checks and read rule sets, and cannot read stored evaluations, change rule sets, manage keys, webhooks or billing, or delete anything:
curl -X POST https://overwing.ai/api/v1/api-keys \
-H "Authorization: Bearer ow_live_..." -H "Content-Type: application/json" \
-d '{"name":"agent","scope":"evaluate"}'Overwing is a young service and has not had an independent security audit. The full picture, including subprocessors and what we have not done, is at overwing.ai/security; the privacy policy is at overwing.ai/privacy. To report a vulnerability, see SECURITY.md.
Example
Ask your agent:
Check this reply before I send it: "Reach me at dana@example.com or 555-0142 to sort out the refund."
It calls evaluate and gets back:
Verdict: FAIL score=0.82 confidence=0.97 251ms
toxicity: pass (answer="safe", confidence=1)
pii_detected: fail (answer=true, confidence=0.98)
self_harm: pass (answer=false, confidence=1)
sexual_content: pass (answer="none", confidence=1)
severity: pass (answer=0.03, confidence=0.97)How verdicts work
Each rule has a fail condition, an optional review threshold, and a weight.
fail: a rule's fail condition matched. Block it, redact it, or regenerate.
review: nothing failed, but a rule's confidence was below its threshold. Route to a person or a slower model.
pass: everything else.
Every rule also carries an action (block, redact, or review), and the response rolls them up into one recommended_action: block beats redact beats review beats allow. Branch on that field. Pass a context object (recipient, channel, owns_contact_info) with the outbound-message rule set and its rules read it, so a customer's own phone number in a reply to that customer is not flagged.
aggregate_score is 0 to 1 (pass = 1, review = 0.5, fail = 0 per rule, weighted). confidence is the minimum across rules.
Pricing
Free: 250 evaluations a day. Paid plans from $29/month. Every plan includes every endpoint, custom rule sets, webhooks, and the dashboard. Full details at overwing.ai/#pricing or GET https://overwing.ai/api/v1/plans.
Links
Website and live demo: overwing.ai
API reference: overwing.ai/docs
OpenAPI: overwing.ai/api/v1/openapi.json
Guide for agents: overwing.ai/llms.txt
Support: support@overwing.ai
Development
npm install
npm run build
OVERWING_API_KEY=ow_live_... node dist/index.jsMIT © Overwing. Verdicts are produced by TypeSafe's Jev System One model; Overwing is not affiliated with TypeSafe.
Available Tools
10 toolscreate_rule_setCreate rule setBInspect
Create a custom rule set with 1 to 25 rules. Each rule is a choice (pick one option), score (position on an ordered scale), or noul (yes/no) question with a fail condition, optional review threshold, and weight.
Inputs: name (required), slug (required), rules (required), description.
evaluateEvaluate textAInspect
Score any text (typically an LLM's output) against an Overwing rule set. Returns an aggregate verdict of pass, fail, or review plus per-rule answers with probability and confidence. fail means a rule's fail condition matched: block or redact. review means a rule was unsure: route to a human or slower model. The prebuilt 'content-safety' set checks toxicity, PII, self-harm, sexual content, and severity.
Inputs: input (required), metadata, rule_set.
evaluate_batchEvaluate many textsAInspect
Score up to 50 texts against one rule set in a single call. Each item counts as one evaluation. Returns a summary plus per-item verdicts; items can fail independently.
Inputs: items (required), rule_set.
get_evaluationGet evaluationAInspect
Fetch a stored evaluation by id, including the original input and per-rule results.
Inputs: id (required).
get_rule_setGet rule setCInspect
Fetch a rule set with its full rule definitions. Use 'content-safety' as a worked example when writing your own.
Inputs: slug (required).
list_evaluationsList evaluationsAInspect
List recent evaluations, newest first, with optional verdict and rule set filters. Use next_cursor to page.
Inputs: limit, cursor, verdict, rule_set.
list_plansList plansAInspect
Public plan catalog: prices, daily limits, and per-minute burst limits. No API key needed.
Inputs: no named parameters.
list_rule_setsList rule setsBInspect
List the prebuilt and custom rule sets available to this organization.
Inputs: include_inactive.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a distinct operation: single vs batch evaluation, rule set management, evaluation retrieval, and account/plan information. Even the plan-related tools (whoami, get_usage, list_plans) are cleanly separated by identity, usage, and catalog purposes.
Most tools follow a clear verb_noun pattern: list_rule_sets, get_rule_set, create_rule_set, get_evaluation, list_evaluations. evaluate, evaluate_batch, and whoami are minor deviations but still verb-first and predictable.
Ten tools is well-scoped for an LLM evaluation service: two evaluation paths, three rule set operations, two evaluation lookup operations, and three account/plan tools. Each tool earns its place without redundancy.
The evaluation lifecycle is well covered: evaluate, retrieve, and list evaluations, plus list/get/create rule sets. Update and delete for rule sets are missing, which is a minor gap, but agents can work around it by creating new rule sets.
Maintenance
Related MCP Connectors
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
Typed AI decisions for agents: classify, route, screen evidence, score and batch-label text.
Scores text for substance, depth, and clarity in under 25ms.
Detect prompt injection, jailbreaks, and code injection in untrusted text before it reaches an LLM.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to score their outgoing responses against groundedness and prompt-injection risks mid-turn, returning allow, warn, or block verdicts before the response reaches the user.17 npmISC
- AlicenseAqualityAmaintenanceEnables agents to verify claims against cited evidence, screen content for prompt injection and relevance before reading it, and rank candidates by meaning, all with calibrated probability verdicts.125,273 npm574MIT
- AlicenseAqualityBmaintenanceProvides a single-purpose content-moderation gate that evaluates text and returns structured verdicts (spam/toxic probabilities, severity, confidence) with suggested actions (allow/review/block) for automated decision-making.11MIT
- FlicenseNot gradedqualityAmaintenanceEnables agents to score inline text or files for formulaic AI-writing patterns and receive rule-based diagnostics, violation context, and actionable advice via MCP tools.-