Connect Claude, ChatGPT or a script
Ella works from your Ella account wherever you connect her: start errands, see how they're going, answer what contacts ask and decide between quotes, by asking Claude or ChatGPT in your own words. Everything still goes through your account: Ella checks each errand before she contacts anyone, and a decision is always previewed before it's applied.
Claude (claude.ai and the desktop app)
- Open Settings, then Connectors, and choose "Add custom connector".
- Name it Ella and paste the server URL:
https://www.sethserver.com/hire-ella/mcp - Choose Connect. Sign in to your Ella account with the emailed link, then press Allow.
- Optional, and worth it: download the Ella skill and upload it under Settings, Capabilities, Skills. It teaches Claude to read an errand back to you before anyone is contacted and to preview a decision before it's applied.
- In a chat, turn the Ella connector on and ask, for example: "Have Ella get three quotes to repair my roof from these roofers".
Claude Code: the Ella plugin
The plugin brings the connection and the skill together.
Download ella-plugin.zip, unzip it, and from that folder run:
/plugin marketplace add ./hire-ella
/plugin install ella@hire-ella
Then /mcp to sign in to your Ella account. Without the plugin:
claude mcp add --transport http ella https://www.sethserver.com/hire-ella/mcp.
ChatGPT
- In ChatGPT, open Settings, then Apps and Connectors, and turn on developer mode under Advanced if it asks.
- Create a connector named Ella with the URL
https://www.sethserver.com/hire-ella/mcpand OAuth sign-in. - Sign in to your Ella account with the emailed link, then press Allow.
- In a chat, add Ella from the tools menu and ask in your own words. Ella's tools say which ones only read and which change an errand or reach people, so ChatGPT can ask you before the second kind.
Any MCP client
Streamable HTTP at https://www.sethserver.com/hire-ella/mcp. It signs in with OAuth
(discovered from the 401's WWW-Authenticate), or takes an API key from
Settings
as Authorization: Bearer <key>.
Tools: create_errand, add_errand_contacts, remove_errand_contact, set_errand_status, list_errands, get_errand, get_call, answer_questions, decide_errand, list_contacts, usage.
REST API
The same tools as plain HTTP under https://www.sethserver.com/hire-ella/api/v1/, with
an API key from Settings as the bearer token. Bodies and answers are JSON; a problem comes back as
{"error", "problems"} (422), an unknown id as 404, a refusal as 409.
curl -s https://www.sethserver.com/hire-ella/api/v1/errands \
-H "Authorization: Bearer $ELLA_KEY" -H "Content-Type: application/json" \
-d '{"title": "Roof repair quotes",
"brief": "Get a quote to repair hail damage on a 2,000 sq ft shingle roof.",
"contacts": [{"name": "Eddie'"'"'s Roofing", "phone": "936-555-1234"}],
"businesses_attested": true}'
curl -s https://www.sethserver.com/hire-ella/api/v1/errands/42 -H "Authorization: Bearer $ELLA_KEY"
POST /errandscreate_errand,GET /errands,GET /errands/<id>POST /errands/<id>/contacts,DELETE /errands/<id>/contacts/<target_id>POST /errands/<id>/statuswith{"action": "pause" | "resume" | "cancel"}POST /errands/<id>/decision: first a preview, then{"confirmed": true, "plan_key": ...}GET /calls/<call_id>,POST /targets/<target_id>/answersGET /contacts,GET /usage