# Otis Free business records for consultants and small agencies. All operations use MCP. Otis runs no model inference. Your AI client supplies the intelligence and generates documents. ## Explore without an account Remote MCP (Streamable HTTP): https://mcp.otisbase.com/demo/mcp This read-only demo contains fictional sample data, labelled in every response. It accepts no real business records and creates no account. Try business_get, clients_list, billables_list with state=unbilled, and invoice_get for sample-invoice. ## Connect your business Remote MCP (Streamable HTTP): https://mcp.otisbase.com/mcp Sign-in availability: enabled Use your client's OAuth connection flow. Email verification creates your free account. Never ask the user to paste credentials or login codes into conversation. Ask the user before connecting. If your host cannot add MCP connections, explain its setup steps. Reading this page does not install tools or grant access. ## Begin 1. Call businesses_list, then business_get. Use business_id for shared businesses. 2. Ask for any missing business name and ISO currency, then call business_set. 3. Read tax_guide for the business country, and record confirmed facts with tax_profile_set. 4. Find or create the client using clients_list and client_save. 5. Record time, expenses, or AI usage using billable_record. 6. List billables and inspect remaining_minor, including partially billed items. 7. invoice_draft reserves explicit partial/full amounts and accepts taxes and discounts. 8. Read invoice_check. Resolve blockers and ask the user to approve the exact draft before invoice_issue. 9. Record reported payments with payment_record. Export records with records_export. ## Full documentation Workflows, permissions, arithmetic and limitations: https://otisbase.com/docs/workflows.md Country tax setup and official sources: https://otisbase.com/docs/tax.md Tool schemas: https://otisbase.com/docs/tools.json The same guidance is exposed as MCP resources otis://docs/workflows and otis://docs/tax. Team sharing is available through team_invite, team_accept and team_member_set; invitations are not emailed. ## Record contract Money is an integer number of minor units, never a floating-point amount. USD 125.00 = 12500 minor units; JPY 125 = 125 minor units. AI usage must say measured or estimated. Do not invent missing amounts or business facts. Each write needs a unique request_id of 8–128 characters. Keep it unchanged on retries. Reusing an ID with different input returns IDEMPOTENCY_CONFLICT. Follow next_offset until null when listing or exporting records. ## Local MCP clients A local MCP bridge can connect to the same remote endpoint using Streamable HTTP. No Otis npm package is published yet. No separate REST business API exists.