Custos exposes a small, tightly-scoped Model Context Protocol server so that AI assistants (Claude, ChatGPT, Cursor, and other MCP-capable clients) can act on behalf of a signed-in Custos user. The server exposes three tools — a static service overview, a boolean plan-status summary, and a consultation request. It never exposes document contents, asset values, or beneficiary details.
Tools
get_service_overviewCustos service overviewOAuth requiredStatic, read-only summary of what Custos offers: wills, funeral plans, asset registration, and digital legacy management.
Input schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}
Output schema (structuredContent)
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"strapline": {
"type": "string"
},
"services": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"key",
"title",
"description"
]
}
}
},
"required": [
"name",
"strapline",
"services"
]
}
Example request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_service_overview",
"arguments": {}
}
}
Example response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{ …overview JSON… }"
}
],
"structuredContent": {
"name": "Custos",
"strapline": "Confide Nobis — the operating system for the moment of death.",
"services": [
{
"key": "wills",
"title": "Wills",
"description": "…"
},
{
"key": "funeral_plans",
"title": "Funeral plans",
"description": "…"
},
{
"key": "asset_register",
"title": "Asset registration",
"description": "…"
},
{
"key": "digital_legacy",
"title": "Digital legacy",
"description": "…"
}
]
}
}
}
get_my_plan_statusMy plan statusOAuth requiredBoolean summary for the signed-in user of which parts of their Custos plan are set up. Contains no document contents, no asset values, no beneficiary details.
Input schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}
Output schema (structuredContent)
{
"type": "object",
"properties": {
"has_will": {
"type": "boolean"
},
"has_funeral_plan": {
"type": "boolean"
},
"has_asset_register": {
"type": "boolean"
},
"has_digital_legacy": {
"type": "boolean"
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
"required": [
"has_will",
"has_funeral_plan",
"has_asset_register",
"has_digital_legacy"
]
}
Example request
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_my_plan_status",
"arguments": {}
}
}
Example response
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "{ …status JSON… }"
}
],
"structuredContent": {
"has_will": true,
"has_funeral_plan": false,
"has_asset_register": false,
"has_digital_legacy": false,
"updated_at": "2026-06-01T12:34:56.000Z"
}
}
}
request_consultationRequest a consultationOAuth requiredSubmit a consultation / enquiry request to the Custos team on behalf of the signed-in user.
Input schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Full name."
},
"email": {
"type": "string",
"format": "email",
"description": "Contact email."
},
"phone": {
"type": "string",
"description": "Optional phone number."
},
"topic": {
"type": "string",
"minLength": 1,
"description": "e.g. 'will', 'funeral plan', 'estate transfer', 'digital legacy'."
},
"notes": {
"type": "string",
"description": "Optional free-text notes."
}
},
"required": [
"name",
"email",
"topic"
],
"additionalProperties": false
}
Output schema (structuredContent)
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"created_at"
]
}
Example request
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "request_consultation",
"arguments": {
"name": "Ada Lovelace",
"email": "ada@example.com",
"topic": "will",
"notes": "Would like to discuss setting up a mirror will with my partner."
}
}
}
Example response
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "Consultation request received. Reference: 8f3c…"
}
],
"structuredContent": {
"id": "8f3c1a52-9d0a-4a4f-9c1a-1b2c3d4e5f60",
"created_at": "2026-06-01T12:34:56.000Z"
}
}
}