app.onehaus/haus
Owner verifiedREMOTE · MCP.ONEHAUS.APP
OneHaus household tools: tasks, calendar, contacts, pets, vehicles, documents and more.
Available components
Last scanned (20 hours ago)
Scores higher than 99% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Productivity and Notes
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security97
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability92
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 10784 tokens (~138/item across 78 items; 77 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Tools include usage examples.Pass
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 79 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- Stability: pass → 0.97 functional
- 22 Oct 26 0
- Tool “complete_task” rewrote its description, which is the text the model reads security
- Server version: 1.7.0 → 1.8.0 functional
- 10 Oct 26 0
- Stability: fail → pass ▲ security
- New tool “delete_shopping_list”, which the server declares destructive security
- Tool “create_document” rewrote its description, which is the text the model reads security
- Tool “update_document” rewrote its description, which is the text the model reads security
- Schema quality: 9642 → 10794 ▼ functional
- New tool “apply_task_pack” functional
- New tool “create_calendar_subscription” functional
- New tool “create_shopping_list” functional
- New tool “list_recurring_calendar_events” functional
- New tool “list_recurring_tasks” functional
- New tool “list_task_packs” functional
- New tool “update_shopping_list” functional
- “create_document” added an optional parameter “linkedEntityId” cosmetic
- “create_document” added an optional parameter “linkedEntityType” cosmetic
- “update_document” added an optional parameter “linkedEntityId” cosmetic
- “update_document” added an optional parameter “linkedEntityType” cosmetic
- “delete_recurring_task” reworded the description of “id” cosmetic
- “update_recurring_calendar_event” reworded the description of “id” cosmetic
- “update_recurring_task” reworded the description of “id” cosmetic
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 0
- Authorization: fail → pass ▲ security
- 19 Sept 26 0
- Authorization: pass → fail ▼ security
- DNSSEC: fail → pass ▲ security
- 16 Sept 26 0
- DNSSEC: pass → fail ▼ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://mcp.onehaus.app
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=onehaus.app | CN=WE1,O=Google Trust Services,C=US | 16 Sept 2026 | 15 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 717287978c0a709013d68e5b8356b36a |
| SANs: onehaus.app, *.onehaus.app | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of mcp.onehaus.app. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| onehaus.app. | present | 2371 | 13 | Verified |
| mcp.onehaus.app. | Verified address RRset verified with the apex keys |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://mcp.onehaus.app/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://mcp.onehaus.app/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=2592000; includeSubDomains; preload |
| x-content-type-options | nosniff |
Protected resource metadata
| Document | https://mcp.onehaus.app/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.onehaus.app |
| Authorisation server | https://mcp.onehaus.app |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.onehaus.app | Verified | 200 | |
| http (plaintext) | http://mcp.onehaus.app | HTTPS enforced | 301 | https://mcp.onehaus.app/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
list_meal_plans ~87
List planned meals with their date, meal slot, linked recipe or custom name, servings and notes. Narrow with from and to.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | Inclusive date range start (format: YYYY-MM-DD). Omit for an open-ended start. |
| to | string | – | Inclusive date range end (format: YYYY-MM-DD). Omit for an open-ended end. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"from":"2026-07-14","to":"2026-07-21"} list_pets ~33
List the household's pets with microchip number, date of birth, notes and their linked vet contact and insurance document.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{} list_recipes ~36
List the household's own saved recipes with ingredients, instructions, source URL and servings. For the shared catalogue use list_global_recipes.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{} list_recurring_calendar_events ~69
List the household's repeating calendar events (the series, not their generated instances) with their id, title, interval ('N Unit'), local start time, duration, dates, timezone and reminders. Use it to find the id for update_recurring_calendar_event or delete_recurring_calendar_event.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{} list_recurring_tasks ~70
List the household's repeating tasks (the series, not their generated instances) with their id, title, interval ('N Unit'), dates, rotation and reminders. Use it to find the id for update_recurring_task or delete_recurring_task, e.g. to stop or change a weekly chore.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{} list_shopping_list_items ~71
List outstanding (unbought) shopping list items with their name, quantity, category and shoppingListId. Pass shoppingListId to limit it to one named list.
| Name | Type | Req | Description |
|---|---|---|---|
| shoppingListId | string | – | One named list, an id from list_shopping_lists. Omit for every list. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{}{"shoppingListId":"0189c8d4f2b1712a9e4d6c9a1b2e3f4a"} list_shopping_lists ~53
List the household's named shopping lists with their id, name, whether they are the default list, and how many live items each holds. Use this to resolve a shoppingListId for the shopping list item tools.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{} list_subscriptions ~108
List tracked subscriptions with their fee, renewal schedule, payment date and status. A subscription with no renewal schedule is a one-off. startDate is the renewal date: the first renewal of a recurring bill, or when a one-off is due; paymentDate, when set, is the first day money leaves the account and repeats on the renewal cadence. Pass status to filter to one.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Only return subscriptions with this status. Omit to return subscriptions of all statuses. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"status":"Active"} list_task_packs ~100
List the ready-made task packs the household can add (e.g. moving house, a new baby, car maintenance): each pack's id, title, description and items (id, kind, title, whether it is selected by default, days before the anchor date, repeat interval). Packs for a vehicle, appliance or pet list the owned items they can be linked to (entities) with a suggested anchor date. Use it before apply_task_pack.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{} list_tasks ~179
List tasks, filterable by assignee, due-date range and completion, with cursor pagination. Excludes completed tasks by default and sorts open urgent tasks first (within the returned page), then due date ascending (undated first).
| Name | Type | Req | Description |
|---|---|---|---|
| assignedToMemberId | string | – | Member id to filter by. Omit for all assignees. |
| cursor | string | – | nextCursor from a previous response. Omit for the first page. |
| dueDateOnOrAfter | string | – | Earliest due date, YYYY-MM-DD. Undated tasks never match. |
| dueDateOnOrBefore | string | – | Latest due date, YYYY-MM-DD. Undated tasks never match. |
| includeCompleted | boolean | – | Include completed tasks. Defaults to false. |
| limit | integer | – | Page size, 1-100, default 50. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"assignedToMemberId":"7f3a9c2e1b4d8f6a0c5e3b7d9a1f4c6e","dueDateOnOrAfter":"2026-07-01","dueDateOnOrBefore":"2026-07-31","includeCompleted":false,"limit":20} list_vehicles ~42
List the household's vehicles with make, model, year, registration, VIN and MOT, tax and service due dates. Answers questions like when the MOT is due.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{} recall_memory ~101
Recall long-term memories stored about the current household. Call this at the start of advisory or open-ended turns. Filter by type when only one author's notes are relevant.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | nextCursor from a previous response. Omit for the first page. |
| limit | integer | – | Max number of memories to return in this page. 1-100, default 20. |
| type | string | – | Filter by author. Omit for both. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"limit":20,"type":"user"} remove_shopping_list_item ~65
Remove an item from the household's shopping list without marking it as bought. This soft-deletes the item so it no longer appears in list_shopping_list_items.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Item id from add_shopping_list_item or list_shopping_list_items. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"0189c8d4f2b1712a9e4d6c9a1b2e3f4a"} skip_recommendation ~48
Permanently suppress a House Review recommendation so get_house_review stops returning it. Use it when the suggestion does not apply.
| Name | Type | Req | Description |
|---|---|---|---|
| recommendationId | string | yes | Recommendation id from get_house_review. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"recommendationId":"0195e3c1a2b34c5d6e7f8091a2b3c4d5"} store_memory ~128
Store a long-term memory about the household. Use sparingly for durable preferences, routines, constraints, or insights worth recalling in a future conversation. Recall first to avoid duplicates.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Free-text body. Max 8000 chars. |
| description | string | yes | Single-line summary used to decide relevance later. Max 200 chars. |
| name | string | yes | Short kebab-case slug, e.g. 'preferred-cleaning-day'. Max 80 chars. |
| type | string | yes | 'user' for what the user stated, 'system' for insights you derived. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"content":"The user said they'd rather have the house cleaned Saturday mornings instead of Friday evenings, because they work late on Fridays.","description":"User prefers the house cleaned on Saturday mornings","name":"preferred-cleaning-day","type":"user"} uncomplete_task ~52
Reopens a completed task, clearing its completion timestamp and completed-by user. Fails with a conflict if the task is not currently completed.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Task id from create_task or list_tasks. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"018f2c9a1b2c7d3e9a4f5b6c7d8e9f0a"} update_appliance ~185
Update an appliance's details; omitted fields keep their current value. Rejects the update if the resulting warranty expiry date would fall before the purchase date.
| Name | Type | Req | Description |
|---|---|---|---|
| brand | string | – | New manufacturer or brand. |
| id | string | yes | Appliance id from list_appliances. |
| insuranceDocumentId | string | – | Insurance document id from create_document. |
| model | string | – | New model. |
| name | string | – | New name. |
| notes | string | – | Freeform notes. |
| purchaseDate | string | – | Purchase date, YYYY-MM-DD. Must not follow warrantyExpiryDate. Empty string clears it. |
| serialNumber | string | – | New serial number. |
| warrantyDocumentId | string | – | Warranty document id from create_document. |
| warrantyExpiryDate | string | – | Warranty expiry, YYYY-MM-DD. Must not precede purchaseDate. Empty string clears it. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"01933f9c-7a2b-7c3d-8e4f-1a2b3c4d5e6f","notes":"Repaired ice maker under warranty, June 2026.","warrantyExpiryDate":"2026-11-04"} update_calendar_event ~542
Updates fields on an existing single calendar event; only the fields supplied are changed, all others keep their current value. Imported (subscription-sourced) events cannot be edited.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | New description. |
| endDate | string | – | All-day only: new LAST day, inclusive, YYYY-MM-DD. Alone it keeps the current first day. Dates are stored in the event's own end rule (see list_calendar_events). |
| endDateTime | string | – | New end of a timed event, ISO 8601 UTC. Must not precede startDateTime. For all-day events send endDate instead. An all-day endDateTime is stored as given and keeps the event's own end rule (see list… |
| id | string | yes | Event id from create_calendar_event or list_calendar_events. |
| isAllDay | boolean | – | True for all-day, false for timed. |
| location | object | – | Replaces the location outright. $type 'Address' takes line1-3/postalCode/countryCode; 'OnlineLocation' takes url/notes. |
| notes | string | – | New notes. |
| reminderOffsetMinutes | array | – | New reminder lead times, in minutes before the event starts. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. Reminders move with the start. Not allowed on… |
| startDate | string | – | All-day only (preferred for all-day): new first day, YYYY-MM-DD. Without endDate the event becomes a single day. |
| startDateTime | string | – | New start of a timed event, ISO 8601 UTC. For an all-day event send startDate instead. |
| timezone | string|null | – | IANA zone for the wall-clock times, e.g. 'Europe/London'. Null means UTC. |
| title | string | – | New event title. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"endDateTime":"2026-08-04T15:30:00Z","id":"0198f3a1b2c34d5e6f7089ab1c2d3e4f","notes":"Moved to Thursday","startDateTime":"2026-08-04T14:30:00Z"} update_contact ~189
Update a contact by id. Only the fields supplied are changed; omitted fields keep their current value (dateOfBirth is the exception: an empty string explicitly clears it).
| Name | Type | Req | Description |
|---|---|---|---|
| address | object | – | Postal address. Replaces the stored one outright. |
| dateOfBirth | string | – | Date of birth, YYYY-MM-DD. Empty string clears it. |
| displayName | string | – | Name to show instead of first/last, e.g. a nickname or company. |
| string | – | Email address. | |
| firstName | string | – | First name. |
| id | string | yes | Contact id from create_contact or list_contacts. |
| lastName | string | – | Last (family) name. |
| notes | string | – | Free-text notes. |
| phone | string | – | Phone number, any format. |
| prepareBirthdayPresent | boolean | – | Whether to flag a birthday present for them. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"01928e4a7d3f7b9ac1e3f6d8b2a4c710","notes":"Prefers texts over calls.","phone":"+44 7911 123456"} update_document ~264
Update a stored document's type, title, reference number, issuing authority, fee, notes or linked pet, vehicle or appliance, returning the updated document. Only the fields you send change. renewalCronExpression is the one exception: it is accepted but not yet stored or acted on, so sending it changes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| documentNumber | string | – | Reference or serial number, e.g. a passport or policy number. |
| documentType | string | – | Kind of document. |
| fee | object | – | Cost. Replaces the stored fee outright. |
| id | string | yes | Document id from create_document or list_documents. |
| issuingAuthority | string | – | Who issued it. |
| linkedEntityId | string | – | Id of that pet, vehicle or appliance from list_pets, list_vehicles or list_appliances. Send with linkedEntityType; "" for both removes the link. |
| linkedEntityType | string | – | Kind of record the document is filed against. Send with linkedEntityId; send "" for both to remove the link, omit both to keep it. |
| notes | string | – | Free-text notes. |
| renewalCronExpression | string | – | Accepted but not yet stored or acted on; has no effect. |
| title | string | – | Custom title. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"01928e4a7d3f7b9ac1e3f6d8b2a4c710","issuingAuthority":"HM Passport Office","notes":"Renewed for another 10 years."} update_meal_plan ~194
Update a planned meal. Only the fields you send change. recipeId links a recipe and clears any custom name; name makes it custom and clears the link; recipeId wins if both are sent.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | Date, YYYY-MM-DD. Must be today or within the next 28 days, so work it out from today's date. |
| id | string | yes | Entry id from list_meal_plans. |
| mealType | string | – | Meal slot of the day. |
| name | string | – | Custom meal name when no recipe is linked. |
| notes | string | – | Free-text notes. |
| recipeId | string | – | Recipe id from list_recipes or list_global_recipes. |
| recipeSource | string | – | Use 'global' when recipeId came from list_global_recipes. Defaults to 'household'. |
| servings | integer | – | Servings, 1-100. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f","servings":6} update_memory ~80
Update an existing memory's name, description, or content. Type is immutable; to reclassify, forget and store again.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | – | New body. |
| description | string | – | New single-line summary. |
| id | string | yes | Id from a prior recall_memory result. |
| name | string | – | New kebab-case slug. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"content":"Updated 2026-07-14: the user now prefers Sunday mornings instead of Saturday mornings for cleaning.","description":"User now prefers the house cleaned on Sunday mornings","id":"0195e3c1a2b34c5d6e7f8091a2b3c4d5"} update_pet ~136
Update a pet's name, microchip number, date of birth, notes, or its linked vet contact and insurance document. Only the fields you send change.
| Name | Type | Req | Description |
|---|---|---|---|
| dateOfBirth | string | – | Date of birth, YYYY-MM-DD. Empty string clears it. |
| id | string | yes | Pet id from list_pets. |
| insuranceDocumentId | string | – | Insurance document id from create_document. |
| microchipNumber | string | – | New microchip number. |
| name | string | – | New name. |
| notes | string | – | Freeform notes. |
| vetContactId | string | – | Vet contact id from create_contact. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"01933f9c-7a2b-7c3d-8e4f-1a2b3c4d5e6f","notes":"Started prescription diet on vet's advice."} update_recipe ~105
Update a recipe. Only the fields you send change, except ingredients, which replaces the whole existing list rather than merging.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Recipe id from list_recipes. |
| ingredients | array | – | Ingredients. Replaces the whole existing list rather than merging. |
| instructions | string | – | Cooking method. |
| name | string | – | Name. |
| servings | integer | – | Servings the recipe yields, minimum 1. |
| url | string | – | Source URL. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"8f14e45f-ceea-467e-8a2f-1a2b3c4d5e6f","servings":6} update_recurring_calendar_event ~541
Update a recurring calendar event. Changes to title/description/notes/reminders patch existing instances. Changes to frequency/dates/time regenerate future instances.
| Name | Type | Req | Description |
|---|---|---|---|
| cronExpression | string | – | New interval as 'N Unit', Unit one of Day, Week, Month, Year, e.g. '2 Week'. Not cron syntax. |
| description | string | – | New description, patched onto existing instances. |
| duration | string | – | Length of each instance, ISO 8601 duration e.g. 'PT30M'. |
| endDate | string | – | New last date, YYYY-MM-DD. Empty string leaves it unbounded. |
| id | string | yes | Template id from list_recurring_calendar_events or create_recurring_calendar_event. |
| isAllDay | boolean | – | True for all-day instances, false for timed. An all-day instance starts at midnight of its occurrence date in the template timezone (stored in UTC; omit startTime) and ends duration later (no end wit… |
| location | object | – | Replaces the location outright. $type 'Address' takes line1-3/postalCode/countryCode; 'OnlineLocation' takes url/notes. |
| maxOccurrences | integer | – | New cap on instances generated. |
| notes | string | – | New notes. |
| reminderOffsetMinutes | array | – | New reminder lead times, in minutes before each occurrence starts. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. A change also applies to existing insta… |
| startDate | string | – | New first-instance date, YYYY-MM-DD. Empty string clears it. |
| startTime | string | – | New local start time, HH:mm:ss. |
| timezone | string|null | – | IANA zone for startTime, e.g. 'Europe/London'. Occurrences follow its DST. |
| title | string | – | New title, patched onto existing instances. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"cronExpression":"2 Week","endDate":"2027-01-31","id":"0198f3a1b2c34d5e6f7089ab1c2d3e4f"} update_recurring_task ~506
Update a recurring task. Title, notes, urgency or reminder changes patch existing instances; frequency/date changes regenerate future instances.
| Name | Type | Req | Description |
|---|---|---|---|
| assigneeRotation | array | – | A member id from list_house_members. |
| cronExpression | string | – | New interval as 'N Unit', Unit one of Day, Week, Month, Year, e.g. '2 Week'. Not cron syntax. |
| endDate | string | – | New inclusive end date, YYYY-MM-DD. Empty string makes it open-ended. |
| id | string | yes | Template id from list_recurring_tasks or create_recurring_task. |
| isUrgent | boolean | – | Mark every task this series generates as urgent: true marks urgent, false clears it, omit to leave unchanged. A change also applies to the series' open occurrences. |
| maxOccurrences | integer | – | New cap on instances generated. |
| notes | string | – | New notes, copied to uncompleted instances. |
| preparationDays | integer | – | Legacy single reminder, days before each occurrence's due date, 0-365 (0 means none); use reminderOffsetMinutes instead. Ignored when reminderOffsetMinutes is sent. On a series without reminderOffset… |
| reminderOffsetMinutes | array | – | New reminder lead times, in minutes before each generated task's due date. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. A change also applies to the se… |
| startDate | string | – | New start date, YYYY-MM-DD. Empty string clears it. |
| title | string | – | New title. Uncompleted instances are updated to match; completed ones keep theirs. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"assigneeRotation":["7f3a9c2e1b4d8f6a0c5e3b7d9a1f4c6e"],"cronExpression":"2 Week","id":"5c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f","title":"Take out the recycling"} update_shopping_list ~69
Rename one of the household's shopping lists, including the default list. The items on it are unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Shopping list id from list_shopping_lists or create_shopping_list. |
| name | string | yes | New name for the list, up to 60 characters. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"0190a1b2c3d47e8f9a0b1c2d3e4f5a6b","name":"Groceries"} update_shopping_list_item ~159
Update a shopping list item's name, quantity, and/or category. Only the fields provided are changed; any field left out keeps its current value.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | New store-aisle category, overriding the auto-assigned one. |
| id | string | yes | Item id from add_shopping_list_item or list_shopping_list_items. |
| name | string | – | New item name. |
| quantity | integer | – | New quantity, 1-9999. Replaces rather than adds to the current one. |
| shoppingListId | string | – | Move the item to a different list, an id from list_shopping_lists. Omit to leave it where it is; name the default list explicitly to move it back. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"category":"DairyAndEggs","id":"0189c8d4f2b1712a9e4d6c9a1b2e3f4a","quantity":3} update_subscription ~237
Update a subscription. Only the fields you send change; for renewalCronExpression, startDate, paymentDate and notes an empty string clears the stored value.
| Name | Type | Req | Description |
|---|---|---|---|
| fee | object | – | Recurring charge. |
| id | string | yes | Subscription id from list_subscriptions. |
| name | string | – | New name. |
| notes | string | – | Free-text notes. Empty string clears them. |
| paymentDate | string | – | Date the first payment leaves the account, YYYY-MM-DD, when it differs from the renewal date. Payments repeat on the renewal cadence from this date. Omit when payment happens on renewal. Empty string… |
| remindMe | boolean | – | Whether to remind the household before each renewal. |
| renewalCronExpression | string | – | Cron expression for the renewal cadence, no more often than daily. Empty string clears it, making the bill a one-off. |
| startDate | string | – | Renewal date, YYYY-MM-DD. Optional. For a recurring bill it is the first renewal; for a one-off it is the date it is due. Empty string clears it. |
| status | string | – | New status. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"0198c1f4b2c07a1b9e4d5f6a7b8c9d0e","notes":"Paused while travelling","status":"Paused"}{"id":"0198c1f4b2c07a1b9e4d5f6a7b8c9d0e","paymentDate":"2026-10-03"} update_task ~417
Update a task's title, assignee, due date, reminders, notes or urgency. Only the fields you send change.
| Name | Type | Req | Description |
|---|---|---|---|
| assignedToMemberId | string | – | Member id to assign. Empty string unassigns. |
| dueDate | string | – | New due date, YYYY-MM-DD. Empty string clears it. |
| id | string | yes | Task id from create_task or list_tasks. |
| isUrgent | boolean | – | Mark the task urgent so it is shown first and highlighted: true marks urgent, false clears it, omit to leave unchanged. |
| notes | string | – | Freeform notes. Not for assignment info. |
| preparationDate | string | – | Legacy single reminder date, YYYY-MM-DD; use reminderOffsetMinutes instead. Ignored when reminderOffsetMinutes is sent. Must be on or before dueDate. Empty string clears it; clearing dueDate clears i… |
| reminderOffsetMinutes | array | – | New reminder lead times, in minutes before the due date. Send the full list: it replaces the current one. [] clears all reminders; omit to keep them. Each value is whole hours, 60-1380 (1-23 hours),… |
| title | string | – | New title. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"dueDate":"2026-08-01","id":"018f2c9a1b2c7d3e9a4f5b6c7d8e9f0a","title":"Take out the recycling"} update_vehicle ~215
Update a vehicle. Only the fields you send change; for text and due-date fields an empty string clears the stored value.
| Name | Type | Req | Description |
|---|---|---|---|
| colour | string | – | Colour. |
| id | string | yes | Vehicle id from list_vehicles. |
| insuranceDocumentId | string | – | Insurance document id from list_documents. |
| make | string | – | Manufacturer, e.g. 'Toyota'. |
| model | string | – | Model, e.g. 'Corolla'. |
| motDueDate | string | – | Next MOT (roadworthiness test) due date, YYYY-MM-DD. |
| notes | string | – | Free-text notes. |
| registration | string | – | Registration as shown on the plate; format varies by country. |
| serviceDueDate | string | – | Next service due date, YYYY-MM-DD. |
| taxDueDate | string | – | Next road tax due date, YYYY-MM-DD. |
| vin | string | – | Vehicle Identification Number, 17 alphanumeric characters. |
| year | integer | – | Model year, 1900-2100. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| message | string | – | – |
| title | string | – | – |
| variant | string | – | – |
{"id":"0198c1f4b2c07a1b9e4d5f6a7b8c9d0e","notes":"Renewed tax disc","taxDueDate":"2027-09-01"} How do I install the app.onehaus/haus MCP server?
app.onehaus/haus is a hosted endpoint at https://mcp.onehaus.app/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.onehaus.app
claude mcp add --transport http app-onehaus-haus 'https://mcp.onehaus.app/'
What is the app.onehaus/haus MCP server?
app.onehaus/haus is an MCP server listed in the public MCP registry as app.onehaus/haus. OneHaus household tools: tasks, calendar, contacts, pets, vehicles, documents and more. This page covers its hosted endpoint (https://mcp.onehaus.app). Its publisher has verified ownership with us.
Is the app.onehaus/haus MCP server safe to use?
app.onehaus/haus scores 97 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the app.onehaus/haus MCP server expose?
app.onehaus/haus exposes 77 tools: create_contact, update_contact, delete_contact, list_contacts, create_appliance, and 72 more. Their descriptions and schemas cost roughly 10,724 tokens of context every time the server is loaded.
Does the app.onehaus/haus MCP server require authentication?
Yes. app.onehaus/haus asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the app.onehaus/haus MCP server still maintained?
app.onehaus/haus is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.