# Ascora — how to use (mcp.ai)

Connect your Ascora account and use 23 tools for CRM straight from your AI agent. Connect with your own API key. Ascora is a cloud-based field service management software designed to streamline operations for service-based businesses, offering features such as job scheduling, invoicing, customer management, and mobile access.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_ascora?ms=1787291220000`
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. `ascora_create_note`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/ascora`
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/ascora/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/ascora/create/note` — Creates a note on an entity (customer, job, quote, etc.) in Ascora. Use this when you need to add comments, updates, or documentation to any entity in the system. Requires a valid entity ID from the A
  - body: { Note: string, EntityId: string, EntityType: string }
- `POST https://api.mcp.ai/api/ascora/create/or/update/contact` — Tool to create a new contact or update an existing contact for a customer. Use when you need to add or modify contact information for a specific customer in Ascora. Requires a valid customer ID and ac
  - body: { Email?: string, Phone?: string, LastName?: string, FaxNumber?: string, FirstName?: string, customerId: string, MobileNumber?: string, DefaultContact?: boolean }
- `POST https://api.mcp.ai/api/ascora/create/or/update/customer` — Tool to create a new customer or update an existing customer in Ascora. Use when you need to add a new customer with company name and optional contact details, address information (street and postal),
  - body: { CompanyName: string, PhoneNumber?: string, PostalLine1?: string, PostalLine2?: string, PostalState?: string, StreetLine1?: string, StreetLine2?: string, CustomerName?: string, EmailAddress?: string, MobileNumber?: string, PostalSuburb?: string, StreetSuburb?: string, PostalCountry?: string, StreetCountry?: string, PostalPostcode?: string, StreetPostcode?: string, ContactLastName?: string, ContactFirstName?: string }
- `POST https://api.mcp.ai/api/ascora/create/or/update/supplier` — Tool to create a new supplier or update an existing supplier in Ascora. Use when you need to add a new supplier with contact and address details, or modify an existing supplier's information by provid
  - body: { fax?: string, Name: string, notes?: string, phone?: string, mobile?: string, supplierId?: string, postalLine1?: string, postalLine2?: string, postalState?: string, streetLine1?: string, streetLine2?: string, streetState?: string, emailAddress?: string, postalSuburb?: string, streetSuburb?: string, businessNumber?: string, expenseAccount?: string, postalPostcode?: string, streetPostcode?: string, supplierNumber?: string, contactLastName?: string, contactFirstName?: string, invoiceDueDaysType?: integer }
- `POST https://api.mcp.ai/api/ascora/create/quotation` — Creates a new quotation/enquiry in Ascora for a customer. Use this tool when you need to submit a quote request with customer details (name, email, contact info), optional address information, work de
  - body: { email: string, phone?: string, mobile?: string, lastName: string, firstName: string, companyName: string, addressLine1?: string, addressLine2?: string, addressState?: string, customFields?: object[], addressSuburb?: string, addressCountry?: string, addressPostcode?: string, enquiryDescription?: string }
- `POST https://api.mcp.ai/api/ascora/delete/customer` — Tool to delete a specific customer by ID. Use when you need to remove a customer after confirming its existence.
  - body: { customer_id: string }
- `POST https://api.mcp.ai/api/ascora/get/contact` — Tool to retrieve details of a specific contact by their unique identifier. Use when you need to fetch information about a contact including their name, contact details, address, and customer associati
  - body: { contact_id: string }
- `POST https://api.mcp.ai/api/ascora/get/customer` — Tool to retrieve details of a specific customer by their unique identifier. Use when you need to fetch information about a single customer including contact details, addresses, and status.
  - body: { customer_id: string }
- `POST https://api.mcp.ai/api/ascora/get/customers` — Retrieves all customers from the Ascora system. Returns a list of customer records including contact information (name, email, phone) and address details (street, city, state, postcode, country). This
- `POST https://api.mcp.ai/api/ascora/get/inventory/categories` — Retrieves all inventory categories used to organize supplies and kits in Ascora. Returns a paginated list of categories with their IDs, names, and numeric identifiers. Use this when you need to list a
- `POST https://api.mcp.ai/api/ascora/get/inventory/kits` — Retrieves all inventory kits from Ascora. Returns a paginated list of kit items that bundle multiple supplies together. Use this when you need to list available inventory kits or access kit details fo
- `POST https://api.mcp.ai/api/ascora/get/inventory/supplies` — Retrieves all inventory supplies with pricing and stock information from Ascora. Returns a paginated list of supply items. Use this when you need to list available inventory supplies or access supply 
  - body: { page?: integer, pageSize?: integer }
- `POST https://api.mcp.ai/api/ascora/get/job` — Retrieves details of a specific job by its unique identifier. Returns comprehensive job information including job number, name, status, customer details, dates, and other job-specific data. Use this w
  - body: { id: string }
- `POST https://api.mcp.ai/api/ascora/get/jobs` — Retrieves a paginated list of jobs from Ascora with optional filtering by job type, status, secondary status, and date range. Returns job details including job number, name, status, customer informati
  - body: { page?: integer, endDate?: string, jobType?: string, pageSize?: integer, jobStatus?: string, startDate?: string, secondaryStatus?: string }
- `POST https://api.mcp.ai/api/ascora/get/quote/labour/roles` — Retrieves labour roles available for use in quotes from Ascora. Use this when you need to list available labour roles with their hourly rates for quotation purposes.
- `POST https://api.mcp.ai/api/ascora/get/quote/standard/sections` — Retrieves standard sections that can be used in quotes. Returns a list of pre-configured standard sections that can be included in quotations. This is a read-only operation that requires authenticatio
- `POST https://api.mcp.ai/api/ascora/get/quote/standard/stages` — Retrieves standard stages that can be used in quotes for progress tracking. Use this when you need to list available quote stages, display progress tracking options, or reference standard stages for q
- `POST https://api.mcp.ai/api/ascora/get/quotes` — Retrieves a paginated list of quotes from Ascora with optional filtering by status, date range, or customer. Returns quote details including quote number, customer information, status, creation date, 
  - body: { page?: integer, status?: string, endDate?: string, pageSize?: integer, startDate?: string, customerId?: string }
- `POST https://api.mcp.ai/api/ascora/get/supplier` — Tool to retrieve details of a specific supplier by ID. Use when you need to fetch supplier information including contact details, address, and business information.
  - body: { id: string }
- `POST https://api.mcp.ai/api/ascora/get/supplier/invoices` — Retrieves supplier invoices from Ascora with optional pagination. Returns invoice details including invoice number, supplier name, dates, amounts, and status. Use this when you need to list, search, o
  - body: { page?: integer, pageSize?: integer }
- `POST https://api.mcp.ai/api/ascora/get/suppliers` — Retrieves a list of suppliers from the Ascora system. Returns supplier details including name, contact information (email, phone), address details, ABN, and activity status. Use this when you need to 
  - body: { page?: integer, pageSize?: integer }
- `POST https://api.mcp.ai/api/ascora/search/jobs` — Search for jobs by various criteria including job number, customer, or address. Use this when you need to find specific jobs based on identifiers or search terms rather than filtering by status or typ
  - body: { page?: integer, address?: string, customer?: string, pageSize?: integer, jobNumber?: string }
- `POST https://api.mcp.ai/api/ascora/upload/attachment` — Tool to upload an attachment to an entity (quote, job, customer, etc.) in Ascora. Use when you need to attach files like documents, images, or plans to existing entities in the system.
  - body: { file: object, entity_id: string, entity_type: string }

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

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