# Moxie MCP

> Moxie manages everything for freelance and agency operations: client data, project timelines, time tracking, expense logging, and invoicing. It's a centralized hub that lets your AI agent manage your entire business cycle—from initial contact search to sending out final invoices—all through natural conversation.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** freelance-management, invoicing, time-tracking, client-portal, expense-management, task-automation

## Description

The Moxie MCP Server handles your entire freelance or agency operation cycle right through your AI client. You connect it to manage client relationships, track project spending, and handle invoicing without ever leaving the chat window. Your agent acts as a virtual operations manager for everything you do.

**Managing Client Records**
Your agent keeps tabs on who you work with. It can run **`list_clients`** to pull up a complete roster of every client currently in your workspace. Need details on someone specific? Use **`search_contacts`**; it searches the database for any client or contact by name or other criteria so you'll find what you need fast. If you land a new gig, you can instantly create a brand-new file using **`create_client`**, getting the whole profile set up in one go.

**Organizing Projects and Tasks**
When you start work, your agent handles the structure. You tell it to run **`create_project`**, setting up the main container record for that new client engagement. Once the project is active, you can add specific milestones or small to-dos using **`create_task`**. Before making changes, your agent checks existing records with **`search_projects`** so you know exactly what status everything's in.

**Tracking Time and Spending**
Billing requires precision. For hours worked, you use **`create_time_entry`** to record specific blocks of time against a project—this is crucial for accurate billing. When the job involves costs, you log them using **`create_expense`**, tracking every business expense needed for your accounting books. You'll never lose track of where your money goes.

**Handling Finances and Invoicing**
Getting paid shouldn't be a headache. Your agent manages this with two key tools. First, if you need to know what’s outstanding, it runs **`search_invoices`**, finding all the invoices that are currently payable so you can check on overdue payments. If you're ready to bill, your agent generates and drafts a new document using **`create_invoice`** for an existing client.

**Support and Team Operations**
Your agent handles internal needs too. If a client runs into trouble or if a team member needs help, it creates a formal record with **`create_ticket`**. For visibility across your team, you can check who's on board by running **`list_users`**, seeing the roster of everyone who has an account in your workspace. You also get full access to review all client data and project status through natural conversation.

This setup lets your AI agent manage your entire business lifecycle—from initial contact search to sending out final invoices—all without you jumping between different software tools.

## Tools

### create_client
Creates a brand new client record in the Moxie system.

### create_expense
Logs a specific business expense that needs to be tracked for accounting purposes.

### create_invoice
Generates and drafts a new invoice document for an existing client.

### create_project
Sets up the main container record for a new project engagement with a client.

### create_task
Adds a specific to-do item or milestone related to an existing project.

### create_ticket
Creates and logs a new support ticket for client issues or internal help requests.

### create_time_entry
Records a specific block of time spent working on a project, useful for billing hours.

### list_clients
Retrieves a list of all clients currently stored in the Moxie workspace.

### list_users
Shows a roster of everyone who has an account within your workspace team.

### search_contacts
Searches the database for specific client or contact information by name or criteria.

### search_invoices
Finds invoices that are payable, letting you check on outstanding payments.

### search_projects
Searches for existing projects to confirm details or status before making changes.

## Prompt Examples

**Prompt:** 
```
List all clients and their projects.
```

**Response:** 
```
Clients: 4. 1) Acme Corp (3 projects). 2) Beta Design (1). 3) Gamma Studios (2). 4) Delta Marketing (0). Total: 6 active projects.
```

**Prompt:** 
```
Log 2 hours of consulting on the Acme Corp project.
```

**Response:** 
```
Time logged ✅. 120 min, Project: Acme Corp Website. Billable.
```

**Prompt:** 
```
Create an invoice for Beta Design.
```

**Response:** 
```
Invoice created ✅. Client: Beta Design. ID: INV-078. Status: Draft.
```

## Capabilities

### Manage Client Records
List all clients, search contacts by name or company, and create new client profiles.

### Track Time and Spending
Log billable hours using `create_time_entry` and record specific business expenses with `create_expense`.

### Generate Financial Documents
Create new invoices or search for existing payable invoices to track outstanding revenue.

