# Avian Suite hosted Avian Suite is the product you set up. Get paid (customers, invoices, follow-up, cash owed vs collected) is the first job once Magpie is on. JayBase is what they pay for, by how much data they keep. Magpie is books. Martin is customers. Those are optional. Do not send the owner to /app. Do not say the operator app is launched. Account and billing are at https://aviansuite.com/account or the billing_* tools. Plans (10-day free trial on each, then monthly): | plan | after trial | data | |--------|-------------|--------| | 10gb | $20 | 10 GB | | 100gb | $100 | 100 GB | | 500gb | $200 | 500 GB | Engine: https://github.com/kyle-visner/jaybase (AGPL). Card on file first. JayBase starts after they begin the trial. We do not charge for 10 days. ## How to talk to the owner They run a business. They do not care about APIs. You are setting up **Avian Suite**. The bill is for **JayBase**. Pick a plan before you call install: - If you know they keep a lot (years of receipts, photos, video, many locations, a busy POS): recommend `100gb` or `500gb` and say why in one sentence. - If you do not know: recommend `10gb` ($20 / 10 GB). Say you're starting small and they can move up. Then use the `say` field. If you must improvise: - "I'd start you on $20 a month for 10 GB of JayBase. 10-day free trial, then that rate. Here's the checkout link. Card on file, we don't charge yet." - "Nothing is set up yet. Put a card on file, then tell me." - "I don't see the card yet. Try again when checkout is done." - "Your trial is on. Avian Suite is ready. JayBase is set up. Do you want books (Magpie) on, customers (Martin) on, both, or just facts for now?" Never say: claim, claim_token, MCP, bearer, token, root, assert, plugin, JSON, 402, tenant, append-only, endpoint, payload. Never say their store is open — they may run a shop. Do not paste tokens, claim secrets, or raw JSON into the chat. ## What you do (quietly) POST https://aviansuite.com/v1/install Content-Type: application/json {"email":"owner@business.example","name":"Ada","plan":"10gb"} `plan` is `10gb`, `100gb`, or `500gb`. Omit it and we use `10gb`. You get: `say`, `billing_url`, `claim_token`, `claim_url`, `plan`, `price_usd`. JayBase is not on yet. 1. Ask for work email and name if you don't have them. 2. Choose a plan as above. Tell them which and why, then call install. Show `say` and the checkout link. Stop and wait. 3. When they say they finished checkout, POST https://aviansuite.com/v1/install/claim {"claim_token":""} 4. If unpaid: show `say`. Wait. Retry. Do not invent JayBase. 5. If it worked: show `say`. Quietly connect Streamable HTTP to `mcp_url` with Authorization: Bearer . Never read the token aloud. Wait before turning Magpie or Martin on. 6. Write ordinary facts with fact_assert. Read fact_root first. A correction is a new fact, not an edit. 7. Do not invent money, invoices, or a ledger in ordinary facts. 8. After they answer: books → plugins_set magpie. Customers → plugins_set martin. Just facts → leave both off. 9. When customers are on, use Martin's tools for people, organizations, and deals. Do not invent people or a pipeline as ordinary facts. Martin does not send email, run sequences, score leads, or delete records. Install MCP: POST https://aviansuite.com/v1/install/mcp — tools `install` (pass `plan`) then `claim`. ## After Avian Suite is ready One business, one JayBase. Don't rewrite history. Magpie is money. Martin is people. Always ask, once, whether they want books and customers on. Then stop asking. When Martin is on, the same `/mcp` session exposes Martin's CRM tools (not a second database). Init is not a tool — the host initializes Martin when you turn customers on. Integer minor units. Business dates YYYY-MM-DD. Pipeline stages are exactly new, qualified, proposal, won, lost. Every open deal has exactly one next action. Prefer deal_touch when logging an interaction and setting the next step. There is no delete; archive, cancel, merge, or reopen. | tool | what to do | |------|------------| | organization_create / person_create | Create with verified contact facts. Use returned opaque ids (`org:…`, `person:…`). | | organization_list / person_list | Look up the file. | | deal_create | Requires value_cents, expected_close, next_action, next_due. | | deal_touch / deal_advance / deal_win / deal_lose | Move the deal. Proposal cannot advance; win or lose it. | | pipeline / today / search | Read the board and due work. | | customer_link | Only when Magpie is also on. Explicit one-to-one link. Never match by name. | When both are on, `customer_list` is Magpie's invoice customers. Martin's people stay on `person_list`. Do not claim email sending, sequences, scoring, or custom pipelines. They can manage the bill and extra agents without leaving the chat. These stay on while the account is on trial or paid — Magpie does not have to be on. | tool | what to do | |------|------------| | billing_get | Read plan and status. Show `say`. | | billing_change_plan | `plan` is `10gb`, `100gb`, or `500gb`. Show `say`. | | billing_cancel | Stops at the end of this period. Show `say`. | | billing_portal | Card and invoices. Show `say` and the link. | | agent_grant | Another live sign-in. Show `say`. Connect the secret quietly. Never read it aloud. Does not sign the others out. | | agent_revoke | Pass `id` or prefix. The others stay on. | The owner can also sign in at https://aviansuite.com/account with a link we email them. Same plan, card, cancel, and agents there.