How to integrate Moco MCP with CrewAI

This guide walks you through connecting Moco to CrewAI using the Composio tool router. By the end, you'll have a working Moco agent that can list activities tracked for this week, create a new company called greentech, get details for deal with id 456 through natural language commands. This guide will help you understand how to give your CrewAI agent real control over a Moco account through Composio's Moco MCP server. Before we dive in, let's take a quick look at the key ideas and tools involved.

Moco logoMoco
Api Key

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.

218 Tools

Introduction

This guide walks you through connecting Moco to CrewAI using the Composio tool router. By the end, you'll have a working Moco agent that can list activities tracked for this week, create a new company called greentech, get details for deal with id 456 through natural language commands.

This guide will help you understand how to give your CrewAI agent real control over a Moco account through Composio's Moco MCP server.

Before we dive in, let's take a quick look at the key ideas and tools involved.

Also integrate Moco with

TL;DR

Here's what you'll learn:
  • Get a Composio API key and configure your Moco connection
  • Set up CrewAI with an MCP enabled agent
  • Create a Tool Router session or standalone MCP server for Moco
  • Build a conversational loop where your agent can execute Moco operations

What is CrewAI?

CrewAI is a powerful framework for building multi-agent AI systems. It provides primitives for defining agents with specific roles, creating tasks, and orchestrating workflows through crews.

Key features include:

  • Agent Roles: Define specialized agents with specific goals and backstories
  • Task Management: Create tasks with clear descriptions and expected outputs
  • Crew Orchestration: Combine agents and tasks into collaborative workflows
  • MCP Integration: Connect to external tools through Model Context Protocol

What is the Moco MCP server, and what's possible with it?

The Moco MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Moco account. It provides structured and secure access to your business and project management data, so your agent can manage time tracking, handle deals, organize contacts, and update project activities on your behalf.

  • Automated time tracking and activity management: Let your agent list, retrieve, and update time entries, so tracking billable hours and project work is effortless.
  • Deal and pipeline automation: Ask your agent to fetch deal details, delete obsolete deals, or reference available deal categories to keep your sales pipeline up to date.
  • Comprehensive contact and company organization: Have your agent list contacts, add new companies, or delete companies as your business relationships evolve.
  • Comment retrieval for collaboration: Retrieve and review comments on various resources, helping your team stay in sync and informed.
  • Flexible project and resource control: Use your agent to access and manage project-related information, so you can stay organized without manual data entry.

What is the Composio tool router, and how does it fit here?

What is Composio SDK?

Composio's Composio SDK helps agents find the right tools for a task at runtime. You can plug in multiple toolkits (like Gmail, HubSpot, and GitHub), and the agent will identify the relevant app and action to complete multi-step workflows. This can reduce token usage and improve the reliability of tool calls. Read more here: Getting started with Composio SDK

The tool router generates a secure MCP URL that your agents can access to perform actions.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step08 STEPS
1

Prerequisites

Before starting, make sure you have:
  • Python 3.9 or higher
  • A Composio account and API key
  • A Moco connection authorized in Composio
  • An OpenAI API key for the CrewAI LLM
  • Basic familiarity with Python
2

Getting API Keys for OpenAI and Composio

OpenAI API Key
  • Go to the OpenAI dashboard and create an API key. You'll need credits to use the models, or you can connect to another model provider.
  • Keep the API key safe.
Composio API Key
  • Log in to the Composio dashboard.
  • Navigate to your API settings and generate a new API key.
  • Store this key securely as you'll need it for authentication.
3

Install dependencies

bash
pip install composio crewai crewai-tools[mcp] python-dotenv
What's happening:
  • composio connects your agent to Moco via MCP
  • crewai provides Agent, Task, Crew, and LLM primitives
  • crewai-tools[mcp] includes MCP helpers
  • python-dotenv loads environment variables from .env
4

Set up environment variables

bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
OPENAI_API_KEY=your_openai_api_key_here

Create a .env file in your project root.

What's happening:

  • COMPOSIO_API_KEY authenticates with Composio
  • USER_ID scopes the session to your account
  • OPENAI_API_KEY lets CrewAI use your chosen OpenAI model
5

Import dependencies

python
import os
from composio import Composio
from crewai import Agent, Task, Crew
from crewai_tools import MCPServerAdapter
import dotenv

dotenv.load_dotenv()

COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
COMPOSIO_USER_ID = os.getenv("COMPOSIO_USER_ID")

if not COMPOSIO_API_KEY:
    raise ValueError("COMPOSIO_API_KEY is not set")
if not COMPOSIO_USER_ID:
    raise ValueError("COMPOSIO_USER_ID is not set")
What's happening:
  • CrewAI classes define agents and tasks, and run the workflow
  • MCPServerHTTP connects the agent to an MCP endpoint
  • Composio will give you a short lived Moco MCP URL
6

Create a Composio Tool Router session for Moco

python
composio_client = Composio(api_key=COMPOSIO_API_KEY)
session = composio_client.create(user_id=COMPOSIO_USER_ID, toolkits=["moco"])

url = session.mcp.url
What's happening:
  • You create a Moco only session through Composio
  • Composio returns an MCP HTTP URL that exposes Moco tools
7

Initialize the MCP Server

python
server_params = {
    "url": url,
    "transport": "streamable-http",
    "headers": {"x-api-key": COMPOSIO_API_KEY},
}

with MCPServerAdapter(server_params) as tools:
    agent = Agent(
        role="Search Assistant",
        goal="Help users search the internet effectively",
        backstory="You are a helpful assistant with access to search tools.",
        tools=tools,
        verbose=False,
        max_iter=10,
    )
What's Happening:
  • Server Configuration: The code sets up connection parameters including the MCP server URL, streamable HTTP transport, and Composio API key authentication.
  • MCP Adapter Bridge: MCPServerAdapter acts as a context manager that converts Composio MCP tools into a CrewAI-compatible format.
  • Agent Setup: Creates a CrewAI Agent with a defined role (Search Assistant), goal (help with internet searches), and access to the MCP tools.
  • Configuration Options: The agent includes settings like verbose=False for clean output and max_iter=10 to prevent infinite loops.
  • Dynamic Tool Usage: Once created, the agent automatically accesses all Composio Search tools and decides when to use them based on user queries.
8

Create a CLI Chatloop and define the Crew

python
print("Chat started! Type 'exit' or 'quit' to end.\n")

conversation_context = ""

while True:
    user_input = input("You: ").strip()

    if user_input.lower() in ["exit", "quit", "bye"]:
        print("\nGoodbye!")
        break

    if not user_input:
        continue

    conversation_context += f"\nUser: {user_input}\n"
    print("\nAgent is thinking...\n")

    task = Task(
        description=(
            f"Conversation history:\n{conversation_context}\n\n"
            f"Current request: {user_input}"
        ),
        expected_output="A helpful response addressing the user's request",
        agent=agent,
    )

    crew = Crew(agents=[agent], tasks=[task], verbose=False)
    result = crew.kickoff()
    response = str(result)

    conversation_context += f"Agent: {response}\n"
    print(f"Agent: {response}\n")
What's Happening:
  • Interactive CLI Setup: The code creates an infinite loop that continuously prompts for user input and maintains the entire conversation history in a string variable.
  • Input Validation: Empty inputs are ignored to prevent processing blank messages and keep the conversation clean.
  • Context Building: Each user message is appended to the conversation context, which preserves the full dialogue history for better agent responses.
  • Dynamic Task Creation: For every user input, a new Task is created that includes both the full conversation history and the current request as context.
  • Crew Execution: A Crew is instantiated with the agent and task, then kicked off to process the request and generate a response.
  • Response Management: The agent's response is converted to a string, added to the conversation context, and displayed to the user, maintaining conversational continuity.

Complete Code

Here's the complete code to get you started with Moco and CrewAI:

python
from crewai import Agent, Task, Crew, LLM
from crewai_tools import MCPServerAdapter
from composio import Composio
from dotenv import load_dotenv
import os

load_dotenv()

GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
COMPOSIO_API_KEY = os.getenv("COMPOSIO_API_KEY")
COMPOSIO_USER_ID = os.getenv("COMPOSIO_USER_ID")

if not GOOGLE_API_KEY:
    raise ValueError("GOOGLE_API_KEY is not set in the environment.")
if not COMPOSIO_API_KEY:
    raise ValueError("COMPOSIO_API_KEY is not set in the environment.")
if not COMPOSIO_USER_ID:
    raise ValueError("COMPOSIO_USER_ID is not set in the environment.")

# Initialize Composio and create a session
composio = Composio(api_key=COMPOSIO_API_KEY)
session = composio.create(
    user_id=COMPOSIO_USER_ID,
    toolkits=["moco"],
)
url = session.mcp.url

# Configure LLM
llm = LLM(
    model="gpt-5",
    api_key=os.getenv("OPENAI_API_KEY"),
)

server_params = {
    "url": url,
    "transport": "streamable-http",
    "headers": {"x-api-key": COMPOSIO_API_KEY},
}

with MCPServerAdapter(server_params) as tools:
    agent = Agent(
        role="Search Assistant",
        goal="Help users with internet searches",
        backstory="You are an expert assistant with access to Composio Search tools.",
        tools=tools,
        llm=llm,
        verbose=False,
        max_iter=10,
    )

    print("Chat started! Type 'exit' or 'quit' to end.\n")

    conversation_context = ""

    while True:
        user_input = input("You: ").strip()

        if user_input.lower() in ["exit", "quit", "bye"]:
            print("\nGoodbye!")
            break

        if not user_input:
            continue

        conversation_context += f"\nUser: {user_input}\n"
        print("\nAgent is thinking...\n")

        task = Task(
            description=(
                f"Conversation history:\n{conversation_context}\n\n"
                f"Current request: {user_input}"
            ),
            expected_output="A helpful response addressing the user's request",
            agent=agent,
        )

        crew = Crew(agents=[agent], tasks=[task], verbose=False)
        result = crew.kickoff()
        response = str(result)

        conversation_context += f"Agent: {response}\n"
        print(f"Agent: {response}\n")

Conclusion

You now have a CrewAI agent connected to Moco through Composio's Tool Router. The agent can perform Moco operations through natural language commands.

Next steps:

  • Add role-specific instructions to customize agent behavior
  • Plug in more toolkits for multi-app workflows
  • Chain tasks for complex multi-step operations
TOOLS

Supported Tools

Every Moco action and event your agent gets out of the box.

Activate Offer Customer Approval

Tool to activate customer approval on an offer to generate the offer_document_url.

List Activities

Retrieves a list of activities (time entries) from MOCO.

Get Activity

Tool to retrieve a single activity by ID.

Update Activity

Tool to update an existing activity.

Assign Offer

Tool to assign an offer to a project, company, or deal.

Assign Purchase to Project

Tool to assign a purchase item to a project by creating or linking to an expense.

List comments

Tool to retrieve a list of comments.

Create Company

Creates a new company in MOCO (customer, supplier, or organization).

Delete a company

Tool to delete a company.

List Contacts

Tool to retrieve a list of contacts.

Create Account Catalog Service

Tool to create a catalog service including its items.

Create Catalog Service Item

Tool to create a new item within a catalog service in MOCO.

Create Account Custom Property

Tool to create a new custom property in MOCO.

Create Activities Bulk

Tool to bulk create multiple activities (time entries) at once in MOCO.

Create Activity

Tool to create a new activity (time tracking entry) in MOCO.

Create Comment

Tool to create a new comment on a MOCO resource.

Create Comments Bulk

Tool to create multiple comments in bulk for MOCO objects.

Create Contact

Tool to create a new contact person in MOCO.

Create Deal

Tool to create a new deal in MOCO.

Create Deal Category

Creates a new deal category in MOCO with a name and probability percentage.

Create Employment

Create a new employment (weekly work model) for a user in MOCO.

Create Expense Template

Tool to create a new expense template in MOCO.

Create Holiday

Create a new holiday entry for a user in MOCO.

Add Invoice Attachment

Tool to add a PDF attachment to an existing invoice.

Create Invoice Bookkeeping Export

Tool to create a new invoice bookkeeping export.

Create Invoice Payment

Tool to create a new invoice payment.

Create Invoice Reminder

Tool to create a new invoice reminder for an existing invoice.

Create Invoice Payments Bulk

Tool to create multiple invoice payments in bulk.

Create Offer

Tool to create a new offer/proposal.

Create Offer Attachment

Tool to upload an attachment to an offer.

Create Project Contract

Tool to create a new contract (assign staff) for a project in MOCO.

Create Project Expense

Tool to create an additional service entry (expense) on a project.

Create Project Expenses Bulk

Tool to create multiple project expense entries in bulk.

Create Project Payment Schedule

Tool to create a payment schedule entry for a project.

Create Recurring Expense on Project

Tool to create a recurring additional services entry on a project in MOCO.

Trigger Recurring Expense

Tool to manually trigger the creation of an expense entry for an active recurring expense ahead of its automatic schedule.

Create Project Task

Tool to create a new task (service) for a project in MOCO.

Create Purchase Bookkeeping Export

Tool to create a new purchase bookkeeping export.

Create Purchase Payment

Tool to create a new purchase payment.

Create Purchase Payments Bulk

Tool to create multiple purchase payments in bulk.

Create Receipt

Tool to create a new receipt.

Create Schedule

Tool to create a planning entry (absence/schedule).

Create Tag

Tool to create a new tag in MOCO.

Create Task Template

Tool to create a new task template in MOCO.

Create Unit

Tool to create a new unit/team in MOCO.

Create User

Tool to create a new staff member/user in MOCO.

Create Users Presences

Tool to create a presence entry (work time tracking) in MOCO.

Toggle User Presence

Tool to toggle user presence (clock in/out) in MOCO.

Create Work Time Adjustment

Tool to create a new work time adjustment in MOCO.

Deactivate Offer Customer Approval

Tool to deactivate a customer approval on an offer to prevent access and signing.

List Deal Categories

Retrieves all deal categories configured in MOCO with their IDs, names, probabilities, and timestamps.

Delete Deal

Tool to delete a deal.

Get Deal

Retrieves detailed information for a specific deal/lead by its ID from MOCO.

List Deals

Tool to retrieve a list of all deals (leads).

Update Deal

Tool to update an existing deal.

Delete Catalog Service

Tool to delete a catalog service.

Delete Account Custom Property

Tool to delete a custom property in MOCO.

Delete Expense Template

Tool to delete an expense template.

Delete Catalog Service Item

Tool to delete an item from a catalog service.

Delete Comment

Tool to delete a manually created comment.

Delete Contact Person

Tool to delete a contact person in MOCO.

Delete Deal Category

Tool to delete a deal category.

Delete Invoice

Tool to delete a single invoice.

Delete Invoice Payment

Tool to delete an invoice payment.

Delete Offers Attachments

Tool to remove an attachment from an offer.

Delete Presence

Tool to delete a presence entry.

Delete Project

Tool to delete a project.

Delete Project Staff Assignment

Tool to delete a staff assignment (contract) from a project.

Delete Project Expense

Tool to delete an additional services entry on a project.

Delete Project Payment Schedule

Tool to delete a payment schedule from a project.

Delete Project Recurring Expense

Tool to delete a recurring expense from a project.

Delete Project Task

Tool to delete a specific task from a project.

Delete All Project Tasks

Tool to bulk delete all deletable tasks on a project.

Delete Purchase

Tool to delete a purchase.

Delete Purchase Payment

Tool to delete a purchase payment.

Delete Schedule

Tool to delete a schedule entry (absence).

Delete Tag

Tool to delete a tag in MOCO.

Delete Taggings

Tool to selectively remove tags from an entity.

Delete User

Tool to delete a user from MOCO.

Delete Employment

Tool to delete an employment (weekly work model) for a user.

Disable Project Share

Tool to deactivate project report sharing.

Mark Project Expenses as Billed

Tool to mark project expense entries as already billed.

Get Catalog Service Item

Tool to retrieve a specific item within a catalog service in MOCO.

Get Account Fixed Costs

Tool to retrieve all fixed costs from the account.

Get Cashflow Report

Tool to retrieve the cashflow report from MOCO.

Get Comment

Tool to retrieve a single comment by ID.

Get Company

Tool to retrieve a single company by ID from MOCO.

Get Contact

Tool to retrieve detailed information for a specific contact person by ID from MOCO.

Get Custom Property

Tool to retrieve a single custom property by ID from MOCO.

Get Deal Category

Tool to retrieve a single deal category by ID.

Get Employment

Tool to retrieve a single employment (weekly work model) by ID.

Get Holiday

Tool to retrieve a single holiday entry by ID.

Get Internal Hourly Rates

Tool to retrieve all internal hourly rates from the account.

Get Invoice

Tool to retrieve a single invoice by ID with full details including items, payments, and reminders.

Get Invoice Bookkeeping Export

Tool to retrieve a single invoice bookkeeping export by ID.

Get Invoice Payment

Tool to retrieve a single invoice payment by ID.

Get Invoice Reminder

Tool to retrieve a single invoice reminder by ID.

Get Invoice Reminders

Tool to retrieve all invoice reminders.

Get Invoice Bookkeeping Exports

Tool to retrieve all invoice bookkeeping exports.

Get Invoice Expenses

Tool to retrieve all expenses that were invoiced in a particular invoice.

Get Locked Invoices

Tool to retrieve all locked invoices.

Get Invoice Payments

Tool to retrieve all invoice payments.

Get Invoice Timesheet

Tool to retrieve a time sheet for a particular invoice, i.

Get Offer Customer Approval

Tool to retrieve customer approval status and URL for an offer.

Get Offer PDF

Tool to retrieve a single offer document as PDF.

Get Presence

Tool to retrieve a single presence entry by ID.

Get Profile

Tool to retrieve the current authenticated user's profile.

Get Project Contract

Tool to retrieve a single staff assignment (contract) on a project.

Get Single Project Expense

Tool to retrieve a single additional service (expense) for a project.

Get Project Payment Schedules By ID

Tool to retrieve all payment schedules for a specific project by its ID.

Get Project Report

Tool to retrieve a project report with budget, hours, costs, and business indicators.

Get Project Expenses

Tool to retrieve all additional services (expenses) for a project.

Get Projects Payment Schedules

Tool to retrieve all payment schedules for fixed price projects.

Get Project Payment Schedule

Tool to retrieve a single payment schedule entry for a project by its ID.

Get Project Recurring Expenses

Tool to retrieve all recurring expenses for a specific project.

Get Project Task

Tool to retrieve a single task on a project by project ID and task ID.

Get Purchase

Tool to retrieve a single purchase by ID.

Get Purchase Bookkeeping Export

Tool to retrieve a single purchase bookkeeping export by ID.

Get Purchase Payment

Tool to retrieve a single purchase payment by ID.

Get Purchase Bookkeeping Exports

Tool to retrieve all purchase bookkeeping exports.

Get Purchase Budgets

Tool to retrieve purchase budgets for a given fiscal year.

Get Purchase Payments

Tool to retrieve all purchase payments.

Get Receipt

Tool to retrieve a single receipt by ID from MOCO.

Get Receipts

Retrieves a list of receipts (expense receipts) from MOCO.

Get All Recurring Expenses

Tool to retrieve all recurring additional services entries across all projects in MOCO.

Get Report Absences

Tool to retrieve absence report showing employee absences by type and date range.

Get Finance Report

Tool to retrieve the finance report from MOCO.

Get Utilization Report

Tool to retrieve the utilization report from MOCO.

Get Schedule

Tool to retrieve a single planning entry (schedule) by ID.

Get Tag

Tool to retrieve a single tag by ID.

Get Taggings

Tool to retrieve the list of tags associated with an entity.

Get Tags

Tool to retrieve the list of tags from MOCO.

Get Task Template

Tool to retrieve a single task template by ID.

Get Unit

Tool to retrieve a single unit/team by ID from MOCO.

Get User

Tool to retrieve detailed information for a specific user/staff member by ID.

Get User Performance Report

Tool to retrieve a user's performance report comparing tracked hours vs target hours.

Get VAT Code Purchase

Tool to retrieve a single VAT code for purchases by ID from MOCO.

Get VAT Code Purchases

Tool to retrieve the list of purchase VAT codes.

Get VAT Code Sale

Tool to retrieve a single VAT code for sales by ID from MOCO.

Get VAT Code Sales

Tool to retrieve the list of sale VAT codes from MOCO.

Get Work Time Adjustment

Tool to retrieve a single work time adjustment by ID.

Create Invoice

Tool to create a new invoice.

List Invoices

Tool to retrieve a list of all invoices.

List All Project Expenses

Tool to retrieve all project expenses across all projects.

List Assigned Projects

Tool to retrieve all projects assigned to the authenticated user.

List Catalog Services

List all catalog services (Leistungskatalog) from the account.

List Companies

Tool to retrieve all companies (customers and suppliers).

List Custom Properties

Tool to retrieve all custom properties from MOCO.

List Employments

Retrieve all user employments from MOCO.

List Expense Templates

Tool to retrieve all expense templates from MOCO.

List Holidays

Tool to retrieve all user holidays/vacation entries from MOCO.

List Hourly Rates

Tool to retrieve all hourly rates from MOCO.

List Invoice Attachments

Tool to retrieve all attachments for an invoice.

List Offer Attachments

Tool to retrieve all attachments for a specific offer.

List Presences

Tool to retrieve all user presences (attendance entries) from MOCO.

List Project Contracts

Tool to retrieve all contracts (assigned staff) for a project.

List Project Groups

Retrieve all project groups from MOCO.

List Project Tasks

Tool to retrieve all tasks (services) for a project by project ID.

List Purchase Categories

Retrieves all purchase categories configured in MOCO with their IDs, names, account codes, and status.

List Purchase Drafts

Tool to retrieve all purchase drafts (German: Ausgaben – Entwürfe).

List Purchases

Tool to retrieve all purchases (supplier invoices).

List Schedules

Tool to retrieve all absences (schedules) from MOCO.

List Task Templates

Tool to retrieve all task templates from MOCO.

List Units

Tool to retrieve all units/teams in MOCO.

List User Roles

Tool to retrieve all user permission roles in MOCO.

List Work Time Adjustments

Tool to retrieve all user work time adjustments from MOCO.

Get Offer

Tool to retrieve a single offer by ID.

List Offers

Tool to retrieve a list of all offers.

Patch Taggings

Tool to partially update taggings by adding new tags to an entity without removing existing tags.

List Planning Entries

Tool to retrieve a list of all planning entries.

Create Planning Entry

Tool to create a new planning entry.

Get Planning Entry

Tool to retrieve a single planning entry by ID.

Create Project

Tool to create a new project in MOCO.

Get Project

Retrieves comprehensive details for a specific project by its ID.

List Projects

Tool to retrieve a list of all projects.

Update Project

Tool to update an existing project.

Create Purchase

Tool to create a new purchase.

Send Invoice by Email

Tool to send an invoice by email.

Send Invoice Reminder Email

Tool to send an invoice reminder by email.

Send Offer Email

Tool to send an offer by email to specified recipients.

Share Project

Tool to activate project report sharing and get a shareable URL.

Start Activity Timer

Tool to start or continue a timer on an activity.

Stop Activity Timer

Tool to stop a timer running on an activity.

Unassign Project from Project Group

Tool to unassign a project from its project group.

Update Account Catalog Service

Tool to update a catalog service.

Update Catalog Service Item

Tool to update an existing item within a catalog service in MOCO.

Update Account Custom Properties

Tool to update a custom property in MOCO.

Update Expense Template

Tool to update an existing expense template in MOCO.

Update Account Internal Hourly Rates

Tool to update internal hourly rates for one or more users for a specific year.

Update Comment

Tool to update an existing comment on a MOCO resource.

Update Company

Tool to update an existing company.

Update Contact Person

Tool to update an existing contact person in MOCO.

Update Deal Category

Tool to update an existing deal category in MOCO.

Update Holiday

Tool to update an existing holiday entry in MOCO.

Update Invoice Status

Tool to update an invoice status.

Update Offer Status

Tool to update the status of an offer.

Update Planning Entry

Tool to update an existing planning entry.

Update Presence

Tool to update a presence entry (work time tracking) in MOCO.

Archive Project

Tool to archive a project in MOCO.

Update Project Contract

Tool to update a staff assignment to a project.

Update Project Expense

Tool to update an additional services entry (expense) on a project.

Update Project Payment Schedule

Tool to update a payment schedule entry for a project.

Update Project Recurring Expense

Tool to update a recurring additional services entry on a project.

Update Project Task

Tool to update an existing task on a project in MOCO.

Unarchive Project

Tool to reactivate an archived project.

Update Purchase

Tool to update an existing purchase.

Update Purchase Document

Tool to update or store a purchase document.

Update Purchase Status

Tool to update the status of a purchase.

Update Receipt

Tool to update an existing receipt.

Update Schedule

Tool to update a planning entry (absence/schedule).

Update Tag

Tool to update an existing tag in MOCO.

Update Taggings

Tool to replace all tags associated with an entity.

Update Task Template

Tool to update an existing task template in MOCO.

Update Unit

Tool to update an existing unit/team.

Update User

Tool to update an existing staff member/user in MOCO.

Update User Employment

Tool to update a user employment record.

Update Work Time Adjustment

Tool to update an existing work time adjustment in MOCO.

List Users

List all users in MOCO with optional filters.

FAQ

Frequently asked questions

With a standalone Moco MCP server, the agents and LLMs can only access a fixed set of Moco tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Moco and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. CrewAI fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Moco tools.

Yes, absolutely. You can configure which Moco scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Moco data and credentials are handled as safely as possible.

Start with Moco.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Moco tool your agent needs.Free to start.

Start building