MCP server for OnceAsk, the AI-native current-address layer for people and agents.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
List available Handwrytten card designs and handwriting styles for privacy-preserving fulfillment. Does not expose recipient address data.
This tool takes no arguments.
List available Handwrytten card designs and handwriting styles for privacy-preserving fulfillment. Does not expose recipient address data.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}After the user explicitly confirms they want the recipient contacted, ask OnceAsk to request a current delivery address/permission. Accepts either a recipientId from resolve_delivery or a person's name/email. OnceAsk searches its contacts and connected Google/Gmail-derived people, then emails the secure request when possible without revealing the recipient email or street address to the agent.
| Argument | Type | Description |
|---|---|---|
| query | string | Person's name or email when recipientId is not known, e.g. Aunt Theresa |
| contactId | string | recipientId returned by resolve_delivery |
| customMessage | string | Optional message shown to the recipient |
{
"type": "object",
"required": [],
"properties": {
"query": {
"type": "string",
"description": "Person's name or email when recipientId is not known, e.g. Aunt Theresa"
},
"contactId": {
"type": "string",
"description": "recipientId returned by resolve_delivery"
},
"customMessage": {
"type": "string",
"description": "Optional message shown to the recipient"
}
}
}Preferred privacy-preserving way to send something to a person. Searches OnceAsk first and, when connected, can discover a missing person from Google Contacts or Gmail interactions. Resolves to a short-lived one-time delivery token when recipient permission and a current address exist. Does not return the street address.
| Argument | Type | Description |
|---|---|---|
| query | string | Name or email to resolve when contact ID is not known |
| purpose | string | Purpose for the physical delivery |
| contactId | string | Known OnceAsk contact ID |
{
"type": "object",
"required": [],
"properties": {
"query": {
"type": "string",
"description": "Name or email to resolve when contact ID is not known"
},
"purpose": {
"type": "string",
"description": "Purpose for the physical delivery"
},
"contactId": {
"type": "string",
"description": "Known OnceAsk contact ID"
}
}
}Fulfill a handwritten card using a delivery token returned by resolve_delivery. OnceAsk sends the recipient address directly to the fulfillment provider; the agent does not receive it.
| Argument | Type | Description |
|---|---|---|
| cardId* | number | Card ID from list_handwritten_cards |
| wishes | string | Optional closing/signoff |
| message* | string | Handwritten message |
| fontLabel | string | Handwriting label from list_handwritten_cards; defaults to Casual David |
| deliveryToken* | string | Opaque token returned by resolve_delivery |
{
"type": "object",
"required": [
"deliveryToken",
"cardId",
"message"
],
"properties": {
"cardId": {
"type": "number",
"description": "Card ID from list_handwritten_cards"
},
"wishes": {
"type": "string",
"description": "Optional closing/signoff"
},
"message": {
"type": "string",
"description": "Handwritten message"
},
"fontLabel": {
"type": "string",
"description": "Handwriting label from list_handwritten_cards; defaults to Casual David"
},
"deliveryToken": {
"type": "string",
"description": "Opaque token returned by resolve_delivery"
}
}
}