# Chaser — how to use (mcp.ai)

Connect your Chaser account and use 30 tools for accounting straight from your AI agent. Connect with your own API key. Chaser is an accounts receivable automation software that helps businesses automate invoice reminders and get paid faster.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_chaser?ms=1787295840000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `chaser_create_contact_person`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/chaser`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/chaser/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/chaser/create/contact/person` — Tool to create a new contact person for a customer in Chaser. Requires customer_id and external_id. Use when adding additional contacts to an existing customer account.
  - body: { status?: string, customer_id: string, external_id: string, phone_number?: string, mobile_number?: string, contact_last_name?: string, contact_first_name?: string, contact_email_address?: string }
- `POST https://api.mcp.ai/api/chaser/create/invoice` — Tool to create a new invoice record in the organization. Use after ensuring the customer exists in Chaser.
  - body: { date: string, total: number, status: string, due_date: string, sub_total?: number, amount_due: number, invoice_id: string, amount_paid: number, currency_code: string, invoice_number: string, fully_paid_date?: string, customer_external_id: string }
- `POST https://api.mcp.ai/api/chaser/create/overpayment` — Creates a new overpayment record in Chaser for tracking customer overpayments. Overpayments represent amounts paid by customers in excess of invoice amounts and can be used to offset future invoices. 
  - body: { date: string, total: number, status: string, currency_code: string, overpayment_id: string, remaining_credit: number, customer_external_id: string }
- `POST https://api.mcp.ai/api/chaser/delete/contact/person` — Tool to delete a contact person from a customer record in Chaser. Use this when you need to remove a specific contact person associated with a customer. Requires both the customer identifier and the c
  - body: { customer_id: string, contact_person_id: string }
- `POST https://api.mcp.ai/api/chaser/get/contact/person` — Tool to get a specific contact person by ID for a customer. Use when you need to retrieve detailed information about a contact person associated with a customer in Chaser.
  - body: { customer_id: string, contact_person_id: string }
- `POST https://api.mcp.ai/api/chaser/get/credit/note/by/id` — Retrieve detailed information for a specific credit note by its ID. Accepts both internal Chaser IDs and external credit note IDs (with 'ext_' prefix). Use when you need to fetch complete details of a
  - body: { credit_note_id: string }
- `POST https://api.mcp.ai/api/chaser/get/credit/notes` — Retrieves a list of credit notes from Chaser. Supports filtering by customer, status, and date range. Returns all credit notes if no filters are specified.
  - body: { status?: string, date_to?: string, date_from?: string, customer_external_id?: string }
- `POST https://api.mcp.ai/api/chaser/get/current/organisation` — Tool to retrieve information about the current organisation associated with the API credentials. Use when you need the organisation ID, currency, timezone, or legal details for the authenticated accou
- `POST https://api.mcp.ai/api/chaser/get/customer/by/id` — Retrieve detailed information for a specific customer by their Chaser customer ID. Use this after obtaining the customer_id from listing customers or creating a customer. The customer_id is the intern
  - body: { customer_id: string }
- `POST https://api.mcp.ai/api/chaser/get/customers` — Tool to retrieve a list of all customers associated with the organization. Use when you need to display or process complete customer contact and status information.
- `POST https://api.mcp.ai/api/chaser/get/invoice` — Tool to retrieve detailed information for a specific invoice by its ID. Use when you need to view invoice details, payment status, or associated customer information.
  - body: { invoice_id: string }
