Otis
Server Details
Free client billing for AI assistants: hours, expenses, timers, invoices and payments.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- otisbase/otis-mcp
- GitHub Stars
- 1
- Server Listing
- Otis MCP
- ChatGPT
- –
- Claude
- Otis
TDQS
Scored across 25 tools
Most tools map cleanly to distinct resource/action pairs, especially across invoice draft/check/issue/cancel and timer/payment flows. There is minor overlap between billable_record and expense_record around reimbursable or linked expenses, but the descriptions generally guide correct selection.
The set mostly follows a readable snake_case entity_action pattern such as client_save, invoice_issue, payment_record, and timer_start. A few names deviate, such as invoice_draft, tax_guide, otis_menu, and invoice_cancel_draft, but the convention remains largely predictable.
The 25 tools cover a broad bookkeeping, invoicing, tax, and timer domain, so many are justified. However, the count is at the heavy end for an agent-facing surface and includes several auxiliary/list/menu tools that could make selection more cumbersome.
Core workflows are well covered: business setup, clients, billables, expenses, invoice lifecycle, payments, timers, tax guidance, and export. Some gaps remain around delete/reversal/update paths for certain records and invoice delivery, but agents can work around most of these.
Publisher details
- Operator
- Boon IT SRL · Publisher source
- Operator website
- https://otisbase.com
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://otisbase.com/connect · Publisher source
- Trust center
- Not available
- Restrictions
- None. Free, with open sign-up by email code. No paid plan, admin approval, custom OAuth app or regional limit. For people aged 18 and over. · Publisher source
Available Tools
25 toolsbillable_recordRecord billable workBDestructiveIdempotentInspect
Create or replace unreserved, uninvoiced work using item_id. Linked expenses must be edited with expense_record. Record time, a reimbursable expense or AI usage. Supply total price in currency minor units. AI usage must be measured or estimated; amounts and rates are never invented.
Inputs: kind (required), unit (required), quantity (required), client_id (required), +9 more.
billables_listList billable workARead-onlyIdempotentInspect
Find billable items. remaining_minor is available for new invoices, including partially billed or reserved items; do not rely on state=unbilled alone.
Inputs: limit, state, offset, client_id, +1 more.
businesses_listList businessesBRead-onlyIdempotentInspect
Find your business and its business_id. Omit business_id on other tools to use your own business.
Inputs: limit, offset.
business_getGet business detailsARead-onlyIdempotentInspect
Read business identity, currency and tax profile, or the next setup step.
Inputs: business_id.
business_setUpdate business detailsADestructiveIdempotentInspect
Owner: create or replace business name, currency and address using confirmed facts. Preserves tax profile and omitted invoice preferences. Supports invoice prefix, number padding, starting number, default note and payment instructions. Starting number locks after first issuance; currency locks after financial records exist.
Inputs: name (required), currency (required), request_id (required), business_id, +2 more.
client_saveSave a clientBDestructiveIdempotentInspect
Create or replace client details. Collect country, region and business/consumer status for invoice tax review; never infer these from currency.
Inputs: name (required), request_id (required), email, region, +8 more.
clients_listList clientsBRead-onlyIdempotentInspect
List client records. Follow next_offset to retrieve every page.
Inputs: limit, offset, business_id.
expense_recordRecord an expenseADestructiveIdempotentInspect
Create or replace a business expense using expense_id, optionally linked to a client. Linked billables update atomically and cannot change once reserved or invoiced. billable_amount_minor also creates one linked billable item atomically; do not record it again.
Inputs: vendor (required), category (required), cost_minor (required), request_id (required), +7 more.
expenses_listList expensesBRead-onlyIdempotentInspect
List recorded expenses, including nonbillable costs and linked billable item IDs.
Inputs: limit, offset, client_id, business_id.
feedback_sendSend feedback to OtisAIdempotentInspect
Send feedback to the Otis team: a feature request, a problem or anything else. Offer it when the user wants something Otis cannot do, asks for a feature or hits a problem; never send unprompted. Show the exact message and send only after the user approves it. Ask before setting reply_ok, which shares their verified email for a reply. Sends only the message, kind and client; never business records or chat history. Limit 20 a day per person; any role can send.
Inputs: kind (required), message (required), request_id (required), client, +1 more.
invoice_cancel_draftCancel an invoice draftADestructiveIdempotentInspect
Cancel an unissued draft and release all its allocations. Use to rebuild a draft with corrected facts. Issued invoices cannot be changed.
Inputs: reason (required), invoice_id (required), request_id (required), business_id.
invoice_checkCheck invoice readinessARead-onlyIdempotentInspect
Check issuance readiness. Read blockers and their next_tool; ask the user for missing facts. Success validates recorded fields, not legal tax compliance.
Inputs: invoice_id (required), business_id.
invoice_draftDraft an invoiceADestructiveIdempotentInspect
Reserve explicit amounts from billable items, including partial amounts. Supply line tax treatments and optional line/invoice discounts. Returns totals and missing-information feedback. No number assigned.
Inputs: lines (required), due_date (required), client_id (required), request_id (required), +4 more.
invoice_getGet an invoiceBRead-onlyIdempotentInspect
Read immutable invoice contents, source allocations, tax details and current reported payment balance.
Inputs: invoice_id (required), business_id.
invoice_issueIssue an invoiceADestructiveIdempotentInspect
Finalize a draft after the user approves its exact contents, tax treatment and total. Blocks missing facts; atomically assigns a number. Does not send a document or certify tax compliance.
Inputs: confirmed (required), invoice_id (required), request_id (required), expected_total_minor (required), +1 more.
invoices_listList invoicesCRead-onlyIdempotentInspect
List invoices with reported balances. Follow next_offset.
Inputs: limit, offset, status, business_id.
payment_recordRecord a paymentADestructiveIdempotentInspect
Record a reported partial or full payment for an issued invoice. Unique business-wide reference prevents double counting. Overpayments are rejected. No bank verification occurs.
Inputs: reference (required), invoice_id (required), request_id (required), received_on (required), +2 more.
payments_listList paymentsCRead-onlyIdempotentInspect
List reported payments, optionally for one invoice.
Inputs: limit, offset, invoice_id, business_id.
records_exportExport all recordsBRead-onlyIdempotentInspect
Export business records and audit history as paginated JSON. Follow next_offset until null. Viewers can read/export.
Inputs: kind (required), limit, offset, business_id.
tax_guideRead tax setup guidanceARead-onlyIdempotentInspect
Read dated official-source tax setup guidance for US, CA, GB or AU, or the general checklist. Use before tax setup and whenever jurisdiction or service changes. This does not determine liability or a rate.
Inputs: country.
tax_profile_setSet tax profileADestructiveIdempotentInspect
Owner: record confirmed country, region, registrations and effective dates. Read tax_guide first; unknown is not the same as not registered.
Inputs: profile (required), request_id (required), business_id.
timers_listList timersBRead-onlyIdempotentInspect
List timers, running ones with their elapsed minutes. Check for running timers before starting another for the same work.
Inputs: limit, state, offset, client_id, +1 more.
timer_startStart a timerADestructiveIdempotentInspect
Start a timer for work on a client, when the user says they are starting. Otis's clock sets the start unless the user reports an earlier time. Several timers can run at once.
Inputs: client_id (required), request_id (required), description (required), started_at, +1 more.
timer_stopStop a timerADestructiveIdempotentInspect
Stop a timer when the user says they stopped. Returns minutes and hours, exact to the minute. With an hourly rate_minor it records the time as billable work linked to the timer; without one, ask for the rate and call again. discard throws a timer away.
Inputs: timer_id (required), request_id (required), discard, rate_minor, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Invoicing for AI assistants: clients, quotes, invoices with computed tax, email send, card payments.
1Log hours and invoice clients from your AI chat. Time tracking and invoicing for freelancers.
Freelancer time tracking for AI assistants: log time, timers, timesheets, sign-off links, invoices.
Let your AI send invoices and take payment — card or ACH. Free.
Related MCP Servers
- AlicenseBqualityAmaintenanceTurn Claude, Cursor, and your AI agents into an autonomous CFO. Manage invoicing, expenses, real-time bank reconciliation, cash flow, and tax compliance in plain language — backed by Frihet ERP.1001,109 npm13MIT
- AlicenseNot gradedqualityCmaintenanceLet your AI send invoices and take payment — card or ACH. Free. Every write is confirm-gated, and it connects Claude, ChatGPT, or Cursor to your Holdings workspace.MIT
- FlicenseNot gradedqualityBmaintenanceEnables time tracking and invoicing through natural conversation with MCP clients like Claude or ChatGPT, allowing users to log work hours, query unbilled time, and draft invoices, with a minimal web app for settings, CSV import, and Stripe-powered billing.-
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to manage time tracking directly, including starting and stopping timers, handling workspaces, projects, and tags, and generating PDF/CSV reports and invoices.100 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.