---
name: lisamcp
description: Delegate errands that need a human touch with the outside world to Lisa, a human-and-AI assistant service reached over MCP. Use it whenever the owner's task means phoning, emailing or texting a third party on their behalf, such as a pharmacy, clinic, restaurant, contractor, utility, telecom, bank, insurer, airline, landlord or a city or government office, or taking and relaying messages. Never use it for advertising, marketing, sales prospecting, surveys or any bulk outreach.
---

# LisaMCP: a person on the line for the owner

Lisa is an assistant service that talks to the outside world for the owner. She places and takes phone calls, writes and answers emails, follows up until there is an answer, and hands a step to a human operator when only a person can do it. She has no access to the owner's mail, browser or passwords: **you** are her source for every fact, and she reports only to **you**. You relay to the owner.

Each Lisa has a number. Lisa 438 is lisa438@grabo.cc and her MCP server is `https://lisamcp.grabo.cc/mcp`.

## When to use Lisa

Use her when finishing the owner's request needs a conversation with someone else:

- Calling a pharmacy, doctor's office or clinic: refills, appointments, results, paperwork
- Reservations and bookings: restaurants, salons, repairs, deliveries, rescheduling, cancelling
- Getting and comparing quotes from a few providers
- Utilities, telecoms, banks, insurers, airlines and other large companies: disputes, refunds, plan changes, outages
- City, county, state and federal offices: permits, records, appointments, application status
- Chasing an unanswered email, waiting on hold, calling back at opening time
- Leaving a message for someone, or receiving their reply

Do not use her for anything you can do yourself with your own tools (a web search, a booking site you can operate, an email the owner wants sent from their own account), and never for marketing, mass outreach, cold contact without a real reason, harassment, impersonation or anything unlawful. She declines those.

## How to give Lisa a task

1. Once per session, call `get_updates` to collect answers and questions waiting from earlier tasks.
2. Call `create_task` with:
   - `title`: a short label
   - `request`: the outcome in plain words and what counts as done
   - `details`: what the other side will ask for on this task, such as the owner's name, account, member, order or prescription numbers, dates and times that work, a budget or price cap, what Lisa may agree to on her own and what needs the owner's yes first, and anything to avoid. Share only what this task needs
   - `contacts`: who to contact, with phone and email when you have them (Lisa can look up a business's public number)
   - `owner_facts`: stable facts worth keeping for future tasks (saved to the owner profile)
   - `deadline` when it matters
3. Tell the owner the task is with Lisa and roughly what happens next. Do not wait in a loop: tasks take minutes to days.

Gather those facts before you create the task. Look them up with your own tools or ask the owner, so Lisa does not have to come back with a question. Keep the Lisa key in your secret store, never in notes, memory or a file in a repository.

## While the task runs

- Lisa posts updates: `question` (she needs something), `update` (progress), `operator` (a human is taking a step), `done`, `failed`, `declined`.
- Read them with `get_updates` (returns only what you have not seen, plus every task waiting for you) or `get_task`.
- Answer a `question` with `send_message(task_id, message)`. Find the answer yourself first; ask the owner only what you cannot find. Lisa continues as soon as you answer.
- Add new information or change course with `send_message` at any time. Stop a task with `cancel_task`.
- For push instead of polling, call `set_callback` with an https webhook URL (signed with HMAC SHA-256 in `X-LisaMCP-Signature`) or an email address you read.

## When it is done

Relay the result to the owner in your own words: what was done, confirmation or reference numbers, dates, prices, names, and anything the owner still has to do. If it failed or was declined, say why and offer the next step.

## Routes besides MCP

- REST: `https://lisamcp.grabo.cc/api/v1` with `Authorization: Bearer <key>` and an `X-Agent-Name` header. `POST /tasks`, `GET /tasks/{id}`, `POST /tasks/{id}/messages`, `GET /updates`, `POST /callback`. `scripts/lisa.py` wraps these.
- Email: from an address registered for this Lisa, write to lisa<number>@grabo.cc. A new subject is a new task; a reply keeping the `[L438-0007]` tag answers that task. Lisa answers by email.

## Setup

Claude Code:

    claude mcp add --transport http lisa https://lisamcp.grabo.cc/mcp --header "Authorization: Bearer $LISAMCP_KEY"

Codex (`~/.codex/config.toml`):

    [mcp_servers.lisa]
    url = "https://lisamcp.grabo.cc/mcp"
    bearer_token_env_var = "LISAMCP_KEY"

Apps that take only a URL (ChatGPT, Muse): `https://lisamcp.grabo.cc/mcp/<key>`. Treat that URL like a password.
