Integration

MOCO integration

MOCO is a business management tool for agencies and service companies (projects, time tracking, CRM, offers, invoicing and purchases). An agent can track time (activities, timers), manage projects with their tasks, staff contracts and expenses, companies, contact persons and deals, create offers and invoices, record payments, send offers, invoices and payment reminders by email, download PDFs, manage purchases, receipts, comments, tags, planning entries and absences, read finance, cashflow, utilization, absence and performance reports, and manage webhook subscriptions. Not included: account settings (catalog services, custom fields, templates, rates), bookkeeping exports, purchase budgets, drafts and planned purchases, staff HR records (employments, work time adjustments, presences, absence requests), project payment schedules and recurring expenses, offer customer approval, bulk create routes, the session login route and duplicate PATCH spellings of update routes. Authentication: a user API key (profile, Integrations tab) or an account API key (Settings, Extensions, API & Webhooks); paste the key alone, it is sent as Authorization: Token token=<key>. Domain is the subdomain of your MOCO URL (the part before .mocoapp.com). Rate limit: 120 requests per 2 minutes (1200 on the unlimited plan).

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in MOCO.Built from the 178 MOCO tools below, on the connection you add once.

What you can do with MOCO

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Payment, 7 operations

  • create_invoice_paymentCreate invoice paymentPOSTRecords a payment received for an invoice (date, paid_total and invoice_id required) and returns it.
  • create_purchase_paymentCreate purchase paymentPOSTRecords a payment made for a purchase (date, total and purchase_id required) and returns it.
  • delete_invoice_paymentDelete invoice paymentDELETEDeletes a recorded invoice payment by id.
  • delete_purchase_paymentDelete purchase paymentDELETEDeletes a recorded purchase payment by id.
  • get_invoice_paymentGet invoice paymentGETReturns one invoice payment by id: date, paid total, currency, description and invoice.
  • get_purchase_paymentGet purchase paymentGETReturns one purchase payment by id: date, total, currency and purchase.
  • list_invoice_paymentsList invoice paymentsGETLists invoice payments, filterable by invoice and payment date range.

Attachment, 6 operations

  • create_invoice_attachmentCreate invoice attachmentPOSTUploads a file as invoice attachment using base64-encoded content.
  • create_offer_attachmentCreate offer attachmentPOSTAttaches a file to an offer, sent as base64-encoded content with its file name.
  • delete_invoice_attachmentDelete invoice attachmentDELETEDeletes one attachment from the selected invoice.
  • delete_offer_attachmentDelete offer attachmentDELETEDeletes one attachment from an offer.
  • list_invoice_attachmentsList invoice attachmentsGETReturns attachments linked to the selected invoice.
  • list_offer_attachmentsList offer attachmentsGETLists the attachments of one offer.

Expense, 5 operations

  • create_project_expenseCreate project expensePOSTCreates an expense linked to the given project. `price` is deprecated and kept for compatibility. If `user_id` is provided, it must reference an active user.
  • delete_project_expenseDelete project expenseDELETEDeletes an expense from a project.
  • get_project_expenseGet project expenseGETReturns one project expense by id: date, title, quantity, unit price and cost, billable and budget flags.
  • list_all_project_expensesList all project expensesGETReturns expenses across all visible projects.
  • list_invoice_expensesList invoice expensesGETReturns expenses linked to the selected invoice.

