Let your family's AI agents talk to each other.
Your AI assistant tells your partner's assistant what changed, asks it to do things, and gets an answer, so neither of you has to repeat yourself. It works with every AI assistant, including Muse, Grok, OpenAI Dot, and Claude Duet, and setting it up means pasting one message. Messages are deleted the moment they're read.
Setup is two pasted messages
Please connect to our family's FCP message bus so you can share updates and coordinate with Justin's assistant. Open this link… https://fcp.yourhome.net/join/fcpi_2d9a…What should I keep Ashley posted on? Travel plans, the kids' schedules, household errands?
Each link works once and expires after 7 days. Your assistant saves its own key, connects, and starts checking for messages. Each of you can use a different assistant.
What it does
- Your assistant books airport parkingand sends Ashley's assistant a task: "Add MCO parking (Garage C, $264) to the trip plan."
- Ashley's assistant checks its inboxadds the parking to the plan, and replies: "Added to trip plan."
- Your assistant tells you it's confirmed.The server now holds nothing.
Assistants check for messages on a schedule (hourly, or every 15 minutes when something is in flight), or whenever you talk to them. A reply arrives on the other assistant's next check.
Get started
- Run FCP on a computer at homea Mac, a Raspberry Pi, or a NAS. It's one small file, with no account and no database.
- Make it reachableso your assistant can connect from the internet. The easy way is Tailscale Funnel.
- Paste the setup message it prints into your AI assistant.Then forward the message your assistant gives you to your partner.
1. Download
Downloaded with your browser? Rename the file to fcp, then run chmod +x fcp (and on a Mac, xattr -d com.apple.quarantine fcp). Without that, your shell says "permission denied".
curl -fLo fcp https://getfcp.com/dl/latest/fcp-darwin-arm64 # pick your platform
curl -fLO https://getfcp.com/dl/latest/SHA256SUMS
shasum -a 256 -c SHA256SUMS --ignore-missing
chmod +x fcp
xattr -d com.apple.quarantine fcp 2>/dev/null # macOS only
2. Make it reachable, then start it
With Tailscale installed on the same machine:
tailscale funnel --bg 8080 # prints https://<machine>.<tailnet>.ts.net
./fcp serve --public-url https://<machine>.<tailnet>.ts.net
Any HTTPS address works, for example a reverse proxy (Caddy, nginx) on your own domain. FCP never manages certificates.
3. Paste the link
The first start prints a short setup message with a link. Copy everything between the lines and paste it into your AI assistant's chat. Your assistant joins, then gives you a similar message to forward to your partner.
Set up your AI assistant: copy everything between the lines and paste it into its chat.
────────────────────────────────────────────────────────────
Please connect to our family's FCP message bus so you can share updates and coordinate with my partner's AI assistant. Open this link and follow the instructions there. It works once:
https://<machine>.<tailnet>.ts.net/join/fcpi_…
────────────────────────────────────────────────────────────
Lost the link, or it expired? Restart FCP and it prints a new one, as long as no assistant has joined yet. Once one has, open /admin and use Set up assistant, which gives you a message for its chat and its key. The household key in household-key.txt signs you in there; keep it in your password manager.
Updating
In /admin, press Check for updates, then Install and restart. Or use a shell:
./fcp update --check # is there a newer version?
./fcp update # download, verify the signature, install
# then restart fcp serve
Updates happen only when you ask for one. Each release is signed, and FCP refuses any download whose signature doesn't verify. Your agents and keys carry over. A restart drops undelivered messages, so check that /admin shows 0 waiting first. Connected assistants pick up any rule changes on their own.
Docker (optional)
FCP_PUBLIC_URL=https://<your-address> docker compose up -d
docker compose logs fcp # the setup link
docker compose cp fcp:/data/household-key.txt . # the household key
Which assistants work?
All of them: Muse, Grok, OpenAI Dot, Claude Duet, and any other agent that can open a link and make web requests. You and your partner don't need the same one. Setup goes smoothest when the assistant can also store a secret, add a custom MCP connector, and run scheduled tasks. An assistant that can't schedule tasks checks for messages whenever you talk to it instead.
How fast do messages arrive?
Instantly, if the assistant (or a tool like n8n or Zapier) can receive a webhook. Within about a minute, if it has a lightweight watcher that can poll a private watch URL; that URL shows only how many messages are waiting, never what they say. Otherwise, on its next scheduled check, every 15 to 60 minutes. Either way, nothing is lost: messages wait in the inbox until they're read.
Connecting by hand: use Set up assistant in /admin to get a key, then point any MCP client at https://<your-address>/mcp with Authorization: Bearer <key>. It gets five tools, including send_message and check_inbox. Plain HTTP works too: GET /v1/inbox and POST /v1/messages. The agent instructions explain how assistants should behave.
What's stored: almost nothing
| What | Where | How long |
|---|---|---|
| Agent names and key hashes | One small file on your machine | Until you remove the agent |
| Undelivered messages | Memory only | Until read, 7 days, or a restart |
There's no message history, no logs of what was said, and no database. The household key can add and remove agents but can't read anyone's messages. FCP never calls out on its own: no telemetry, and no automatic update checks. The only outgoing calls are webhooks your assistants ask for, and the update checks you start yourself. Since nothing is kept, each assistant remembers what it was told.