Skip to main content
Glama

Otis

Server Details

Free client billing for AI assistants: hours, expenses, timers, invoices and payments.

Ownership verified
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

A3.5/5.0

Scored across 25 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness4/5

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
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 tools
billable_recordRecord billable workB
DestructiveIdempotent
Inspect

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 workA
Read-onlyIdempotent
Inspect

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 businessesB
Read-onlyIdempotent
Inspect

Find your business and its business_id. Omit business_id on other tools to use your own business.

Inputs: limit, offset.

business_getGet business detailsA
Read-onlyIdempotent
Inspect

Read business identity, currency and tax profile, or the next setup step.

Inputs: business_id.

business_setUpdate business detailsA
DestructiveIdempotent
Inspect

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 clientB
DestructiveIdempotent
Inspect

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 clientsB
Read-onlyIdempotent
Inspect

List client records. Follow next_offset to retrieve every page.

Inputs: limit, offset, business_id.

expense_recordRecord an expenseA
DestructiveIdempotent
Inspect

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 expensesB
Read-onlyIdempotent
Inspect

List recorded expenses, including nonbillable costs and linked billable item IDs.

Inputs: limit, offset, client_id, business_id.

feedback_sendSend feedback to OtisA
Idempotent
Inspect

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 draftA
DestructiveIdempotent
Inspect

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 readinessA
Read-onlyIdempotent
Inspect

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 invoiceA
DestructiveIdempotent
Inspect

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 invoiceB
Read-onlyIdempotent
Inspect

Read immutable invoice contents, source allocations, tax details and current reported payment balance.

Inputs: invoice_id (required), business_id.

invoice_issueIssue an invoiceA
DestructiveIdempotent
Inspect

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 invoicesC
Read-onlyIdempotent
Inspect

List invoices with reported balances. Follow next_offset.

Inputs: limit, offset, status, business_id.

otis_menuShow the Otis menuA
Read-onlyIdempotent
Inspect

Show the Otis chat menu for /otis, 'show Otis menu', or getting started. Returns nine independent actions with mapped tools and workflow guidance without reading or changing business records. Wait for the user's choice.

Inputs: no named parameters.

payment_recordRecord a paymentA
DestructiveIdempotent
Inspect

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 paymentsC
Read-onlyIdempotent
Inspect

List reported payments, optionally for one invoice.

Inputs: limit, offset, invoice_id, business_id.

records_exportExport all recordsB
Read-onlyIdempotent
Inspect

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 guidanceA
Read-onlyIdempotent
Inspect

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 profileA
DestructiveIdempotent
Inspect

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 timersB
Read-onlyIdempotent
Inspect

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 timerA
DestructiveIdempotent
Inspect

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 timerA
DestructiveIdempotent
Inspect

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

    Related MCP Servers

    • A
      license
      B
      quality
      A
      maintenance
      Turn 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.
      100
      1,109 npm
      13
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Let 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
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables 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.
      -
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.