### Organize Projects
Set up new projects and create associated tasks within the system using `create_project` and `create_task`.

### Handle Support Workflow
Create support tickets for clients or team members needing assistance with a service issue.

## Use Cases

### Billing a long-term project
A freelancer finishes work for Acme Corp. Instead of manually logging into three different tools, they prompt their agent: 'Create an invoice for Acme Corp.' The agent uses `search_contacts` first, then calls `create_invoice`, and finally drafts the document ready to send.

### Onboarding a new client
An agency gets a lead. They prompt their agent: 'Start working with Beta Design.' The agent uses `create_client` to set up the account, then calls `create_project` for the initial scope of work.

### Handling an unexpected support issue
A client reports a bug. Instead of emailing a ticket form, they tell their agent: 'The Acme Corp site is broken.' The agent instantly uses `create_ticket` to log the issue and assigns it to the right internal team.

### Tracking project profitability
A PM needs to know if a project is making money. They ask their agent: 'What's the total time logged for Gamma Studios?' The agent uses `search_projects` and then calls `create_time_entry` data summaries, giving an immediate financial view.

## Benefits

- Track everything in one place. You log time entries (`create_time_entry`) and expenses (`create_expense`), and the system links them all to the correct client or project, so you never lose data.
- Billing is faster. Instead of manually compiling spreadsheets, your agent can search for payable invoices (`search_invoices`) and draft new ones using `create_invoice`—all in a single conversation.
- Never forget a team member. The `list_users` tool lets you see who's on the roster, which is crucial when coordinating complex projects across a small agency team.
- Client data stays clean. Use `search_contacts` to verify a person’s existence before creating an invoice or starting a new project, preventing bad data from entering your system.
- Project status is always current. You can use `create_task` and `search_projects` together to see exactly where every client stands without opening the main dashboard.

## How It Works

The bottom line is that your AI client runs a sequence of specific tool calls—like checking contacts, creating projects, or logging time—all based on one conversational prompt.

1. Ask your agent to start the process, for example: 'I need to send an invoice for Acme Corp.'
2. Your AI client first uses `search_contacts` or `list_clients` to verify the client exists and then calls `create_invoice` with the necessary details.
3. The agent confirms creation success and provides the new Invoice ID, giving you a trackable record.

## Frequently Asked Questions

**How do I use create_invoice with Moxie?**
You tell your agent to 'create an invoice for Client X.' The agent uses `search_contacts` first, then calls `create_invoice`, filling in the necessary details like billing period and amount.

**Can I log time entries with create_time_entry?**
Yes. Just tell your agent how many hours you worked and what project it was for (e.g., 'Log 4 hours on the Beta Design site'). The agent runs `create_time_entry`.

**What if I need to find a client's info before invoicing?**
Use `search_contacts`. This tool lets your agent verify the client ID and details. You can then feed that confirmed data into `create_invoice` for accuracy.

**Do I need to use list_clients if I search_contacts?**
No, you don't always have to. If you know the client name, using `search_contacts` is faster because it targets a specific person or company record directly.

**How does the `create_time_entry` tool handle linking time to specific projects?**
It requires both start and end times, plus a Project ID. If you only provide the project name, your agent will first look up the correct internal Project ID before logging the entry for billing.

**When should I use `search_projects` rather than listing all active projects?**
You use `search_projects` when you know specific criteria, like a keyword or client name. This limits the search results immediately, preventing your agent from processing hundreds of irrelevant entries.

**If I log an expense using `create_expense`, how do I ensure it ties back to a specific project?**
You must include both the Project ID and Client ID when calling `create_expense`. This structure ensures the record appears correctly in your financial reports for accurate tracking.

**Does running `list_users` provide details about a team member's current workload?**
No, `list_users` only returns the list of active workspace accounts. For detailed workload metrics or assigned projects, you need to check Moxie’s main project management dashboard.

**Can I track time and create invoices?**
Yes. Log time entries with descriptions and durations, then create invoices linked to specific clients.

**How does Moxie authentication work?**
Moxie uses an **X-API-KEY** header with your API key, plus your workspace **Base URL**.

**Can I manage projects and tasks?**
Yes. Search projects, create new ones with client associations, and add tasks within projects.