- `POST https://api.mcp.ai/api/chaser/get/organization` — Tool to retrieve information about the connected organizations. Use when you need organization IDs, currency, timezone, or legal details before other operations.
- `POST https://api.mcp.ai/api/chaser/get/overpayment` — Retrieve detailed information for a specific overpayment by its ID. Use when you need to fetch overpayment details, check remaining credit, or verify overpayment status. Both internal ID (e.g., op_XXX
  - body: { overpayment_id: string }
- `POST https://api.mcp.ai/api/chaser/get/status` — Tool to check the status of the Chaser API. Use when you need to verify if the API is operational before making other requests.
- `POST https://api.mcp.ai/api/chaser/list/contact/persons` — Tool to retrieve contact persons for a specific customer. Returns a paginated list of contact persons with their details. Use when you need to get contact information for a customer's representatives.
  - body: { customer_id: string }
- `POST https://api.mcp.ai/api/chaser/list/invoices` — Tool to retrieve invoices with pagination and filtering. Use when you need to fetch invoice records from Chaser with support for various filter criteria including status, amounts, dates, and customer 
  - body: { date?: string, page?: integer, limit?: integer, total?: string, status?: string, due_date?: string, sub_total?: string, amount_due?: string, invoice_id?: string, amount_paid?: string, currency_code?: string, invoice_number?: string, fully_paid_date?: string, customer_external_id?: string }
- `POST https://api.mcp.ai/api/chaser/list/overpayments` — Tool to retrieve overpayments from Chaser with pagination and filtering. Use when you need to list overpayments, check remaining credits, or filter by customer, amount, currency, or date.
  - body: { date?: string, page?: integer, limit?: integer, total?: string, currency_code?: string, overpayment_id?: string, remaining_credit?: string, customer_external_id?: string }
- `POST https://api.mcp.ai/api/chaser/post/credit/note` — Creates a new credit note record in Chaser for tracking customer credits. Credit notes represent amounts owed to customers and are used to reduce outstanding invoices. The customer must exist in Chase
  - body: { date: string, total: number, status: string, currency_code: string, credit_note_id: string, remaining_credit: number, credit_note_number: string, customer_external_id: string }
- `POST https://api.mcp.ai/api/chaser/post/customer` — Tool to create a new customer record in Chaser. Use after obtaining Basic Auth credentials.
  - body: { groups?: object[], status?: string, addresses?: object[], external_id: string, company_name: string, phone_number?: string, mobile_number?: string, contact_last_name?: string, contact_first_name?: string, contact_email_address?: string }
- `POST https://api.mcp.ai/api/chaser/put/credit/note` — Update an existing credit note in Chaser. All fields are optional. Use this to modify credit note details such as amount, status, or customer association.
  - body: { date?: string, total?: number, status?: string, currency_code?: string, credit_note_id: string, remaining_credit?: number, credit_note_number?: string, customer_external_id?: string }
- `POST https://api.mcp.ai/api/chaser/put/customer` — Tool to update an existing customer's information using their unique Chaser customer ID. Use after confirming the customer's ID (the 'id' field, not 'externalID'). Example: "Update contactEmailAddress
  - body: { status?: string, customerID: string, companyName?: string, phoneNumber?: string, mobileNumber?: string, contactLastName?: string, contactFirstName?: string, contactEmailAddress?: string }
- `POST https://api.mcp.ai/api/chaser/put/invoice` — Update an existing invoice in Chaser by its internal ID. Use this to modify invoice status, amounts, dates, payments, or customer associations. Requires the internal Chaser invoice ID (e.g., 'inv_abc1
  - body: { date?: string, total?: number, status?: string, due_date?: string, payments?: object[], sub_total?: number, amount_due?: number, invoice_id: string, amount_paid?: number, currency_code?: string, invoice_number?: string, fully_paid_date?: string, customer_external_id?: string }
- `POST https://api.mcp.ai/api/chaser/update/contact/person` — Tool to update a contact person for a customer in Chaser. Use when you need to modify contact person details such as name, email, or phone numbers.
  - body: { status?: string, customerID: string, externalID?: string, phoneNumber?: string, mobileNumber?: string, contactLastName?: string, contactPersonID: string, contactFirstName?: string, contactEmailAddress?: string }
- `POST https://api.mcp.ai/api/chaser/update/overpayment` — Tool to update an overpayment record in Chaser. Use when modifying overpayment details such as remaining credit, status, or other fields. All fields except overpayment_id are optional.
  - body: { date?: string, total?: number, status?: string, currency_code?: string, overpaymentId?: string, overpayment_id: string, remaining_credit?: number, customer_external_id?: string }
- `POST https://api.mcp.ai/api/chaser/upload/invoice/pdf` — Upload a PDF file to an existing invoice in Chaser. Use this to attach invoice documentation. The file must be a valid PDF document and is sent as multipart/form-data.
  - body: { file: object, invoice_id: string }
- `POST https://api.mcp.ai/api/chaser/upsert/bulk/customers` — Tool to bulk upsert up to 100 customers in a single operation. Customers are matched by external_id (or id) for updates. Use when you need to create or update multiple customers efficiently.
  - body: { entries: object[] }
- `POST https://api.mcp.ai/api/chaser/upsert/contact/persons` — Tool to bulk insert or update contact persons for a customer. Use when you need to create or update multiple contact persons in a single request (up to 100). Matching is done by external_id - existing
  - body: { entries: object[], customer_id: string }
- `POST https://api.mcp.ai/api/chaser/upsert/credit/notes/bulk` — Tool to bulk upsert up to 100 credit notes in a single request. Matches by credit_note_id (or id). Use when you need to create or update multiple credit notes efficiently in Chaser.
  - body: { entries: object[] }
- `POST https://api.mcp.ai/api/chaser/upsert/invoices` — Tool to bulk upsert up to 100 invoices in a single request. Invoices are matched by invoice_id for updates or created if not found. Use when you need to create or update multiple invoices efficiently.
  - body: { entries: object[] }
- `POST https://api.mcp.ai/api/chaser/upsert/overpayments/bulk` — Tool to bulk upsert up to 100 overpayments in Chaser, matching by overpayment_id. Use when you need to create or update multiple overpayment records in a single operation.
  - body: { entries: object[] }

## Example prompts
- "What can I do in Chaser?"
- "Show me a summary of my Chaser account"

## More
- Page: https://mcp.ai/chaser
- Agent spec (llms.txt): https://mcp.ai/chaser/llms.txt
- Postman collection: https://mcp.ai/chaser/postman.json
