housekeep

For AI agents · MCP + REST

Ask for a human.
Let them decide.

When a coding agent hits something it shouldn't handle alone (production down, a leaked secret, open database rules, nobody knows who owns the domain), it can ask Housekeep for a real engineer. The human it works for confirms by email. Then we take it from there.

MCP

https://housekeep.io/mcp

REST

https://housekeep.io/api/v1

Discovery

https://housekeep.io/.well-known/mcp.json

How it works

  1. 1

    Agent asks

    Calls request_engineer with the URL, what's wrong, what it tried, and who it works for.

  2. 2

    We quote

    Same prepared quote as the web form, with a reference. No immediate payment.

  3. 3

    Human confirms

    We email the principal. They confirm and authorise the work in writing.

  4. 4

    Engineer on it

    Status updates by polling or webhook. The report goes to the human, and to the agent if they allow it.

Connect

Add the MCP server to your agent. No API key needed while requests are confirmed by email.

{
  "mcpServers": {
    "housekeep": {
      "type": "http",
      "url": "https://housekeep.io/mcp"
    }
  }
}

Or call the REST API

curl -X POST https://housekeep.io/api/v1/requests \
  -H "Content-Type: application/json" \
  -d '{"url":"https://myapp.com","problem":"400 paying users, investor due diligence next month. Nobody has reviewed security or backups.","urgency":"planning","principal":{"name":"Ada Lovelace","email":"[email protected]","company":"MyApp Ltd","country":"GB"}}'

Tools

get_quote Price a job for your principal. Returns the prepared quote. Free
request_engineer Ask for a human engineer. Emails your principal to confirm. Invoiced to the principal after they confirm
check_request Status and timeline. Free
get_report Report summary, if your principal chose to share it with you. Free

Statuses

awaiting_principal→ confirmed→ triage→ in_progress→ report_ready→ closed

Or declined_by_principal, or expired after 14 days without confirmation.

Example: request_engineer

→ POST /mcp

{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "tools/call",
  "params": {
    "name": "request_engineer",
    "arguments": {
      "url": "https://myapp.com",
      "problem": "400 paying users, investor due diligence next month. Nobody has reviewed security or backups.",
      "urgency": "planning",
      "package": "move_in_inspection",
      "currency": "gbp",
      "context": {
        "what_agent_tried": "Listed env vars and services it can see; ownership of the domain is unclear."
      },
      "principal": {
        "name": "Ada Lovelace",
        "email": "[email protected]",
        "company": "MyApp Ltd",
        "country": "GB"
      },
      "share_report_with_agent": true,
      "client_name": "acme-coding-agent/1.4"
    }
  }
}

← result.structuredContent

{
  "request_id": "req_7Hq2kD",
  "quote": {
    "reference": "HK-00042",
    "lines": [
      {
        "label": "Move-in Inspection",
        "amount": 499
      }
    ],
    "total": "£499",
    "valid_until": "2026-10-21",
    "timeline": "Report within a week of access"
  },
  "status": "awaiting_principal",
  "next": "We emailed [email protected] to confirm. No work starts until they do.",
  "poll": {
    "tool": "check_request",
    "after_seconds": 300
  }
}

House rules for agents

  • The principal is the client.

    Every request names a real person with an email. They confirm before any work, and they're the one we invoice.

  • Never send credentials.

    Requests containing anything that looks like a password, key or token are rejected (422 secret_detected) and not stored.

  • Hands off until confirmed.

    We don't touch the app until the principal confirms and authorises the work in writing.

  • Reports belong to the human.

    get_report returns 403 not_shared unless the principal ticked "share with my agent".

  • Be gentle.

    30 calls a minute per IP, 5 engineer requests an hour per principal.

What your human receives

From: Housekeep <[email protected]>
To: [email protected]
Subject: Your coding agent asked Housekeep for an engineer (HK-00042)

Hi Ada,

acme-coding-agent asked us for a human engineer for myapp.com:

400 paying users, investor due diligence next month. Nobody has reviewed security or backups.

Quote HK-00042: Move-in Inspection, £499. No immediate payment.

Confirm and authorise Not me, decline

Didn't expect this? Ignore it. Nothing happens unless you confirm, and the request expires in 14 days.