Stannp for AI agents

Stannp is a direct mail API that sends postcards and letters on a business's behalf, handling templates, recipient lists, and delivery tracking. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

MarketingAPI keyMCP + RESTstannp.com
AUDIT LOG · STANNPPOLICY: acme-support
09:41:07 · claude · u_8f2read
stannp.list_groups
List Mailing Groups✓ allowed · 212ms
09:41:08 · claude · u_8f2read
stannp.get_contact
Get Contact✓ allowed · 164ms
09:41:09 · claude · u_8f2write
stannp.create_group
Create recipient group✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
stannp.delete_group
Delete recipient group✕ blocked · policy: deny
EVERY STANNP CALL, ON THE RECORD
01 · USE CASES

What agents do in Stannp.

01

Check account balance before a mailing

Check the account balance to confirm there's enough credit before a postcard batch goes out.

02

Send a postcard to a recipient list

Create a postcard campaign against an imported recipient list, using an approved template and design.

03

Confirm before canceling a postcard

Look up a postcard's status before canceling it, since cancellation only works before it enters production.

02 · ACTIONS

32 Stannp actions, graded by risk.

Every Stannp action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

14

Look things up. Allowed by default.

  • stannp.get_contact
    Get Contact
  • stannp.list_groups
    List Mailing Groups
  • stannp.get_campaign
    Get Campaign
  • stannp.list_folders
    List Folders
  • stannp.list_contacts
    List Contacts
  • stannp.list_campaigns
    List Campaigns
  • stannp.list_templates
    List Templates
  • stannp.list_mailpieces
    List Mailpieces
  • stannp.get_current_user
    Get Current User
  • stannp.get_campaign_cost
    Get Campaign Cost
  • stannp.get_account_balance
    Get Account Balance
  • stannp.get_reporting_summary
    Get Reporting Summary
  • stannp.get_campaign_available_dates
    Get Campaign Available Dates
  • stannp.validate_address
    Validate Address

write

12

Create and change things. Allow, or ask the user first.

  • stannp.create_group
    Create recipient group
  • stannp.create_folder
    Create folder
  • stannp.create_letter
    Create Letter
  • stannp.create_campaign
    Create Campaign
  • stannp.create_postcard
    Create Postcard
  • stannp.create_selection
    Create recipient selection
  • stannp.add_recipient_to_group
    Add Recipient to Group
  • stannp.create_campaign_sample
    Create campaign sample
  • stannp.add_recipients_to_group
    Add recipients to group
  • stannp.upload_file
    Upload File
  • stannp.import_recipients
    Import Recipients
  • stannp.recalculate_group
    Recalculate group

destructive

6

Delete, cancel or archive. Ask first, or deny outright.

  • stannp.delete_group
    Delete recipient group
  • stannp.cancel_postcard
    Cancel Postcard
  • stannp.delete_recipient
    Delete Recipient
  • stannp.remove_recipients_from_group
    Remove Recipients from Group
  • stannp.merge_pdfs
    Merge PDF files
  • stannp.purge_group
    Purge Group
03 · HOW IT WORKS

Stannp in three steps.

  1. 01Your users connect StannpThey add their Stannp api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create recipient group” can wait for the user, and “delete recipient group” can be denied outright.
  3. 03Any agent can actYour agent calls Stannp through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('stannp', {
  read: 'allow',
  write: 'ask',        // create_group
  destructive: 'deny',  // delete_group
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Stannp connects.

Users add their Stannp api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Stannp connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Stannp from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Stannp and Arc0, answered.

Q01

Can I use Stannp with Claude, ChatGPT or Cursor?

Yes. Connect Stannp to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Stannp actions you allow.

Q02

How do users connect Stannp?

Users add their Stannp api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Stannp actions can my agent take?

32 in total: 14 read, 12 write and 6 destructive, such as “create recipient group”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Stannp?

Yes. Actions like “delete recipient group” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Stannp too?

Yes. The same Stannp connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Stannp into your agent.

Your users connect Stannp once, under your brand. Your agent gets 32 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan