Skip to content

MCP server for MOCO - enables AI assistants to interact with MOCO's time tracking, project management, and invoicing API.

Notifications You must be signed in to change notification settings

sajadghawami/moco-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOCO MCP Server

A comprehensive Model Context Protocol (MCP) server for integrating with the MOCO time tracking and project management API. Features 45 tools for managing projects, time entries, users, companies, invoices, and more.

Features

  • Project Management - Full CRUD for projects, tasks, reports, and user assignments (contracts)
  • Time Tracking - Create, update, delete activities with timer support
  • User Management - List and view staff members/users
  • Company & Contacts - Manage customers, suppliers, and contact persons
  • Invoices - List and view invoice details
  • Schedules - Work schedules and absence tracking
  • Sales Pipeline - Deals, offers, and proposal management
  • Comments - Add comments to any entity type

Prerequisites

  • Node.js 18 or higher
  • pnpm (recommended) or npm
  • A MOCO account with API access

Installation

git clone https://github.com/sajadghawami/moco-mcp.git
cd moco-mcp

# Install dependencies (choose one)
pnpm install   # or: npm install | yarn install

# Build
pnpm build     # or: npm run build | yarn build

Configuration

Getting Your API Token

  1. Log in to your MOCO account at https://[your-domain].mocoapp.com
  2. Navigate to ProfileIntegrationsAPI
  3. Generate or copy your API token

Claude Desktop

Add to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "moco": {
      "command": "node",
      "args": ["/path/to/moco-mcp/build/index.js"],
      "env": {
        "MOCO_API_TOKEN": "your-api-token-here",
        "MOCO_DOMAIN": "your-subdomain"
      }
    }
  }
}

Claude Code

Add to .mcp.json in your project directory (project-specific) or ~/.claude/.mcp.json (global):

{
  "mcpServers": {
    "moco-mcp": {
      "command": "node",
      "args": ["/path/to/moco-mcp/build/index.js"],
      "env": {
        "MOCO_API_TOKEN": "your-api-token-here",
        "MOCO_DOMAIN": "your-subdomain"
      }
    }
  }
}

Available Tools (45 total)

Projects (12 tools)

Tool Description
moco_list_projects List all projects with optional filters
moco_get_project Get detailed project information by ID
moco_list_project_tasks List all tasks for a project
moco_get_project_report Get budget and time report for a project
moco_list_assigned_projects List projects assigned to current user
moco_archive_project Archive a project
moco_unarchive_project Unarchive a project
moco_list_project_contracts List users assigned to a project
moco_get_project_contract Get project contract details
moco_create_project_contract Add a user to a project
moco_update_project_contract Update a project contract
moco_delete_project_contract Remove a user from a project

Activities/Time Entries (7 tools)

Tool Description
moco_list_activities List time entries with date range filters
moco_get_activity Get activity details by ID
moco_create_activity Create a new time entry
moco_update_activity Update an existing time entry
moco_delete_activity Delete a time entry
moco_start_timer Start/resume timer on an activity
moco_stop_timer Stop a running timer

Users (2 tools)

Tool Description
moco_list_users List all staff members/users
moco_get_user Get user details by ID

Companies (3 tools)

Tool Description
moco_list_companies List customers, suppliers, organizations
moco_get_company Get company details by ID
moco_create_company Create a new company

Contacts (2 tools)

Tool Description
moco_list_contacts List all contact persons
moco_get_contact Get contact details by ID

Units (1 tool)

Tool Description
moco_list_units List organizational units/departments

Invoices (4 tools)

Tool Description
moco_list_invoices List invoices with optional filters
moco_get_invoice Get invoice details by ID
moco_create_invoice Create a new invoice
moco_update_invoice Update an existing invoice

Schedules (1 tool)

Tool Description
moco_list_schedules List work schedules and absences

Deals (4 tools)

Tool Description
moco_list_deals List sales leads/deals
moco_get_deal Get deal details by ID
moco_create_deal Create a new deal
moco_update_deal Update an existing deal

Offers (4 tools)

Tool Description
moco_list_offers List offers/proposals
moco_get_offer Get offer details by ID
moco_update_offer_status Update offer status
moco_send_offer_email Send offer via email

Comments (4 tools)

Tool Description
moco_list_comments List comments on entities
moco_create_comment Add a comment to an entity
moco_update_comment Update a comment
moco_delete_comment Delete a comment

Utility (1 tool)

Tool Description
moco_ping Health check to verify server is running

Development

Build Commands

# Install dependencies
pnpm install

# Build the TypeScript source
pnpm build

# Start the server
pnpm start

# Watch mode for development
pnpm dev

Project Structure

moco-mcp/
├── src/
│   ├── index.ts          # MCP server entry + 45 tool registrations
│   ├── api.ts            # HTTP client (GET/POST/PUT/DELETE)
│   ├── types.ts          # TypeScript interfaces
│   └── tools/
│       ├── projects.ts   # Project, task, report, contract tools
│       ├── activities.ts # Time entry + timer tools
│       ├── users.ts      # User tools
│       ├── companies.ts  # Company tools
│       ├── contacts.ts   # Contact tools
│       ├── units.ts      # Unit tools
│       ├── invoices.ts   # Invoice tools
│       ├── schedules.ts  # Schedule tools
│       ├── deals.ts      # Deal tools
│       ├── offers.ts     # Offer tools
│       └── comments.ts   # Comment tools
├── build/                # Compiled JavaScript output
├── package.json
└── tsconfig.json

API Reference

This server integrates with the MOCO REST API. For complete API documentation, see:

License

ISC

About

MCP server for MOCO - enables AI assistants to interact with MOCO's time tracking, project management, and invoicing API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •