# Moco

```json
{
  "name": "Moco",
  "slug": "moco",
  "url": "https://composio.dev/toolkits/moco",
  "markdown_url": "https://composio.dev/toolkits/moco.md",
  "logo_url": "https://logos.composio.dev/api/moco",
  "categories": [
    "productivity & project management"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-05-12T10:19:17.127Z"
}
```

![Moco logo](https://logos.composio.dev/api/moco)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Moco MCP or direct API to manage projects, track time, generate invoices, and retrieve client details through natural language.

## Summary

Moco is a business management platform offering project management, time tracking, and invoicing tools. It helps teams organize projects, track billable hours, and streamline client billing in one place.

## Categories

- productivity & project management

## Toolkit Details

- Tools: 218

## Images

- Logo: https://logos.composio.dev/api/moco

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Moco.
  - Setup:
    - Configure Api Key credentials for Moco.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List activities tracked for this week
- Create a new company called GreenTech
- Get details for deal with ID 456
- Delete the deal with ID 789

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `MOCO_ACTIVATE_OFFER_CUSTOMER_APPROVAL` | Activate Offer Customer Approval | Tool to activate customer approval on an offer to generate the offer_document_url. Use when you need to create a shareable PDF link for customer approval. |
| `MOCO_ACTIVITIES_LIST` | List Activities | Retrieves a list of activities (time entries) from MOCO. Activities are time tracking records that log hours worked on projects and tasks. Use this tool to: - Get all time entries within a date range - Find activities by user, project, task, or company - Filter by billing status (billable/non-billable, billed/unbilled) - Search for activities by description, tag, or external reference - Sort results by any field (date, hours, etc.) Returns paginated results with detailed information about each activity including the associated project, task, customer, and user. |
| `MOCO_ACTIVITY_GET` | Get Activity | Tool to retrieve a single activity by ID. Use when you need to fetch details for a specific activity after confirming the activity ID. |
| `MOCO_ACTIVITY_UPDATE` | Update Activity | Tool to update an existing activity. Use when you need to adjust details of a recorded time entry after confirming the activity exists. |
| `MOCO_ASSIGN_OFFER` | Assign Offer | Tool to assign an offer to a project, company, or deal. Use when you need to link an existing offer with a project (creating project from offer), associate it with a company, or link it to a deal. |
| `MOCO_ASSIGN_PURCHASE_TO_PROJECT` | Assign Purchase to Project | Tool to assign a purchase item to a project by creating or linking to an expense. Use when you need to associate a purchase line item with a specific project for billing and budget tracking. |
| `MOCO_COMMENTS_LIST` | List comments | Tool to retrieve a list of comments. Use after confirming the resource type and ID. |
| `MOCO_COMPANY_CREATE` | Create Company | Creates a new company in MOCO (customer, supplier, or organization). Required fields: - name: Company name - type: Must be 'customer', 'supplier', or 'organization' - currency: Required only for 'customer' type (e.g., 'USD', 'EUR', 'CHF') Common optional fields: website, email, phone, address, tags, user_id, country_code |
| `MOCO_COMPANY_DELETE` | Delete a company | Tool to delete a company. Use when you need to remove a company from MOCO after confirming no active dependencies. |
| `MOCO_CONTACTS_LIST` | List Contacts | Tool to retrieve a list of contacts. Use when you need to list contacts optionally filtered by tags, term, or phone after confirming criteria. |
| `MOCO_CREATE_ACCOUNT_CATALOG_SERVICES` | Create Account Catalog Service | Tool to create a catalog service including its items. Use when you need to create a catalog service with pricing items. Note: Items cannot be updated through this endpoint - use separate item-specific endpoints for modifications. |
| `MOCO_CREATE_ACCOUNT_CATALOG_SERVICES_ITEMS` | Create Catalog Service Item | Tool to create a new item within a catalog service in MOCO. Use when you need to add items like consulting services, products, or other billable items to a service catalog. |
| `MOCO_CREATE_ACCOUNT_CUSTOM_PROPERTIES` | Create Account Custom Property | Tool to create a new custom property in MOCO. Use when you need to define a new custom field for entities like Deals, Projects, or Customers. Custom properties can be of various types (String, Textarea, Link, Boolean, Select, MultiSelect, Date) and can be configured to appear on documents or trigger notifications. |
| `MOCO_CREATE_ACTIVITIES_BULK` | Create Activities Bulk | Tool to bulk create multiple activities (time entries) at once in MOCO. Activities are time tracking records that log hours worked on projects and tasks. Use this tool to: - Create multiple time entries in a single API call for efficiency - Import time logs from external systems in bulk - Backfill historical time tracking data - Log multiple activities for the same or different projects/tasks at once More efficient than calling activity create endpoint multiple times. All activities must have valid date, project_id, and task_id. Returns all created activities with their generated IDs. |
| `MOCO_CREATE_ACTIVITY` | Create Activity | Tool to create a new activity (time tracking entry) in MOCO. Use when you need to record time spent on a project task. Activities are created for the user that the API key belongs to. |
| `MOCO_CREATE_COMMENT` | Create Comment | Tool to create a new comment on a MOCO resource. Use when you need to add a comment to a project, deal, contact, or other supported entity. |
| `MOCO_CREATE_COMMENTS_BULK` | Create Comments Bulk | Tool to create multiple comments in bulk for MOCO objects. Use when you need to add the same comment to multiple objects of the same type efficiently. |
| `MOCO_CREATE_CONTACT` | Create Contact | Tool to create a new contact person in MOCO. Use when you need to add a new contact with their personal and professional information. Requires lastname and gender; optionally accepts contact details, company association, and tags. |
| `MOCO_CREATE_DEAL` | Create Deal | Tool to create a new deal in MOCO. Use when you need to add a deal with specified parameters. |
| `MOCO_CREATE_DEAL_CATEGORY` | Create Deal Category | Creates a new deal category in MOCO with a name and probability percentage. Deal categories represent stages in a sales pipeline (e.g., "Contact", "Negotiation", "Closed Won") and include probability percentages (0-100) indicating the likelihood of winning at each stage. Use this action to add new stages to your sales pipeline. |
| `MOCO_CREATE_EMPLOYMENT` | Create Employment | Create a new employment (weekly work model) for a user in MOCO. Define work hours distribution across weekdays using 'am' and 'pm' arrays. |
| `MOCO_CREATE_EXPENSE_TEMPLATE` | Create Expense Template | Tool to create a new expense template in MOCO. Use when you need to set up reusable expense items with predefined pricing and cost information. |
| `MOCO_CREATE_HOLIDAY` | Create Holiday | Create a new holiday entry for a user in MOCO. Use this to allocate annual leave days, vacation allowances, or other holiday entitlements for specific users and years. |
| `MOCO_CREATE_INVOICE_ATTACHMENT` | Add Invoice Attachment | Tool to add a PDF attachment to an existing invoice. Use when you need to attach supporting documents or files to an invoice record. |
| `MOCO_CREATE_INVOICE_BOOKKEEPING_EXPORT` | Create Invoice Bookkeeping Export | Tool to create a new invoice bookkeeping export. Use when you need to export invoice data for accounting purposes. |
| `MOCO_CREATE_INVOICE_PAYMENT` | Create Invoice Payment | Tool to create a new invoice payment. Use when recording a payment received for an invoice. |
| `MOCO_CREATE_INVOICE_REMINDER` | Create Invoice Reminder | Tool to create a new invoice reminder for an existing invoice. Use when you need to send a payment reminder to a customer for an overdue invoice. |
| `MOCO_CREATE_INVOICES_PAYMENTS_BULK` | Create Invoice Payments Bulk | Tool to create multiple invoice payments in bulk. Use when you need to record multiple payments at once across different invoices. |
| `MOCO_CREATE_OFFER` | Create Offer | Tool to create a new offer/proposal. Use after gathering complete offer data (company, dates, items, etc.). |
| `MOCO_CREATE_OFFER_ATTACHMENT` | Create Offer Attachment | Tool to upload an attachment to an offer. Use when you need to attach a document to an existing offer after obtaining the offer ID and file content. |
| `MOCO_CREATE_PROJECT_CONTRACT` | Create Project Contract | Tool to create a new contract (assign staff) for a project in MOCO. Use when you need to assign a staff member to a project with specific billing parameters. |
| `MOCO_CREATE_PROJECTS_EXPENSES` | Create Project Expense | Tool to create an additional service entry (expense) on a project. Use when you need to log project expenses like hosting costs, external services, or materials. |
| `MOCO_CREATE_PROJECTS_EXPENSES_BULK` | Create Project Expenses Bulk | Tool to create multiple project expense entries in bulk. Use when you need to add several additional services or expense items to a project at once. |
| `MOCO_CREATE_PROJECTS_PAYMENT_SCHEDULES` | Create Project Payment Schedule | Tool to create a payment schedule entry for a project. Use when you need to add a scheduled payment milestone to an existing project. |
| `MOCO_CREATE_PROJECTS_RECURRING_EXPENSES` | Create Recurring Expense on Project | Tool to create a recurring additional services entry on a project in MOCO. Use when you need to set up periodic billing for services like hosting, maintenance, or support contracts. |
| `MOCO_CREATE_PROJECTS_RECURRING_EXPENSES_RECUR` | Trigger Recurring Expense | Tool to manually trigger the creation of an expense entry for an active recurring expense ahead of its automatic schedule. Use when you need to create the next expense entry immediately rather than waiting for the scheduled recurrence date. |
| `MOCO_CREATE_PROJECT_TASK` | Create Project Task | Tool to create a new task (service) for a project in MOCO. Use when you need to add a billable or non-billable task to an existing project. |
| `MOCO_CREATE_PURCHASE_BOOKKEEPING_EXPORT` | Create Purchase Bookkeeping Export | Tool to create a new purchase bookkeeping export. Use when you need to export purchases for bookkeeping or DATEV submission. |
| `MOCO_CREATE_PURCHASE_PAYMENT` | Create Purchase Payment | Tool to create a new purchase payment. Use when you need to record a payment made for a purchase or create a standalone payment entry with a description. |
| `MOCO_CREATE_PURCHASE_PAYMENTS_BULK` | Create Purchase Payments Bulk | Tool to create multiple purchase payments in bulk. Use when you need to record multiple payments at once for efficiency. |
| `MOCO_CREATE_RECEIPT` | Create Receipt | Tool to create a new receipt. Use when you need to record an expense receipt after gathering date, title, currency, and items. |
| `MOCO_CREATE_SCHEDULE` | Create Schedule | Tool to create a planning entry (absence/schedule). Use when you need to record absences such as holidays, sick days, or other time off. If user_id is not supplied, the entry is created for the authenticated user. |
| `MOCO_CREATE_TAG` | Create Tag | Tool to create a new tag in MOCO. Use when you need to create a reusable label for categorizing entities like projects, deals, companies, etc. |
| `MOCO_CREATE_TASK_TEMPLATE` | Create Task Template | Tool to create a new task template in MOCO. Use when you need to define a reusable task template for projects. |
| `MOCO_CREATE_UNIT` | Create Unit | Tool to create a new unit/team in MOCO. Use when you need to provision a new organizational unit. |
| `MOCO_CREATE_USERS` | Create User | Tool to create a new staff member/user in MOCO. Use when you need to add a new employee or team member to the system. Requires firstname, lastname, email, and unit_id (team assignment). Optionally set password, role permissions, language preference, contact details, and whether to send a welcome email. |
| `MOCO_CREATE_USERS_PRESENCES` | Create Users Presences | Tool to create a presence entry (work time tracking) in MOCO. Use when you need to record work hours or home office days. The presence is created for the user that the API key belongs to. |
| `MOCO_CREATE_USERS_PRESENCES_TOUCH` | Toggle User Presence | Tool to toggle user presence (clock in/out) in MOCO. First call creates a new presence starting from current time, second call closes the previous open presence. Use when implementing a clock system or time tracking system. |
| `MOCO_CREATE_WORK_TIME_ADJUSTMENT` | Create Work Time Adjustment | Tool to create a new work time adjustment in MOCO. Use when you need to add or subtract hours from a user's work time balance (e.g., overtime compensation, vacation corrections). |
| `MOCO_DEACTIVATE_OFFER_CUSTOMER_APPROVAL` | Deactivate Offer Customer Approval | Tool to deactivate a customer approval on an offer to prevent access and signing. Use when you need to revoke customer approval access for an offer. |
| `MOCO_DEAL_CATEGORIES_LIST` | List Deal Categories | Retrieves all deal categories configured in MOCO with their IDs, names, probabilities, and timestamps. Deal categories represent stages in a sales pipeline (e.g., "Contact", "Create quote", "Negotiation") and include probability percentages (0-100) indicating the likelihood of winning at each stage. Use this action to: - Get available category IDs for creating or updating deals - Understand the sales pipeline stages configured in the system - View probability percentages associated with each stage No parameters required - returns all categories in the system. |
| `MOCO_DEAL_DELETE` | Delete Deal | Tool to delete a deal. Use when you have identified an obsolete or unwanted deal and confirmed its deletion. Example: "Delete the deal with id 123." |
| `MOCO_DEAL_GET` | Get Deal | Retrieves detailed information for a specific deal/lead by its ID from MOCO. Returns complete deal data including status, monetary value, associated company/person, category, and timestamps. Use this when you need to get full details about a specific deal that you already have the ID for. |
| `MOCO_DEALS_LIST` | List Deals | Tool to retrieve a list of all deals (leads). Use when you need an overview of deals filtered by status, tags, date range, or associated company. |
| `MOCO_DEAL_UPDATE` | Update Deal | Tool to update an existing deal. Use when you need to modify one or more fields of a deal after retrieving its details. |
| `MOCO_DELETE_ACCOUNT_CATALOG_SERVICES` | Delete Catalog Service | Tool to delete a catalog service. Use when you need to remove a catalog service from MOCO after confirming it is no longer needed. |
| `MOCO_DELETE_ACCOUNT_CUSTOM_PROPERTIES` | Delete Account Custom Property | Tool to delete a custom property in MOCO. Use when you need to permanently remove a custom field definition from an entity type. |
| `MOCO_DELETE_ACCOUNT_EXPENSE_TEMPLATES` | Delete Expense Template | Tool to delete an expense template. Use when you need to remove an expense template from MOCO after confirming it is no longer needed. |
| `MOCO_DELETE_CATALOG_SERVICE_ITEM` | Delete Catalog Service Item | Tool to delete an item from a catalog service. Use when you need to remove a specific item from a catalog service by providing both the service ID and item ID. |
| `MOCO_DELETE_COMMENT` | Delete Comment | Tool to delete a manually created comment. Use when you need to remove a comment that was created by a user (not system-generated). |
| `MOCO_DELETE_CONTACTS_PEOPLE` | Delete Contact Person | Tool to delete a contact person in MOCO. Use when you need to remove a contact person from the system after confirming they are no longer needed. |
| `MOCO_DELETE_DEAL_CATEGORY` | Delete Deal Category | Tool to delete a deal category. Use when you need to remove an unused or obsolete deal category from MOCO. Note: deletion will fail with 403 Forbidden if the category is still in use by any deals. |
| `MOCO_DELETE_INVOICE` | Delete Invoice | Tool to delete a single invoice. Use when you need to remove an invoice from MOCO. Note: 'reason' is mandatory for non-draft invoices but optional for draft invoices. |
| `MOCO_DELETE_INVOICES_PAYMENTS` | Delete Invoice Payment | Tool to delete an invoice payment. Use when you need to remove an invoice payment record from MOCO. |
| `MOCO_DELETE_OFFERS_ATTACHMENTS` | Delete Offers Attachments | Tool to remove an attachment from an offer. Use when you need to delete a specific attachment by its ID from a given offer. |
| `MOCO_DELETE_PRESENCE` | Delete Presence | Tool to delete a presence entry. Use when you need to remove a specific presence record from the system. Example: "Delete the presence entry with id 22018495." |
| `MOCO_DELETE_PROJECT` | Delete Project | Tool to delete a project. Use when you need to permanently remove a project from MOCO. Deletion is only possible if the project has no associated activities, invoices, offers, or expenses. |
| `MOCO_DELETE_PROJECTS_CONTRACTS` | Delete Project Staff Assignment | Tool to delete a staff assignment (contract) from a project. Use when removing a staff member from a project. Note: deletion is only possible if no hours have been tracked by this person. |
| `MOCO_DELETE_PROJECTS_EXPENSES` | Delete Project Expense | Tool to delete an additional services entry on a project. Use when you need to remove an expense that has not yet been billed. Deletion is only possible for unbilled expenses. |
| `MOCO_DELETE_PROJECTS_PAYMENT_SCHEDULES` | Delete Project Payment Schedule | Tool to delete a payment schedule from a project. Use when you need to remove a scheduled payment milestone from an existing project. |
| `MOCO_DELETE_PROJECTS_RECURRING_EXPENSES` | Delete Project Recurring Expense | Tool to delete a recurring expense from a project. Use when you need to remove a periodic billing entry for services like hosting or maintenance contracts. |
| `MOCO_DELETE_PROJECTS_TASKS` | Delete Project Task | Tool to delete a specific task from a project. Deletion is only possible if no hours were tracked on the task. Use when you need to remove a single task that has no time entries. |
| `MOCO_DELETE_PROJECTS_TASKS_DESTROY_ALL` | Delete All Project Tasks | Tool to bulk delete all deletable tasks on a project. Tasks with tracked hours cannot be deleted and will be automatically skipped without causing errors. Use when you need to clear all removable tasks from a project. |
| `MOCO_DELETE_PURCHASE` | Delete Purchase | Tool to delete a purchase. Use when you need to remove a purchase record that is in 'pending' status and has no registered payments. |
| `MOCO_DELETE_PURCHASE_PAYMENT` | Delete Purchase Payment | Tool to delete a purchase payment. Use when you need to remove a payment record from a purchase. |
| `MOCO_DELETE_SCHEDULE` | Delete Schedule | Tool to delete a schedule entry (absence). Use when you need to remove a scheduled absence such as holidays, sick days, or other time off entries that are no longer needed. |
| `MOCO_DELETE_TAG` | Delete Tag | Tool to delete a tag in MOCO. Use when you need to remove a tag and optionally merge it with another tag. |
| `MOCO_DELETE_TAGGINGS` | Delete Taggings | Tool to selectively remove tags from an entity. Use when you need to remove specific tags from a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User. |
| `MOCO_DELETE_USER` | Delete User | Tool to delete a user from MOCO. Use when you need to permanently remove a user account that has no billed hours. Users with billed hours cannot be deleted and must be archived instead by updating them with active=false. |
| `MOCO_DELETE_USERS_EMPLOYMENTS` | Delete Employment | Tool to delete an employment (weekly work model) for a user. Use when you need to remove an employment record after confirming it is no longer needed. |
| `MOCO_DISABLE_PROJECT_SHARE` | Disable Project Share | Tool to deactivate project report sharing. Use when you need to disable public access to a project's report by removing the sharing URL. |
| `MOCO_DISREGARD_PROJECT_EXPENSES` | Mark Project Expenses as Billed | Tool to mark project expense entries as already billed. Use when you need to disregard specific expenses from billing because they were courtesy services or handled outside the normal billing process. |
| `MOCO_GET_ACCOUNT_CATALOG_SERVICES_ITEMS` | Get Catalog Service Item | Tool to retrieve a specific item within a catalog service in MOCO. Use when you need to get details about a specific catalog service item by its ID. |
| `MOCO_GET_ACCOUNT_FIXED_COSTS` | Get Account Fixed Costs | Tool to retrieve all fixed costs from the account. Use when you need to view recurring monthly costs like rent, subscriptions, or other fixed expenses. Fixed costs show historical and planned monthly cost data organized by year and month. |
| `MOCO_GET_CASHFLOW` | Get Cashflow Report | Tool to retrieve the cashflow report from MOCO. Use when you need to view cash inflows and outflows over a specific period. This report provides a chronological view of all financial transactions including invoices created, payments received, expenses, and other cashflow events. Each entry shows the amount, date, associated company, user, and transaction type. Useful for financial analysis, cash position tracking, and understanding the timing of revenue and expenses. |
| `MOCO_GET_COMMENT` | Get Comment | Tool to retrieve a single comment by ID. Use when you need to fetch details for a specific comment after confirming the comment ID. |
| `MOCO_GET_COMPANY` | Get Company | Tool to retrieve a single company by ID from MOCO. Use when you need to get complete details about a specific company including contact information, billing settings, and associated projects. |
| `MOCO_GET_CONTACT` | Get Contact | Tool to retrieve detailed information for a specific contact person by ID from MOCO. Use when you need to get full details about a specific contact that you already have the ID for. |
| `MOCO_GET_CUSTOM_PROPERTY` | Get Custom Property | Tool to retrieve a single custom property by ID from MOCO. Use when you need to fetch details about a specific custom property after obtaining its ID. |
| `MOCO_GET_DEAL_CATEGORY` | Get Deal Category | Tool to retrieve a single deal category by ID. Use when you need detailed information about a specific deal category in the MOCO sales pipeline. |
| `MOCO_GET_EMPLOYMENT` | Get Employment | Tool to retrieve a single employment (weekly work model) by ID. Use when you need to fetch details for a specific employment after confirming the employment ID. |
| `MOCO_GET_HOLIDAY` | Get Holiday | Tool to retrieve a single holiday entry by ID. Use when you need to fetch details for a specific holiday allocation after confirming the holiday ID. |
| `MOCO_GET_INTERNAL_HOURLY_RATES` | Get Internal Hourly Rates | Tool to retrieve all internal hourly rates from the account. Use when you need to view staff costs, budget planning, or analyze team rates over time. Returns user IDs, names, and their hourly rates organized by year. |
| `MOCO_GET_INVOICE` | Get Invoice | Tool to retrieve a single invoice by ID with full details including items, payments, and reminders. Use when you have an invoice ID and need complete invoice information. |
| `MOCO_GET_INVOICE_BOOKKEEPING_EXPORT` | Get Invoice Bookkeeping Export | Tool to retrieve a single invoice bookkeeping export by ID. Use when you need to get details about a specific bookkeeping export that you already have the ID for. |
| `MOCO_GET_INVOICE_PAYMENT` | Get Invoice Payment | Tool to retrieve a single invoice payment by ID. Use when you need to fetch details for a specific payment record after confirming the payment ID. |
| `MOCO_GET_INVOICE_REMINDER` | Get Invoice Reminder | Tool to retrieve a single invoice reminder by ID. Use when you need to fetch details for a specific invoice reminder after confirming the reminder ID. |
| `MOCO_GET_INVOICE_REMINDERS` | Get Invoice Reminders | Tool to retrieve all invoice reminders. Use when you need to view reminders, optionally filtered by invoice ID or date range. |
| `MOCO_GET_INVOICES_BOOKKEEPING_EXPORTS` | Get Invoice Bookkeeping Exports | Tool to retrieve all invoice bookkeeping exports. Use when you need to view existing invoice bookkeeping exports for accounting purposes. |
| `MOCO_GET_INVOICES_EXPENSES` | Get Invoice Expenses | Tool to retrieve all expenses that were invoiced in a particular invoice. Use when you need to see which expense items are associated with a specific invoice. |
| `MOCO_GET_INVOICES_LOCKED` | Get Locked Invoices | Tool to retrieve all locked invoices. Use when you need to access invoices that have been finalized and locked for editing, optionally filtered by status, date range, or identifier. |
| `MOCO_GET_INVOICES_PAYMENTS` | Get Invoice Payments | Tool to retrieve all invoice payments. Use when you need to view payment records, optionally filtered by invoice or date range. |
| `MOCO_GET_INVOICE_TIMESHEET` | Get Invoice Timesheet | Tool to retrieve a time sheet for a particular invoice, i.e. all activities that were invoiced. Use when you need to see the detailed list of activities billed in a specific invoice. |
| `MOCO_GET_OFFER_CUSTOMER_APPROVAL` | Get Offer Customer Approval | Tool to retrieve customer approval status and URL for an offer. Use when you need to check if customer approval is activated and get approval URLs for an offer. |
| `MOCO_GET_OFFER_PDF` | Get Offer PDF | Tool to retrieve a single offer document as PDF. Use when you need to download an offer in PDF format for sharing or archiving. |
| `MOCO_GET_PRESENCE` | Get Presence | Tool to retrieve a single presence entry by ID. Use when you need to fetch details for a specific work time tracking record after confirming the presence ID. |
| `MOCO_GET_PROFILE` | Get Profile | Tool to retrieve the current authenticated user's profile. Use when you need to get information about the API key owner or impersonated user. |
| `MOCO_GET_PROJECT_CONTRACT` | Get Project Contract | Tool to retrieve a single staff assignment (contract) on a project. Use when you need details about a specific person's assignment to a project, including their billable status, budget, and hourly rate. |
| `MOCO_GET_PROJECT_EXPENSE` | Get Single Project Expense | Tool to retrieve a single additional service (expense) for a project. Use when you need detailed information about a specific project expense entry. |
| `MOCO_GET_PROJECT_PAYMENT_SCHEDULES_BY_ID` | Get Project Payment Schedules By ID | Tool to retrieve all payment schedules for a specific project by its ID. Use when you need to view scheduled payment milestones for a particular project, optionally filtered by date range or checked status. |
| `MOCO_GET_PROJECT_REPORT` | Get Project Report | Tool to retrieve a project report with budget, hours, costs, and business indicators. Use when you need financial and time tracking metrics for a specific project after confirming the project ID. |
| `MOCO_GET_PROJECTS_EXPENSES` | Get Project Expenses | Tool to retrieve all additional services (expenses) for a project. Use when you need to view project costs, track billable expenses, or analyze project spending. |
| `MOCO_GET_PROJECTS_PAYMENT_SCHEDULES` | Get Projects Payment Schedules | Tool to retrieve all payment schedules for fixed price projects. Use when you need an overview of payment schedules, optionally filtered by date range, project, or company. |
| `MOCO_GET_PROJECTS_PAYMENT_SCHEDULES3` | Get Project Payment Schedule | Tool to retrieve a single payment schedule entry for a project by its ID. Use when you need detailed information about a specific payment schedule milestone. |
| `MOCO_GET_PROJECTS_RECURRING_EXPENSES` | Get Project Recurring Expenses | Tool to retrieve all recurring expenses for a specific project. Use when you need to view periodic billing items like hosting, maintenance contracts, or support services associated with a project. |
| `MOCO_GET_PROJECTS_TASKS` | Get Project Task | Tool to retrieve a single task on a project by project ID and task ID. Use when you need detailed information about a specific task within a project, including billing rates, budget allocation, and revenue categorization. |
| `MOCO_GET_PURCHASE` | Get Purchase | Tool to retrieve a single purchase by ID. Use when you need to get detailed information about a specific purchase including items, payments, and supplier details. |
| `MOCO_GET_PURCHASE_BOOKKEEPING_EXPORT` | Get Purchase Bookkeeping Export | Tool to retrieve a single purchase bookkeeping export by ID. Use when you need to fetch details for a specific bookkeeping export after confirming the export ID. |
| `MOCO_GET_PURCHASE_PAYMENT` | Get Purchase Payment | Tool to retrieve a single purchase payment by ID. Use when you need to fetch details for a specific purchase payment after confirming the payment ID. |
| `MOCO_GET_PURCHASES_BOOKKEEPING_EXPORTS` | Get Purchase Bookkeeping Exports | Tool to retrieve all purchase bookkeeping exports. Use when you need to view existing purchase bookkeeping exports for accounting purposes. |
| `MOCO_GET_PURCHASES_BUDGETS` | Get Purchase Budgets | Tool to retrieve purchase budgets for a given fiscal year. Use when you need to check budget allocations, spending status, or remaining funds for purchases. |
| `MOCO_GET_PURCHASES_PAYMENTS` | Get Purchase Payments | Tool to retrieve all purchase payments. Use when you need an overview of payments made for purchases, optionally filtered by purchase ID or date range. |
| `MOCO_GET_RECEIPT` | Get Receipt | Tool to retrieve a single receipt by ID from MOCO. Use when you need to fetch complete details for a specific receipt including items, VAT information, project association, and refund status. |
| `MOCO_GET_RECEIPTS` | Get Receipts | Retrieves a list of receipts (expense receipts) from MOCO. Receipts are records of expenses that can be allocated to projects and submitted for refund requests. Use this tool to: - Get all receipts within a date range - Find receipts by user, project, or purchase category - Filter by refund request submission status - Search for receipts by refund request ID Returns a list with detailed information about each receipt including the associated project, items with VAT details, refund request status, and user information. |
| `MOCO_GET_RECURRING_EXPENSES` | Get All Recurring Expenses | Tool to retrieve all recurring additional services entries across all projects in MOCO. Use when you need to view all periodic billing items like hosting, maintenance contracts, or support services globally across the account. |
| `MOCO_GET_REPORT_ABSENCES` | Get Report Absences | Tool to retrieve absence report showing employee absences by type and date range. Returns vacation days (total, used, planned) and sick days per user for the specified period. |
| `MOCO_GET_REPORT_FINANCE` | Get Finance Report | Tool to retrieve the finance report from MOCO. Use when you need financial data including income and expenses with associated companies and users. Returns an array of financial records that can be filtered by date range (from/to) or text search term. Each record includes transaction details, amounts in account currency, and associated company/user information. |
| `MOCO_GET_REPORT_UTILIZATION` | Get Utilization Report | Tool to retrieve the utilization report from MOCO. The utilization report shows how employees spend their time, breaking down billable versus unbillable hours for each user across a date range. Use this tool to: - Analyze team utilization and productivity over a period - Calculate billable vs. unbillable time ratios for employees - Identify under-utilized or over-worked team members - Generate reports for resource planning and capacity management - Track how much time is being charged to clients versus internal work Both from_date and to_date parameters are required to define the reporting period. |
| `MOCO_GET_SCHEDULE` | Get Schedule | Tool to retrieve a single planning entry (schedule) by ID. Use when you need to fetch details for a specific schedule entry. |
| `MOCO_GET_TAG` | Get Tag | Tool to retrieve a single tag by ID. Use when you need to fetch details for a specific tag after confirming the tag ID. |
| `MOCO_GET_TAGGINGS` | Get Taggings | Tool to retrieve the list of tags associated with an entity. Use when you need to fetch tags for a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User. |
| `MOCO_GET_TAGS` | Get Tags | Tool to retrieve the list of tags from MOCO. Tags are reusable labels for categorizing entities like projects, deals, companies, contacts, invoices, offers, purchases, and users. Use this tool to: - Get all available tags across all entity types - Filter tags by specific entity context (e.g., only Project tags) - Find tags for tagging/categorizing records |
| `MOCO_GET_TASK_TEMPLATE` | Get Task Template | Tool to retrieve a single task template by ID. Use when you need to fetch details for a specific task template after confirming the template ID. |
| `MOCO_GET_UNIT` | Get Unit | Tool to retrieve a single unit/team by ID from MOCO. Use when you need to fetch details for a specific team/organizational unit including its name and assigned staff members. |
| `MOCO_GET_USER` | Get User | Tool to retrieve detailed information for a specific user/staff member by ID. Returns complete user profile including contact info, status, role, unit, tags, and custom properties. Use when you need details about a specific team member after obtaining their ID (e.g., from MOCO_USERS_LIST). |
| `MOCO_GET_USERS_PERFORMANCE_REPORT` | Get User Performance Report | Tool to retrieve a user's performance report comparing tracked hours vs target hours. Returns annual summary and monthly breakdown showing variations between actual tracked hours and expected target hours. Use when you need to analyze work performance, track hour completion, or identify under/over-worked periods. |
| `MOCO_GET_VAT_CODE_PURCHASE` | Get VAT Code Purchase | Tool to retrieve a single VAT code for purchases by ID from MOCO. Use when you need to fetch details about a specific VAT code purchase configuration, including tax rate, reverse charge settings, and intra-EU status. |
| `MOCO_GET_VAT_CODE_PURCHASES` | Get VAT Code Purchases | Tool to retrieve the list of purchase VAT codes. Use when you need to fetch available VAT codes for purchases, check tax rates, or filter by reverse charge or intra-EU status. |
| `MOCO_GET_VAT_CODE_SALE` | Get VAT Code Sale | Tool to retrieve a single VAT code for sales by ID from MOCO. Use when you need to fetch details about a specific VAT code sales configuration, including tax rate, reverse charge settings, intra-EU status, and tax exemption notices. |
| `MOCO_GET_VAT_CODE_SALES` | Get VAT Code Sales | Tool to retrieve the list of sale VAT codes from MOCO. Use when you need VAT/tax code information for sales transactions, including tax rates, active status, and exemption notices. |
| `MOCO_GET_WORK_TIME_ADJUSTMENT` | Get Work Time Adjustment | Tool to retrieve a single work time adjustment by ID. Use when you need to fetch details for a specific work time adjustment after confirming the adjustment ID. |
| `MOCO_INVOICE_CREATE` | Create Invoice | Tool to create a new invoice. Use after gathering complete invoice data (customer, dates, items, etc.). |
| `MOCO_INVOICES_LIST` | List Invoices | Tool to retrieve a list of all invoices. Use when you need an overview of invoices, optionally filtered by status, date range, or client. |
| `MOCO_LIST_ALL_PROJECT_EXPENSES` | List All Project Expenses | Tool to retrieve all project expenses across all projects. Use when you need to analyze expenses company-wide, generate expense reports, or track spending across multiple projects. |
| `MOCO_LIST_ASSIGNED_PROJECTS` | List Assigned Projects | Tool to retrieve all projects assigned to the authenticated user. Use when you need to see which projects the current user is assigned to, optionally filtered by active status. |
| `MOCO_LIST_CATALOG_SERVICES` | List Catalog Services | List all catalog services (Leistungskatalog) from the account. Returns an array of services with nested items including pricing, quantities, and revenue categories. Use when you need to retrieve predefined service templates or catalog offerings. |
| `MOCO_LIST_COMPANIES` | List Companies | Tool to retrieve all companies (customers and suppliers). Use when you need to list companies optionally filtered by type, search term, or archived status. |
| `MOCO_LIST_CUSTOM_PROPERTIES` | List Custom Properties | Tool to retrieve all custom properties from MOCO. Use when you need to get the list of available custom fields configured for different entity types (e.g., Projects, Deals, Companies). |
| `MOCO_LIST_EMPLOYMENTS` | List Employments | Retrieve all user employments from MOCO. Employments define weekly work models (target hours and work patterns) for users. Use to get employment schedules, check user availability, or filter by date range to find active employments during specific periods. |
| `MOCO_LIST_EXPENSE_TEMPLATES` | List Expense Templates | Tool to retrieve all expense templates from MOCO. Use when you need to view available expense templates for creating project expenses or generating invoices. |
| `MOCO_LIST_HOLIDAYS` | List Holidays | Tool to retrieve all user holidays/vacation entries from MOCO. Use when you need to list holiday allocations, check vacation entitlements, or filter holidays by year or user. |
| `MOCO_LIST_HOURLY_RATES` | List Hourly Rates | Tool to retrieve all hourly rates from MOCO. Use when you need to get default rates, task-specific rates, or user-specific rates. Can optionally filter by company to get customer-specific rates. |
| `MOCO_LIST_INVOICE_ATTACHMENTS` | List Invoice Attachments | Tool to retrieve all attachments for an invoice. Use when you need to see files attached to a specific invoice. |
| `MOCO_LIST_OFFER_ATTACHMENTS` | List Offer Attachments | Tool to retrieve all attachments for a specific offer. Use when you need to view or list all files attached to an offer. |
| `MOCO_LIST_PRESENCES` | List Presences | Tool to retrieve all user presences (attendance entries) from MOCO. Use when you need to get work attendance records, track office vs home office days, or filter presence entries by date range or user. |
| `MOCO_LIST_PROJECT_CONTRACTS` | List Project Contracts | Tool to retrieve all contracts (assigned staff) for a project. Use when you need to see which staff members are assigned to a specific project and their billing details. |
| `MOCO_LIST_PROJECT_GROUPS` | List Project Groups | Retrieve all project groups from MOCO. Use when you need to view grouped projects, analyze project portfolios by company or user, or get aggregated budget information across multiple projects. |
| `MOCO_LIST_PROJECT_TASKS` | List Project Tasks | Tool to retrieve all tasks (services) for a project by project ID. Use when you need to see all available tasks within a project for activity tracking, budgeting, or billing purposes. |
| `MOCO_LIST_PURCHASE_CATEGORIES` | List Purchase Categories | Retrieves all purchase categories configured in MOCO with their IDs, names, account codes, and status. Purchase categories are used to classify expenses and purchases in the system (e.g., "Travel expenses", "Office supplies"). Each category includes an associated credit account code for bookkeeping. Use this action to: - Get available category IDs for creating or categorizing purchases - View all expense categories configured in the system - Check which categories are active or inactive |
| `MOCO_LIST_PURCHASE_DRAFTS` | List Purchase Drafts | Tool to retrieve all purchase drafts (German: Ausgaben – Entwürfe). Use when you need to view all draft purchases that have been created but not yet finalized. |
| `MOCO_LIST_PURCHASES` | List Purchases | Tool to retrieve all purchases (supplier invoices). Use when you need an overview of expenses, optionally filtered by status, date range, or supplier. |
| `MOCO_LIST_SCHEDULES` | List Schedules | Tool to retrieve all absences (schedules) from MOCO. Schedules track employee time off including holidays, sick days, and other absences. Use when you need to view team availability, check planned absences, or track vacation days. |
| `MOCO_LIST_TASK_TEMPLATES` | List Task Templates | Tool to retrieve all task templates from MOCO. Use when you need to get available task templates for creating project tasks or understanding task categories. |
| `MOCO_LIST_UNITS` | List Units | Tool to retrieve all units/teams in MOCO. Use when you need to list organizational units/teams or find unit IDs for assignments. |
| `MOCO_LIST_USER_ROLES` | List User Roles | Tool to retrieve all user permission roles in MOCO. Returns role IDs, names, and permission settings for various modules. Use when you need to check available roles for user assignment or review permission configurations. |
| `MOCO_LIST_WORK_TIME_ADJUSTMENTS` | List Work Time Adjustments | Tool to retrieve all user work time adjustments from MOCO. Use when you need to view hours added or subtracted from users' work time balances (e.g., overtime compensation, vacation corrections). |
| `MOCO_OFFER_GET` | Get Offer | Tool to retrieve a single offer by ID. Use when you have an offer ID and need detailed offer information. Use after confirming the offer ID. |
| `MOCO_OFFERS_LIST` | List Offers | Tool to retrieve a list of all offers. Use when you need an overview of offers filtered by status, date range, or identifiers. |
| `MOCO_PATCH_TAGGINGS` | Patch Taggings | Tool to partially update taggings by adding new tags to an entity without removing existing tags. Use when you need to append tags to a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User while preserving existing tags. |
| `MOCO_PLANNING_ENTRIES_LIST` | List Planning Entries | Tool to retrieve a list of all planning entries. Use when you need an overview of planned hours filtered by period, user, or project. |
| `MOCO_PLANNING_ENTRY_CREATE` | Create Planning Entry | Tool to create a new planning entry. Use when you need to allocate working hours to a project or deal. |
| `MOCO_PLANNING_ENTRY_GET` | Get Planning Entry | Tool to retrieve a single planning entry by ID. Use when you need detailed information for a specific planning entry after confirming its ID. |
| `MOCO_PROJECT_CREATE` | Create Project | Tool to create a new project in MOCO. Use when you need to provision a project with validated parameters. |
| `MOCO_PROJECT_GET` | Get Project | Retrieves comprehensive details for a specific project by its ID. Returns complete project information including budget, billing details, dates, assigned tasks, team members, and customer information. Use this action when you need detailed information about a specific project after obtaining its ID (e.g., from MOCO_PROJECTS_LIST). |
| `MOCO_PROJECTS_LIST` | List Projects | Tool to retrieve a list of all projects. Use when you need an overview of projects optionally filtered by company, leader, date range, or tags after confirming criteria. |
| `MOCO_PROJECT_UPDATE` | Update Project | Tool to update an existing project. Use when you need to modify project details after confirming the project ID. |
| `MOCO_PURCHASE_CREATE` | Create Purchase | Tool to create a new purchase. Use when you need to log an expense record after gathering date, items, and payment info. |
| `MOCO_SEND_INVOICE_EMAIL` | Send Invoice by Email | Tool to send an invoice by email. Use when you need to email an invoice to a customer with custom subject and message. |
| `MOCO_SEND_INVOICE_REMINDER_EMAIL` | Send Invoice Reminder Email | Tool to send an invoice reminder by email. Use when you need to email a payment reminder to a customer for an overdue invoice. |
| `MOCO_SEND_OFFER_EMAIL` | Send Offer Email | Tool to send an offer by email to specified recipients. Use when you need to email an offer to clients or contacts with custom subject and message. |
| `MOCO_SHARE_PROJECT` | Share Project | Tool to activate project report sharing and get a shareable URL. Use when you need to enable public access to a project's report. |
| `MOCO_START_TIMER` | Start Activity Timer | Tool to start or continue a timer on an activity. Use when you need to track time on a specific activity in real-time. The activity must be from the current day, and only one timer can be running at a time per user. |
| `MOCO_STOP_ACTIVITY_TIMER` | Stop Activity Timer | Tool to stop a timer running on an activity. Use when you need to end time tracking for a currently running activity timer. |
| `MOCO_UNASSIGN_PROJECT_GROUP` | Unassign Project from Project Group | Tool to unassign a project from its project group. Use when you need to remove a project's association with its current project group. |
| `MOCO_UPDATE_ACCOUNT_CATALOG_SERVICE` | Update Account Catalog Service | Tool to update a catalog service. Use when you need to modify the title of an existing catalog service entry. Note: Items cannot be updated via this endpoint; use separate item endpoints. |
| `MOCO_UPDATE_ACCOUNT_CATALOG_SERVICES_ITEMS` | Update Catalog Service Item | Tool to update an existing item within a catalog service in MOCO. Use when you need to modify details of a catalog service item such as title, quantity, or pricing. |
| `MOCO_UPDATE_ACCOUNT_CUSTOM_PROPERTIES` | Update Account Custom Properties | Tool to update a custom property in MOCO. Use when you need to modify name, placeholder, print settings, or notification options for an existing custom property. Note: kind and entity fields cannot be changed. |
| `MOCO_UPDATE_ACCOUNT_EXPENSE_TEMPLATES` | Update Expense Template | Tool to update an existing expense template in MOCO. Use when you need to modify pricing, description, or other details of a reusable expense item. |
| `MOCO_UPDATE_ACCOUNT_INTERNAL_HOURLY_RATES` | Update Account Internal Hourly Rates | Tool to update internal hourly rates for one or more users for a specific year. Use when you need to set or modify staff cost rates for budgeting and financial planning purposes. |
| `MOCO_UPDATE_COMMENT` | Update Comment | Tool to update an existing comment on a MOCO resource. Use when you need to modify the text or attachment of a manually created comment. |
| `MOCO_UPDATE_COMPANY` | Update Company | Tool to update an existing company. Use when you need to modify one or more fields of a company after retrieving its details. |
| `MOCO_UPDATE_CONTACTS_PEOPLE` | Update Contact Person | Tool to update an existing contact person in MOCO. Use when you need to modify one or more fields of a contact after retrieving its details. |
| `MOCO_UPDATE_DEAL_CATEGORY` | Update Deal Category | Tool to update an existing deal category in MOCO. Use when you need to modify the name or probability of a deal category. |
| `MOCO_UPDATE_HOLIDAY` | Update Holiday | Tool to update an existing holiday entry in MOCO. Use this to modify annual leave days, vacation allowances, or other holiday entitlements for specific users and years. |
| `MOCO_UPDATE_INVOICE_STATUS` | Update Invoice Status | Tool to update an invoice status. Use when you need to change the status of an existing invoice. Only works for actual invoices, not invoice drafts. |
| `MOCO_UPDATE_OFFER_STATUS` | Update Offer Status | Tool to update the status of an offer. Use when you need to change an offer's status (e.g., from created to sent, or sent to accepted). |
| `MOCO_UPDATE_PLANNING_ENTRY` | Update Planning Entry | Tool to update an existing planning entry. Use when you need to modify hours, dates, or other details of a planning allocation after confirming the entry exists. |
| `MOCO_UPDATE_PRESENCE` | Update Presence | Tool to update a presence entry (work time tracking) in MOCO. Use when you need to modify existing work hours, dates, or home office status for a specific presence record. |
| `MOCO_UPDATE_PROJECTS_ARCHIVE` | Archive Project | Tool to archive a project in MOCO. Use when you need to archive a project without deleting it. |
| `MOCO_UPDATE_PROJECTS_CONTRACTS` | Update Project Contract | Tool to update a staff assignment to a project. Use when you need to modify budget, hourly rate, or active/billable status of an existing assignment. |
| `MOCO_UPDATE_PROJECTS_EXPENSES` | Update Project Expense | Tool to update an additional services entry (expense) on a project. Use when you need to modify existing project expenses like hosting costs or external services. Updates are only possible for expenses that have not yet been billed. |
| `MOCO_UPDATE_PROJECTS_PAYMENT_SCHEDULES` | Update Project Payment Schedule | Tool to update a payment schedule entry for a project. Use when you need to modify an existing scheduled payment milestone for a project. |
| `MOCO_UPDATE_PROJECTS_RECURRING_EXPENSES` | Update Project Recurring Expense | Tool to update a recurring additional services entry on a project. Use when you need to modify details of an existing recurring expense after confirming both the project ID and recurring expense ID. Note: start_date and period cannot be modified after creation. |
| `MOCO_UPDATE_PROJECTS_TASKS` | Update Project Task | Tool to update an existing task on a project in MOCO. Use when you need to modify task details such as budget, hourly rate, billability, or description after the task has been created. |
| `MOCO_UPDATE_PROJECTS_UNARCHIVE` | Unarchive Project | Tool to reactivate an archived project. Use when you need to restore a previously archived project to active status. |
| `MOCO_UPDATE_PURCHASE` | Update Purchase | Tool to update an existing purchase. Use when you need to modify purchase details after confirming the purchase ID. |
| `MOCO_UPDATE_PURCHASES_STORE_DOCUMENT` | Update Purchase Document | Tool to update or store a purchase document. Use when you need to attach a document file to an existing purchase or replace an existing document. The file is uploaded using multipart/form-data format. |
| `MOCO_UPDATE_PURCHASE_STATUS` | Update Purchase Status | Tool to update the status of a purchase. Use when you need to change a purchase status between pending and archived. |
| `MOCO_UPDATE_RECEIPT` | Update Receipt | Tool to update an existing receipt. Use when you need to modify receipt details such as title, currency, or line items after confirming the receipt exists. |
| `MOCO_UPDATE_SCHEDULE` | Update Schedule | Tool to update a planning entry (absence/schedule). Use when you need to modify existing absences such as holidays, sick days, or other time off. |
| `MOCO_UPDATE_TAG` | Update Tag | Tool to update an existing tag in MOCO. Use when you need to change a tag's name or color. |
| `MOCO_UPDATE_TAGGINGS` | Update Taggings | Tool to replace all tags associated with an entity. Use when you need to set the complete tag list for a Company, Contact, Project, Deal, Purchase, Invoice, Offer, or User. This operation replaces all existing tags with the provided list. |
| `MOCO_UPDATE_TASK_TEMPLATE` | Update Task Template | Tool to update an existing task template in MOCO. Use when you need to modify the properties of an existing task template. |
| `MOCO_UPDATE_UNIT` | Update Unit | Tool to update an existing unit/team. Use when you need to modify unit details after confirming the unit ID. |
| `MOCO_UPDATE_USER` | Update User | Tool to update an existing staff member/user in MOCO. Use when you need to modify user information such as contact details, role, status, or team assignment. Note that a related employment must be terminated separately through the employment endpoint. |
| `MOCO_UPDATE_USERS_EMPLOYMENTS` | Update User Employment | Tool to update a user employment record. Use when you need to modify work hours patterns, employment dates, or user assignment for an existing employment. |
| `MOCO_UPDATE_USERS_WORK_TIME_ADJUSTMENTS` | Update Work Time Adjustment | Tool to update an existing work time adjustment in MOCO. Use when you need to modify details of a previously created work time adjustment (e.g., changing hours, description, or date). |
| `MOCO_USERS_LIST` | List Users | List all users in MOCO with optional filters. Returns user IDs, names, contact info, tags, and status. Useful for getting user/staff IDs for assignments, finding team members by tags, or checking user availability. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Moco Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Moco actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List all activities tracked this week by project.'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List all activities tracked this week by project.'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and Claude Agent SDK
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Create Tool Router Session

Initialize the Composio client and create a Tool Router session
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Moco tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('List activities for project ID 1234 this week')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'List activities for project ID 1234 this week' }],
  stopWhen: stepCountIs( 5 )
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Moco Integration

- Supports both Moco MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Moco data

### 2. Managed Auth

- Built-in API key management for seamless Moco authorization
- Central place to manage, scope, and revoke Moco access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Moco
- Scoped, least privilege access to Moco resources
- Full audit trail of agent actions to support review and compliance

## Use Moco with any AI Agent Framework

Choose a framework you want to connect Moco with:

- [ChatGPT](https://composio.dev/toolkits/moco/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/moco/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/moco/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/moco/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/moco/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/moco/framework/codex)
- [Cursor](https://composio.dev/toolkits/moco/framework/cursor)
- [VS Code](https://composio.dev/toolkits/moco/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/moco/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/moco/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/moco/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/moco/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/moco/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/moco/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/moco/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/moco/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/moco/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/moco/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/moco/framework/autogen)

## Related Toolkits

- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Asana](https://composio.dev/toolkits/asana) - Asana is a collaborative work management platform for teams to organize and track projects. It streamlines teamwork, boosts productivity, and keeps everyone aligned on goals.
- [Google Tasks](https://composio.dev/toolkits/googletasks) - Google Tasks is a to-do list and task management tool integrated into Gmail and Google Calendar. It helps you organize, track, and complete tasks across your Google ecosystem.
- [Linear](https://composio.dev/toolkits/linear) - Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.
- [Jira](https://composio.dev/toolkits/jira) - Jira is Atlassian’s platform for bug tracking, issue tracking, and agile project management. It helps teams organize work, prioritize tasks, and deliver projects efficiently.
- [Clickup](https://composio.dev/toolkits/clickup) - ClickUp is an all-in-one productivity platform for managing tasks, docs, goals, and team collaboration. It streamlines project workflows so teams can work smarter and stay organized in one place.
- [Monday](https://composio.dev/toolkits/monday) - Monday.com is a customizable work management platform for project planning and collaboration. It helps teams organize tasks, automate workflows, and track progress in real time.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agiled](https://composio.dev/toolkits/agiled) - Agiled is an all-in-one business management platform for CRM, projects, and finance. It helps you streamline workflows, consolidate client data, and manage business processes in one place.
- [Ascora](https://composio.dev/toolkits/ascora) - Ascora is a cloud-based field service management platform for service businesses. It streamlines scheduling, invoicing, and customer operations in one place.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Beeminder](https://composio.dev/toolkits/beeminder) - Beeminder is an online goal-tracking platform that uses monetary pledges to keep you motivated. Stay accountable and hit your targets with real financial incentives.
- [Boxhero](https://composio.dev/toolkits/boxhero) - Boxhero is a cloud-based inventory management platform for SMBs, offering real-time updates, barcode scanning, and team collaboration. It helps businesses streamline stock tracking and analytics for smarter inventory decisions.
- [Breathe HR](https://composio.dev/toolkits/breathehr) - Breathe HR is cloud-based HR software for SMEs to manage employee data, absences, and performance. It simplifies HR admin, making it easy to keep employee records accurate and up to date.
- [Breeze](https://composio.dev/toolkits/breeze) - Breeze is a project management platform designed to help teams plan, track, and collaborate on projects. It streamlines workflows and keeps everyone on the same page.
- [Bugherd](https://composio.dev/toolkits/bugherd) - Bugherd is a visual feedback and bug tracking tool for websites. It helps teams and clients report website issues directly on live sites for faster fixes.
- [Canny](https://composio.dev/toolkits/canny) - Canny is a platform for managing customer feedback and feature requests. It helps teams prioritize product decisions based on real user insights.
- [Chmeetings](https://composio.dev/toolkits/chmeetings) - Chmeetings is a church management platform for events, members, donations, and volunteers. It streamlines church operations and improves community engagement.

## Frequently Asked Questions

### Do I need my own developer credentials to use Moco with Composio?

Yes, Moco requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