Invoice, 5 operations

  • create_invoiceCreate invoicePOSTBills a customer: creates an invoice and returns it. Status created issues it as a final, numbered document; status draft keeps an editable draft (left out, MOCO's default applies). To email it, use send_invoice_email.
  • delete_invoiceDelete invoiceDELETEDeletes an invoice if it is still deletable according to business rules. The `reason` field is required when deleting a non-draft invoice.
  • download_invoice_pdfDownload invoice pdfGETDownloads the rendered invoice PDF and returns it as a stored file. blank=true omits the letter paper.
  • get_invoiceGet invoiceGETReturns one invoice by ID including line items, payments and reminders.
  • list_invoicesList invoicesGETLists invoices visible to the caller, filterable by status, dates, company, project, tags and custom fields. Disregarded invoices are excluded by default; detail fields (items, payments, reminders) are omitted.

Activity, 4 operations

  • create_activityCreate activityPOSTCreates one activity (time entry) and returns it. It is created for the user the API key belongs to; set X-IMPERSONATE-USER-ID (caller needs Staff permission) to create it for another user.
  • delete_activityDelete activityDELETEDeletes an activity. Deletion is only possible if the activity has not yet been billed or locked.
  • get_activityGet activityGETReturns one tracked activity (time entry) by id: date, hours, description, billable and billed flags, project, task and user.
  • list_activitiesList activitiesGETReturns tracked activities visible to the current user. Supports date range, billing, relationship and text filters.

Approval, 4 operations

  • create_approvalCreate approvalPOSTCreates a new approval for an invoice or purchase.
  • delete_approvalDelete approvalDELETEDeletes an approval by ID.
  • get_approvalGet approvalGETReturns a single approval by ID.
  • list_approvalsList approvalsGETReturns approvals (invoice and purchase approvals) with pagination support.

Comment, 4 operations

  • create_commentCreate commentPOSTCreates a comment and optionally stores an attachment. Attachment must be sent as base64 content.
  • delete_commentDelete commentDELETEDeletes a manually created comment. Auto-generated system comments cannot be deleted.
  • get_commentGet commentGETReturns full comment payload including attachment content when present.
  • list_commentsList commentsGETReturns comments with optional filtering by target, user and update time. `commentable_type=Customer` is accepted as deprecated alias of `Company`.

Company, 4 operations

  • create_companyCreate companyPOSTCreates a company (type customer, supplier or organization) and returns it. customer_tax or supplier_tax can be sent instead of explicit VAT code IDs.
  • delete_companyDelete companyDELETEDeletes a company (customer, supplier or organization) by id.
  • get_companyGet companyGETReturns full company representation.
  • list_companiesList companiesGETReturns companies (customers, suppliers, organizations) visible to the current user. For `custom_properties` filtering, `type` must be provided.

Deal, 4 operations

  • create_dealCreate dealPOSTCreates a deal (lead) and returns it. status is potential, pending, won, lost or dropped; deal_category_id (see list_deal_categories) is required when status is pending.
  • delete_dealDelete dealDELETEDeletes the deal if confirmation rules are met.
  • get_dealGet dealGETReturns one deal (lead) by id: name, status, value (money, currency), category, company, person, user and tags.
  • list_dealsList dealsGETReturns deals visible to the current user. Supports filtering by status, tags, company, close date range, incremental updates, and custom properties.

Invoice reminder, 4 operations

  • create_invoice_reminderCreate invoice reminderPOSTCreates a reminder for an invoice. If omitted, `title` and `text` default to account reminder defaults.
  • delete_invoice_reminderDelete invoice reminderDELETEDeletes an invoice payment reminder by id.
  • get_invoice_reminderGet invoice reminderGETReturns one invoice payment reminder by id: title, text, fee, date, due date, status and invoice.
  • list_invoice_remindersList invoice remindersGETLists invoice payment reminders (dunning letters), filterable by invoice and reminder date range.

Offer, 4 operations

  • create_offerCreate offerPOSTCreates an offer with its line items and returns it. Use vat_code_id (from list_vat_code_sales) rather than the deprecated tax; omitted layout flags take the account defaults, and default attachments are added.
  • delete_offerDelete offerDELETEDeletes an offer. Only offers with status `created` can be deleted; attempting to delete an offer in any other status returns a 400 error.
  • download_offer_pdfDownload offer pdfGETDownloads the rendered offer PDF and returns it as a stored file.
  • get_offerGet offerGETReturns full offer representation including line items.

Person, 4 operations

  • create_contactCreate contactPOSTCreates a contact person. If `user_id` is provided, it must reference an active user in the account.
  • delete_contactDelete contactDELETEDeletes a contact person by id.
  • get_contactGet contactGETReturns one contact person by id, including the info field that list_contacts omits.
  • list_contactsList contactsGETReturns contact persons. List payload omits the `info` field.

Contract, 3 operations

  • create_project_contractCreate project contractPOSTAssigns a staff member (user_id) to a project and returns the contract.
  • delete_project_contractDelete project contractDELETERemoves a staff assignment (contract) from a project.
  • get_project_contractGet project contractGETReturns one staff assignment (contract) of a project.

Planning entry, 3 operations

  • create_planning_entryCreate planning entryPOSTCreates a planning entry. The entry is created for the user executing the request unless a `user_id` is supplied.
  • delete_planning_entryDelete planning entryDELETEDeletes a planning entry (resource planning block) by id.
  • get_planning_entryGet planning entryGETReturns one planning entry by id: user, project or deal, start and end dates, hours per day and comment.

Project, 3 operations

  • create_projectCreate projectPOSTCreates a project and returns it. currency cannot be changed later. A retainer project (retainer true) needs start_date (first day of a month), finish_date (last day of a month) and budget_monthly.
  • delete_projectDelete projectDELETEDeletes a project when deletion constraints are satisfied. Deletion is only possible when no activities, invoices, offers or expenses exist.
  • get_projectGet projectGETReturns one project by ID.

Purchase, 3 operations

  • create_purchaseCreate purchasePOSTCreates a purchase (supplier invoice) with one or more line items; every item needs vat_code_id (from list_vat_code_purchases) or a valid tax rate. Invalid tag names are refused.
  • delete_purchaseDelete purchaseDELETEDeletion is possible only for pending purchases without payments.
  • get_purchaseGet purchaseGETReturns one purchase (supplier invoice) by id with its items, payments and linked entities.

Receipt, 3 operations

  • create_receiptCreate receiptPOSTCreates a receipt with one to three VAT item splits. `purchase_category_id` must be the same for all items. If `currency` is omitted, account default currency is used.
  • delete_receiptDelete receiptDELETEDeletes a receipt. Deletion is only possible if no refund request has been created for this receipt.
  • get_receiptGet receiptGETReturns one receipt (staff expense receipt) by id with its VAT items, project and user.

Schedule, 3 operations

  • create_scheduleCreate schedulePOSTCreates an absence entry. The entry is created for the user executing the request unless a `user_id` is supplied.
  • delete_scheduleDelete scheduleDELETEDeletes an absence entry (schedule) by id.
  • get_scheduleGet scheduleGETReturns one absence entry (schedule) by id: date, morning and afternoon flags, comment and user.

Tag, 3 operations

  • create_tagCreate tagPOSTCreates a tag. `context` is required and cannot be changed after creation. `color` must be a hex color string (e.g., `#ABC123`); defaults to grey if omitted.
  • delete_tagDelete tagDELETEDeletes a tag by id.
  • get_tagGet tagGETReturns one tag by id: name, color and context (the record type it applies to).

Task, 3 operations

  • create_project_taskCreate project taskPOSTCreates a task (service) in a project and returns it.
  • delete_project_taskDelete project taskDELETEDeletes a task from a project.
  • get_project_taskGet project taskGETReturns one task (service) of a project by id.

User, 3 operations

  • create_userCreate userPOSTCreates a staff user and returns it. welcome_email is required: true emails the user an invitation at once, false creates the user silently.
  • delete_userDelete userDELETEDeletes a user. Deletion is only possible if no hours have been billed for this user.
  • get_userGet userGETReturns one user (staff member) by id.

Web hook, 3 operations

  • create_web_hookCreate web hookPOSTSubscribes a URL (hook) to one event (create, update or delete) of one record type (target). MOCO POSTs the record as JSON and signs it in X-Moco-Signature with the key shown in Settings, Extensions, API & Webhooks.
  • delete_web_hookDelete web hookDELETEDeletes a webhook subscription by id (see list_web_hooks); MOCO stops sending its deliveries.
  • get_web_hookGet web hookGETReturns one webhook subscription by id: target, event, hook URL, disabled state and timestamps.

Archive, 2 operations

  • archive_companyArchive companyPUTArchives a company so it no longer appears in active company lists; unarchive_company reverses it.
  • archive_projectArchive projectPUTArchives a project and removes it from default active project listings.

Deal category, 2 operations

  • get_deal_categoryGet deal categoryGETReturns one deal category (pipeline stage) by id with its probability.
  • list_deal_categoriesList deal categoriesGETLists the deal categories (sales pipeline stages) with their win probability in percent.

Disregard, 2 operations

  • disregard_activitiesDisregard activitiesPOSTMarks selected activities as disregarded for billing calculations. `customer_id` is accepted as deprecated alias of `company_id`.
  • disregard_project_expensesDisregard project expensesPOSTMarks selected expenses as disregarded for billing calculations.

Offer confirmation, 2 operations

  • get_offer_confirmationGet offer confirmationGETReturns a single offer confirmation by ID.
  • list_offer_confirmationsList offer confirmationsGETReturns offer confirmations with pagination support. Filter by `ids`, `offer_id`, or `updated_after` for incremental synchronization.

Performance report, 2 operations

  • get_my_performance_reportGet my performance reportGETReturns the current user's performance report without requiring staff permissions.
  • get_user_performance_reportGet user performance reportGETReturns a user's yearly and monthly performance figures (target, tracked and billable hours); needs staff permission.

Absence, 1 operation

  • get_absences_reportGet absences reportGETReturns per-user vacation and sick-day totals for a year: total, used and planned vacation days, sick days.

Approve, 1 operation

  • approve_approvalApprove approvalPOSTApproves a pending approval. Only the assigned approver or approver2 can perform this action.

Assign, 1 operation

  • assign_offerAssign offerPUTLinks an offer to a company, project and/or deal. When project_id is set, the project's company overrides company_id.

Assign project group, 1 operation

  • assign_project_groupAssign project groupPUTAssigns a project to a project group.

Assign to project, 1 operation

  • assign_purchase_to_projectAssign purchase to projectPOSTAssigns one purchase item to a project expense.

Assigned, 1 operation

  • list_assigned_projectsList assigned projectsGETReturns a compact project list where the current user has an active assignment.

Cashflow, 1 operation

  • get_cashflow_reportGet cashflow reportGETReturns cashflow report rows (invoices and expenses with amounts in account currency) for a date range.

Category, 1 operation

  • get_purchase_categoryGet purchase categoryGETReturns one purchase category by id.

Deny, 1 operation

  • deny_approvalDeny approvalPOSTDenies a pending approval. Only the assigned approver or approver2 can perform this action.

Disable, 1 operation

  • disable_web_hookDisable web hookPUTDisables a webhook subscription so MOCO stops delivering its events until enable_web_hook is called.

Enable, 1 operation

  • enable_web_hookEnable web hookPUTRe-enables a disabled webhook subscription so MOCO delivers its events again.

Finance, 1 operation

  • get_finance_reportGet finance reportGETReturns finance report rows (records with net amounts in account currency and their kind) for a date range.

Group, 1 operation

  • get_project_groupGet project groupGETReturns one project group by id with its company, budget and projects.

Holiday, 1 operation

  • get_user_holidayGet user holidayGETReturns one holiday entitlement by id: year, days, hours and user.

Letter paper, 1 operation

  • list_letter_papersList letter papersGETLists the letter papers (PDF layouts) of the account; pass an id as letter_paper_id when creating or sending offers and invoices.

Locked, 1 operation

  • list_locked_invoicesList locked invoicesGETLists locked invoices only, without detail fields (salutation, footer, items, payments, reminders).

Planned vs tracked, 1 operation

  • get_planned_vs_tracked_reportGet planned vs tracked reportGETReturns planned hours against tracked hours per user and project for a date range, with the difference.

Profile, 1 operation

  • get_profileGet profileGETReturns the profile of the user the API key belongs to (or of the user named in X-IMPERSONATE-USER-ID): id, name, email, active and external flags, avatar URL and unit.

Report, 1 operation

  • get_project_reportGet project reportGETReturns aggregated project reporting data for the selected project. Cost values are in account main currency and may differ from project currency.

Revenue category, 1 operation

  • get_revenue_categoryGet revenue categoryGETGet revenue category

Tagging, 1 operation

  • add_record_tagsAdd record tagsPATCHAdds tags to a record and keeps its existing ones; unknown tag names are created. Returns the record's tag names.

Timesheet, 1 operation

  • get_invoice_timesheetGet invoice timesheetGETReturns the activities (time entries) included in the invoice's timesheet.

Todo, 1 operation

  • get_todoGet todoGETReturns one to-do by id: title, due date, completion, the record it belongs to and its users.

Unit, 1 operation

  • get_unitGet unitGETReturns one unit (team) by id with its users.

Utilization, 1 operation

  • get_utilization_reportGet utilization reportGETReturns daily target, billable and unbillable hours per user for a date range.

Showing the first 120 of 178 endpoints. The rest are in the product, searchable from the workflow builder and from chat.

Use MOCO from Claude Code, Cursor or Codex

Connect MOCO in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its MOCO operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect MOCO

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect MOCO once

    Add your MOCO connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

MOCO integration FAQ

What can you do with the MOCO integration?

LiveContext exposes 178 operations on MOCO, covering payment, attachment, expense and invoice.

Popular integrations

Browse the whole catalog