Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
36
A2A v1.0

Wraps

wraps.dev · Wraps

CLI and TypeScript SDK that deploys email (SES), SMS, and CDN infrastructure to your AWS account. One command, full ownership, AWS pricing. No credentials stored.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain wraps.dev via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
36/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~434 ms response
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
1 snapshot tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 36/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
fail Live JSON-RPC 5/25
Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response.
How to earn +20 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 8 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Wraps (https://wraps.dev). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 2 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-10-06 13:20:35 current 26caf6fb57b6… view →
Uptime
accumulating
1 direct probes · 30d
Response
536ms
last direct probe
Skills
8
declared
Streaming
—
SSE-capable

Skills · 8 declared · mapped to canonical taxonomy

Wraps CLI

Deploy and manage AWS communication infrastructure via CLI

orphan: no canonical match yet
cliawssessmscdn
Wraps Email SDK

Send email via AWS SES with TypeScript SDK

orphan: no canonical match yet
emailsessdktypescript
Wraps SMS SDK

Send SMS via AWS End User Messaging with TypeScript SDK

orphan: no canonical match yet
smssdktypescript
Wraps Workflows

Automated multi-step email and SMS sequences

canonical Workflow Automation match 90%
workflowsautomationsequences
Wraps Quickstart

Get started with Wraps email infrastructure. Guides through deploying infrastructure, verifying a domain, installing the SDK, and sending the first email. Adapt…

orphan: no canonical match yet
quickstartonboardingemailses
AWS SES Best Practices

Email deliverability, warming, compliance, and operational guidelines for AWS Simple Email Service.

orphan: no canonical match yet
sesdeliverabilitycompliancebest-practices
SES Deliverability Troubleshooter

Interactive SES deliverability troubleshooting. Diagnoses bounces, spam placement, send failures, account health, and complaint issues with targeted AWS CLI com…

orphan: no canonical match yet
sestroubleshootingdeliverabilitydiagnostics
Email Content Guide

Best practices for email content that avoids spam filters. Apply these rules when writing email copy, building templates, or debugging spam placement issues.

orphan: no canonical match yet
emailcontentspamdeliverability

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-06 13:20:35 200 ✗ 536ms

Cheaper or better alternatives per-skill

↑ 1 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

Novu
The open-source notification infrastructure for agents and products. Send, receive, and track notifications across channels.
Novu · q 90%
Answer multi-channel support queries with OpenAI RAG and Supabase
Quick overview Answers customer questions on Email, Live Chat, WhatsApp, Slack and Discord from your own documentation, retrieved through a
n8n.io · q 40%
Build and deploy tested workflows from chat with Claude Sonnet
Quick overview Describe an automation in one sentence in chat. Claude turns it into an n8n workflow. The workflow is checked against n8n's o
n8n.io · q 40%
CommsHarbor live
Try a temporary workspace to organise contacts and drafts. Link an account when you are ready; sending requires an enabled organisation.
CommsHarbor · q 100%
CONNSKILL Growth Services live
Merchant agent for growth infrastructure: SMS verification numbers, social marketing orders, the full SEO/SERP research line (SERP reports,
CONNSKILL GmbH & Co. KG · q 100%
Organize Gmail inbox labels with Jev TypeSafe AI (System One)
Quick overview This workflow runs every five minutes to find unlabelled Gmail messages, classifies each email with TypeSafe Jev (System One)
n8n.io · q 40%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/wraps.dev.svg)](https://agenstry.com/agents/wraps.dev)
[![Verified Business](https://agenstry.com/badge/wraps.dev/identity.svg)](https://agenstry.com/agents/wraps.dev)
[![Uptime](https://agenstry.com/badge/wraps.dev/uptime.svg)](https://agenstry.com/agents/wraps.dev)
[![A2A version](https://agenstry.com/badge/wraps.dev/protocol.svg)](https://agenstry.com/agents/wraps.dev)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Wraps",
  "description": "CLI and TypeScript SDK that deploys email (SES), SMS, and CDN infrastructure to your AWS account. One command, full ownership, AWS pricing. No credentials stored.",
  "url": "https://wraps.dev",
  "provider": {
    "organization": "Wraps",
    "url": "https://wraps.dev"
  },
  "version": "1.0",
  "documentationUrl": "https://wraps.dev/docs/quickstart/email",
  "iconUrl": "https://wraps.dev/icon.svg",
  "api": {
    "base_url": "https://api.wraps.dev",
    "openapi": "https://api.wraps.dev/swagger/json",
    "docs": "https://wraps.dev/llms.txt",
    "full_docs": "https://wraps.dev/llms-full.txt",
    "authentication": "Bearer token via OAuth 2.0 Device Authorization Grant (RFC 8628)",
    "oauth_discovery": "https://api.wraps.dev/.well-known/oauth-authorization-server"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": true,
    "features": [
      "deploy_email_infrastructure",
      "deploy_sms_infrastructure",
      "deploy_cdn_infrastructure",
      "send_email",
      "send_sms",
      "manage_templates",
      "manage_workflows",
      "domain_verification",
      "deliverability_audit"
    ]
  },
  "skills": [
    {
      "id": "wraps-cli",
      "name": "Wraps CLI",
      "description": "Deploy and manage AWS communication infrastructure via CLI",
      "tags": [
        "cli",
        "aws",
        "ses",
        "sms",
        "cdn",
        "infrastructure"
      ]
    },
    {
      "id": "wraps-email",
      "name": "Wraps Email SDK",
      "description": "Send email via AWS SES with TypeScript SDK",
      "tags": [
        "email",
        "ses",
        "sdk",
        "typescript"
      ]
    },
    {
      "id": "wraps-sms",
      "name": "Wraps SMS SDK",
      "description": "Send SMS via AWS End User Messaging with TypeScript SDK",
      "tags": [
        "sms",
        "sdk",
        "typescript"
      ]
    },
    {
      "id": "wraps-workflows",
      "name": "Wraps Workflows",
      "description": "Automated multi-step email and SMS sequences",
      "tags": [
        "workflows",
        "automation",
        "sequences"
      ]
    },
    {
      "id": "wraps-quickstart",
      "name": "Wraps Quickstart",
      "description": "Get started with Wraps email infrastructure. Guides through deploying infrastructure, verifying a domain, installing the SDK, and sending the first email. Adapts to project framework and hosting provider.",
      "tags": [
        "quickstart",
        "onboarding",
        "email",
        "ses"
      ]
    },
    {
      "id": "aws-ses-best-practices",
      "name": "AWS SES Best Practices",
      "description": "Email deliverability, warming, compliance, and operational guidelines for AWS Simple Email Service.",
      "tags": [
        "ses",
        "deliverability",
        "compliance",
        "best-practices"
      ]
    },
    {
      "id": "ses-troubleshoot",
      "name": "SES Deliverability Troubleshooter",
      "description": "Interactive SES deliverability troubleshooting. Diagnoses bounces, spam placement, send failures, account health, and complaint issues with targeted AWS CLI commands and ordered remediation steps.",
      "tags": [
        "ses",
        "troubleshooting",
        "deliverability",
        "diagnostics"
      ]
    },
    {
      "id": "email-content-guide",
      "name": "Email Content Guide",
      "description": "Best practices for email content that avoids spam filters. Apply these rules when writing email copy, building templates, or debugging spam placement issues.",
      "tags": [
        "email",
        "content",
        "spam",
        "deliverability"
      ]
    }
  ],
  "protocols": [
    "llms.txt",
    "claude-code-skills",
    "mcp/streamable-http",
    "a2a/agent-card"
  ],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "API authentication via better-auth bearer token"
    },
    "aws_credentials": {
      "type": "custom",
      "description": "AWS credentials (env vars, profiles, or OIDC) for SDK and CLI usage"
    }
  },
  "entryPoints": {
    "llms_txt": "https://wraps.dev/llms.txt",
    "llms_full_txt": "https://wraps.dev/llms-full.txt",
    "skills": "https://wraps.dev/.well-known/skills/",
    "oauth_discovery": "https://api.wraps.dev/.well-known/oauth-authorization-server",
    "cli_quickstart": "https://wraps.dev/docs/quickstart/email",
    "sdk_reference": "https://wraps.dev/docs/sdk-reference",
    "cli_reference": "https://wraps.dev/docs/cli-reference",
    "mcp_remote": "https://wraps.dev/mcp",
    "mcp_manifest": "https://wraps.dev/.well-known/mcp.json",
    "sitemap": "https://wraps.dev/sitemap.xml",
    "pricing_estimator": "https://wraps.dev/api/pricing/estimate"
  },
  "packages": {
    "cli": {
      "name": "@wraps.dev/cli",
      "registry": "npm",
      "url": "https://www.npmjs.com/package/@wraps.dev/cli",
      "install": "npm install -g @wraps.dev/cli",
      "run": "npx @wraps.dev/cli email init"
    },
    "email_sdk": {
      "name": "@wraps.dev/email",
      "registry": "npm",
      "url": "https://www.npmjs.com/package/@wraps.dev/email",
      "install": "npm install @wraps.dev/email"
    },
    "email_sdk_python": {
      "name": "wraps-email",
      "registry": "pypi",
      "url": "https://pypi.org/project/wraps-email/",
      "install": "pip install wraps-email"
    },
    "sms_sdk": {
      "name": "@wraps.dev/sms",
      "registry": "npm",
      "url": "https://www.npmjs.com/package/@wraps.dev/sms",
      "install": "npm install @wraps.dev/sms"
    },
    "platform_sdk": {
      "name": "@wraps.dev/client",
      "registry": "npm",
      "url": "https://www.npmjs.com/package/@wraps.dev/client",
      "install": "npm install @wraps.dev/client"
    },
    "mcp_server": {
      "name": "@wraps.dev/mcp",
      "registry": "npm",
      "url": "https://www.npmjs.com/package/@wraps.dev/mcp",
      "run": "npx -y @wraps.dev/mcp"
    }
  },
  "contact": "support@wraps.dev",
  "mcp": {
    "manifest": "https://wraps.dev/.well-known/mcp.json",
    "remote": {
      "url": "https://wraps.dev/mcp",
      "transport": "streamable-http",
      "authentication": "none",
      "tools": [
        "search_docs",
        "get_doc",
        "list_docs",
        "estimate_cost"
      ]
    },
    "local": {
      "package": "@wraps.dev/mcp",
      "transport": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@wraps.dev/mcp"
      ],
      "authentication": "AWS credentials from the caller's own environment",
      "tools": [
        "list_recent_sends",
        "get_email_event_log",
        "verify_domain_status",
        "list_suppressions",
        "send_email"
      ]
    }
  },
  "onboarding": {
    "free_tier": {
      "available": true,
      "price": "0",
      "currency": "USD",
      "includes": "5,000 tracked events per month, 1 AWS account",
      "url": "https://wraps.dev/pricing.md"
    },
    "signup": {
      "self_serve": true,
      "url": "https://app.wraps.dev/sign-up",
      "sales_contact_required": false
    },
    "api_keys": {
      "self_serve": true,
      "url": "https://app.wraps.dev",
      "location": "Settings \u2192 API Keys",
      "docs": "https://wraps.dev/docs/reference/api"
    },
    "headless_auth": {
      "grant": "urn:ietf:params:oauth:grant-type:device_code",
      "command": "wraps auth login",
      "discovery": "https://api.wraps.dev/.well-known/oauth-authorization-server"
    },
    "sandbox": {
      "available": true,
      "description": "New AWS SES accounts start in the SES sandbox: sending is limited to verified addresses and the SES mailbox simulator. This is the test environment, and it costs nothing.",
      "test_addresses": [
        "success@simulator.amazonses.com",
        "bounce@simulator.amazonses.com",
        "complaint@simulator.amazonses.com"
      ],
      "status_command": "wraps doctor",
      "exit_docs": "https://wraps.dev/docs/guides/production-access"
    },
    "zero_auth_endpoints": [
      "https://wraps.dev/mcp",
      "https://wraps.dev/api/pricing/estimate",
      "https://wraps.dev/llms.txt",
      "https://wraps.dev/llms-full.txt",
      "https://wraps.dev/.well-known/mcp.json"
    ],
    "no_account_path": "npx @wraps.dev/cli email init deploys into the caller's own AWS account with no Wraps account at all."
  },
  "developer_resources": {
    "api_reference": "https://wraps.dev/docs/reference/api",
    "openapi": "https://wraps.dev/openapi.json",
    "api_catalog": "https://wraps.dev/.well-known/api-catalog",
    "authentication": "https://api.wraps.dev/.well-known/oauth-authorization-server",
    "webhooks": "https://wraps.dev/docs/guides/webhooks",
    "errors": "https://wraps.dev/docs/reference/errors",
    "rate_limits": "https://wraps.dev/docs/reference/rate-limits",
    "cli": "https://wraps.dev/docs/cli-reference",
    "sdk": "https://wraps.dev/docs/sdk-reference",
    "mcp": "https://wraps.dev/docs/mcp-reference",
    "changelog": "https://wraps.dev/changelog",
    "status": "https://api.wraps.dev/health"
  }
}