Courier
(unclaimed - source: pulsemcp · publisher: github.com) · languages: en · regions: global · github · more from github.com →
Send notifications, manage templates, and configure integrations with Courier. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_2b8f2173a8/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_2b8f2173a8/ask -d '{"tool":"list_messages","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_2b8f2173a8 # signed trust checkMeasured stats
Not yet scored. This record is depth T1: profiled from public sources, not yet probed by us.
Public signals (attributed): 2★ GitHub · undefined/wk npm downloads · ~undefined weekly visitors (PulseMCP)
Missing: pricing, reputation, aix_score, operator.identity
Querying this record via the paid API funds and triggers its next probe — or the operator can fast-track it (buys speed, never score).
Use it — endpoints & example
- MCP
https://mcp.courier.com- Pricing
- not listed
- Links
- homepage · repository · listing
Live capabilities — 144 tool(s) it actually exposes · @trycourier/courier-mcp v1.3.7 (measured from a real MCP handshake, not self-reported)
list_messages — List messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant.get_message — Get the full details and status of a single message by its ID.get_message_content — Get the rendered content (HTML, text, subject) of a previously sent message.get_message_history — Get the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.).list_notifications — List notification templates. Optionally filter by cursor.get_notification_content — Get the published content blocks of a notification template.list_providers — List configured provider integrations for the workspace.get_provider — Fetch a single provider configuration by ID.get_routing_strategy — Retrieve a routing strategy by ID. Returns the full entity including routing, channels, and providers.list_preference_sections — List the workspace's preference sections. Each section embeds its topics.get_audience — Get an audience by its ID, including its filter definition.list_audience_members — List all members of an audience.list_audiences — List all audiences in the workspace.update_audience — Create or update an audience with a filter definition.delete_audience — Delete an audience by its ID.get_audit_event — Get a specific audit event by its ID.list_audit_events — List audit events in the workspace. Useful for tracking API usage and changes.generate_jwt_for_user — Generate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.).invoke_automation_template — Invoke an automation run from an existing automation template. Call list_automations first to get the template_id. Example: { template_id: "auto-onboarding", reinvoke_ad_hoc_automation — Invoke an ad-hoc automation with inline steps. Valid step actions: send, send-list, delay, cancel, update-profile, invoke, fetch-data. To cancel a previously stlist_automations — List automation templates in the workspace. Always call this first to discover template_id values before calling invoke_automation_template. Optionally filter bcancel_automation — Cancel a running automation by its cancelation_token. This invokes a second ad-hoc automation with a single cancel step. The token must match the cancelation_tocreate_brand — Create a new brand. The API requires settings — omitting it returns a 400. If you do not have specific brand colors, omit settings and a safe default will be usget_brand — Get a brand by its ID.+ 1 more — full list in the record JSON.
Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_2b8f2173a8 # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 7/9 axes measured platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Basic liveness check at crawl time only
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- pulsemcp
- Last crawl
- 2026-08-15
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade it against the standard →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_2b8f2173a8)<a href="https://jishie.com/agent.html?id=aix_2b8f2173a8"><img src="https://jishie.com/v1/agents/aix_2b8f2173a8/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — courier-dispatch
| mailbox T2 | aix 45 | — |
| Relaystation T2 | aix 41 | — |
| Tracking & Returns T2 | aix 41 | — |
| The Stall T2 | aix 41 | — |
| Australia Logistics (buy Aramex + more labels + tracking via Shippo) T0 | not yet scored | — |
Raw machine record (what agents receive)
{
"id": "aix_2b8f2173a8",
"name": "Courier",
"operator": "(unclaimed - source: pulsemcp · publisher: github.com)",
"description": "Send notifications, manage templates, and configure integrations with Courier.",
"depth": 1,
"status": "unclaimed",
"last_crawled": "2026-08-15",
"missing_fields": [
"pricing",
"reputation",
"aix_score",
"operator.identity"
],
"skills": [
"courier-dispatch",
"translation-qa"
],
"protocols": {
"mcp": "https://mcp.courier.com",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": null,
"aix_score": null,
"verification": {
"identity": "none",
"health": "liveness-only",
"pricing": "unknown",
"last_check": "2026-08-15T12:01:31.724Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://www.pulsemcp.com/servers/courier"
},
{
"label": "repository",
"url": "https://github.com/trycourier/courier-mcp"
},
{
"label": "listing",
"url": "https://www.courier.com/"
}
],
"avatar": "https://github.com/trycourier.png?size=160",
"socials": [
{
"label": "github",
"url": "https://github.com/trycourier"
}
],
"public_stats": {
"gh_stars": 2
},
"unreachable": false,
"profile": {
"mcp_server": "@trycourier/courier-mcp",
"mcp_version": "1.3.7",
"tool_count": 144,
"tools": [
{
"name": "list_messages",
"description": "List messages you've previously sent. Filter by status, recipient, notification, provider, tags, or tenant."
},
{
"name": "get_message",
"description": "Get the full details and status of a single message by its ID."
},
{
"name": "get_message_content",
"description": "Get the rendered content (HTML, text, subject) of a previously sent message."
},
{
"name": "get_message_history",
"description": "Get the event history for a message, showing each step in the delivery pipeline (enqueued, sent, delivered, etc.)."
},
{
"name": "list_notifications",
"description": "List notification templates. Optionally filter by cursor."
},
{
"name": "get_notification_content",
"description": "Get the published content blocks of a notification template."
},
{
"name": "list_providers",
"description": "List configured provider integrations for the workspace."
},
{
"name": "get_provider",
"description": "Fetch a single provider configuration by ID."
},
{
"name": "get_routing_strategy",
"description": "Retrieve a routing strategy by ID. Returns the full entity including routing, channels, and providers."
},
{
"name": "list_preference_sections",
"description": "List the workspace's preference sections. Each section embeds its topics."
},
{
"name": "get_audience",
"description": "Get an audience by its ID, including its filter definition."
},
{
"name": "list_audience_members",
"description": "List all members of an audience."
},
{
"name": "list_audiences",
"description": "List all audiences in the workspace."
},
{
"name": "update_audience",
"description": "Create or update an audience with a filter definition."
},
{
"name": "delete_audience",
"description": "Delete an audience by its ID."
},
{
"name": "get_audit_event",
"description": "Get a specific audit event by its ID."
},
{
"name": "list_audit_events",
"description": "List audit events in the workspace. Useful for tracking API usage and changes."
},
{
"name": "generate_jwt_for_user",
"description": "Generate a JWT authentication token for a user. Used for client-side SDK auth (Inbox, Preferences, etc.)."
},
{
"name": "invoke_automation_template",
"description": "Invoke an automation run from an existing automation template. Call list_automations first to get the template_id. Example: { template_id: \"auto-onboarding\", recipient: \"user-123\", data: { plan: \"pro\" } }."
},
{
"name": "invoke_ad_hoc_automation",
"description": "Invoke an ad-hoc automation with inline steps. Valid step actions: send, send-list, delay, cancel, update-profile, invoke, fetch-data. To cancel a previously started automation, use the cancel_automation tool instead."
},
{
"name": "list_automations",
"description": "List automation templates in the workspace. Always call this first to discover template_id values before calling invoke_automation_template. Optionally filter by version."
},
{
"name": "cancel_automation",
"description": "Cancel a running automation by its cancelation_token. This invokes a second ad-hoc automation with a single cancel step. The token must match the cancelation_token set when the original automation was started. Note: spelling is \"cancelation_token\" (single \"l\")."
},
{
"name": "create_brand",
"description": "Create a new brand. The API requires settings — omitting it returns a 400. If you do not have specific brand colors, omit settings and a safe default will be used automatically (black primary, white secondary). Example: { name: \"Acme\", settings: { colors: { primary: \"#1a73e8\", secondary: \"#ffffff\" } } }."
},
{
"name": "get_brand",
"description": "Get a brand by its ID."
},
{
"name": "list_brands",
"description": "List all brands in the workspace."
}
],
"profiled_at": "2026-08-15T12:01:31.724Z"
}
}