Ascora MCP by usefulapi

io.usefulapi由 usefulapi.io 发布官方发布者v1.1.4更新于 Nov 7, 2026

Read customers, quotes, jobs, bookings and price list; create quotes, jobs and bookings in Ascora.

发布方自己的服务:Ably MCP by usefulapi

已验证Streamable HTTP可网页运行效率与工作流商业与电商

概览

AI 生成的概览

托管式 Ascora 连接器,让助手读取客户、报价、工单、排班和价目表,并创建报价、工单和排班。

可以做什么
  • 搜索并读取客户、联系人、供应商和员工用户
  • 浏览价目表:物料、套件、库存分类和工时角色
  • 查询报价与工单,包括工单工时明细和工时表
  • 检索排班:预约、活动类型和预约详情
  • 创建询价、客户、报价、工单和预约,添加备注,变更报价状态,将报价转为工单
  • 查看用量、提交功能请求并管理订阅
适用场景
适合已在使用 Ascora 的外勤与施工服务团队,希望在聊天客户端中询问报价、工单、未开票情况和排班,或在不打开 Ascora 的情况下起草报价和预约。
运行要求
远程 MCP 端点,仅需填写 URL,无需本地安装。登录使用 OAuth,登录页要求提供在“管理 → API 设置”中生成的 Ascora API 密钥,服务器按用户保存该密钥。免费方案每月 50 次工具调用,另有付费方案。
安装前请注意
写入类工具会创建真实记录:询价、客户、报价、工单、预约和备注。多数操作不具幂等性,重复调用会产生重复数据,且备注无法通过本服务器编辑或删除。创建预约可能触发 Ascora 自身的客户或员工通知。创建报价时无法识别的 ID 会被静默跳过,应核对合计金额。Ascora API 密钥在登录时输入并由第三方托管方保存。付费方案涉及支付链接和订阅。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Ascora MCP by usefulapi,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.usefulapi%2Fascora/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "ascora-by-usefulapi": {
      "type": "http",
      "url": "https://ascora.usefulapi.io/mcp"
    }
  }
}

README

Ascora MCP by usefulapi

Use your Ascora account from Claude, Cursor, or any MCP client. Read customers, quotes, jobs, bookings, staff and the price list, and make labeled writes such as quotes, jobs and bookings. Hosted, no local install: connect with your own credentials.

Live endpoint: https://ascora.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://ascora.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http ascora https://ascora.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "ascora": {      "url": "https://ascora.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Ascora credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/ascora/

On first connect you provide an Ascora API key (Administration → API Settings → Generate New API Key). The server validates it and stores it per user. No keys go in config files.

Tools

ToolTypeWhat it does
ascora_list_customersreadList customers
ascora_get_customerreadGet customer
ascora_list_contactsreadList contacts
ascora_list_customer_contactsreadList contacts of a customer
ascora_list_suppliesreadList supplies (price list)
ascora_list_kitsreadList kits
ascora_list_categoriesreadList inventory categories
ascora_list_labour_rolesreadList labour roles
ascora_list_quotesreadList quotes
ascora_get_quotereadGet quote
ascora_list_jobsreadList jobs
ascora_get_jobreadGet job
ascora_get_job_labourreadGet job labour
ascora_get_job_timesheetsreadGet job timesheets
ascora_list_bookingsreadList bookings (schedule)
ascora_get_bookingreadGet booking
ascora_list_activity_typesreadList activity types
ascora_list_usersreadList staff users
ascora_list_suppliersreadList suppliers
ascora_list_supplier_invoicesreadList supplier invoices
ascora_create_enquirywriteCreate enquiry (lead)
ascora_create_customerwriteCreate customer
ascora_add_notewriteAdd note
ascora_create_quotewriteCreate quote
ascora_update_quote_statuswriteUpdate quote status
ascora_convert_quote_to_jobwriteConvert quote to job
ascora_create_jobwriteCreate job
ascora_create_bookingwriteCreate booking
ascora_usage_statusmetaUsage status (free-tier meter)
ascora_request_featuremetaRequest a missing feature
ascora_upgrademetaUpgrade to Pro or Pro+
ascora_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with ascora_upgrade (it returns a Stripe Checkout link). Cancel any time with ascora_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running ascora_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

来源:servers/ascora/README.md,提交 92e9424

工具

28

ascora_list_customers

List customers

Search Ascora customers (sites and billing customers): id, number, name, contact, email, phone, addresses, on-hold flags, customer type, lead source, billing customer and assigned user. GET /Customers/Customers.

输入参数pagepage_sizefilter_textlead_sourcephone_numberassigned_usercustomer_typesite_billing_type

ascora_get_customer

Get customer

One Ascora customer by id (GUID from ascora_list_customers), including custom fields. GET /Customers/Customer/{id}.

输入参数customer_id必填

ascora_list_contacts

List contacts

Search contacts across all customers by name, email or phone. GET /Customers/Contacts.

输入参数pagepage_sizefilter_textphone_number

ascora_list_customer_contacts

List contacts of a customer

All contacts of one customer, with role and default-contact flag. GET /Customers/GetContactsForCustomer/{customerId}.

输入参数pagepage_sizecustomer_id必填

ascora_list_supplies

List supplies (price list)

Search the inventory price list: materials and services with part number, description, cost, sell price ex/inc tax, supplier, categories and reorder flags. Use the supply id to add items to quotes. GET /Inventory/Supplies.

输入参数pagepage_sizefilter_textfavourite_onlycategory_one_idcategory_two_id

ascora_list_kits

List kits

Search kits (bundles of supplies and labour) with part number, description, markup, sell price and pricing method. GET /Inventory/Kits.

输入参数pagepage_sizefilter_textfavourite_onlycategory_one_idcategory_two_id

ascora_list_categories

List inventory categories

Inventory categories (Category 1 or 2, top-level or sub-categories) used to filter supplies and kits. GET /Inventory/Categories.

输入参数pagepage_sizefilter_textparent_onlycategory_number

ascora_list_labour_roles

List labour roles

Labour roles with their hourly rate ex tax, ordered by name. Use the role id to add labour to a quote. GET /Quotes/LabourRoles.

无需输入参数。

ascora_list_quotes

List quotes

Search quotes: number, name, status, date, totals ex/inc tax, pricing method, job type and site/billing customer. Status defaults to OPEN (in progress or sent) when omitted. GET /Quotes/Quotes.

输入参数pageend_datejob_typepage_sizestart_datefilter_textquote_statusassigned_usercustomer_name

ascora_get_quote

Get quote

One quote by its full number (e.g. Q57): status, dates, totals, pricing method, addresses, job type, customers and custom fields. GET /Quotes/Quote/{quoteNumber}.

输入参数quote_number必填

ascora_list_jobs

List jobs

Search jobs: number, name, status, totals, pricing method, job type, site/billing customer, secondary status and pipeline phase. Status defaults to OPEN when omitted. GET /Jobs/Jobs.

输入参数pageend_datejob_typepage_sizejob_statusstart_datefilter_textassigned_usercustomer_nameinclude_child_jobs

ascora_get_job

Get job

One job by its full number (e.g. J112): status, dates, totals, pricing method, job type, customers, secondary status and pipeline phase. A deleted job reads as not found. GET /Jobs/Job/{jobNumber}.

输入参数job_number必填

ascora_get_job_labour

Get job labour

Labour lines on a job: role, hours, hourly rate, totals, staff member, chargeable and invoiced flags. GET /Jobs/JobLabour/{jobNumber}.

输入参数job_number必填

ascora_get_job_timesheets

Get job timesheets

Timesheet entries on a job: staff member, start/end, hours, meal break and payroll-sent flag (pay and cost rates are not returned). GET /Jobs/JobTimesheets/{jobNumber}.

输入参数job_number必填

ascora_list_bookings

List bookings (schedule)

Search the schedule: bookings of jobs, quotes and activities with staff member, start/end, notes, arrival window and the job or quote they belong to. Archived bookings are excluded unless include_archived. GET /Bookings/Bookings.

输入参数pageusersort_byend_datepage_sizeteam_namejob_numberjob_statusstart_datecustomer_idfilter_textbooking_type另有 6 个

ascora_get_booking

Get booking

One booking by id: type, times (local and UTC), staff member, job/quote/activity, customers, address, notes, arrival window, rates and reminder flags. GET /Bookings/Booking/{bookingId}.

输入参数booking_id必填

ascora_list_activity_types

List activity types

Activity types that non-job bookings (training, leave-style activities, etc.) can be made with. GET /Bookings/ActivityTypes.

无需输入参数。

ascora_list_users

List staff users

Staff users of the Ascora company (archived users excluded): id, name, email, mobile, job title, team, scheduler group, licence and access flags. Pay rates are not returned. GET /Users/Users.

输入参数pagelast_namepage_sizeteam_namefirst_namefilter_textscheduler_group_name

ascora_list_suppliers

List suppliers

Search suppliers by name, supplier number or exact business number (ABN). GET /Suppliers/Suppliers.

输入参数pagepage_sizesupplier_namebusiness_numbersupplier_number

ascora_list_supplier_invoices

List supplier invoices

Search supplier invoices and credit notes: supplier, dates, tracking number, lines and totals. GET /SupplierInvoices/SupplierInvoices.

输入参数pagepage_sizesupplier_nametracking_numberinvoice_date_endinvoice_date_startto_be_sent_to_accounting

ascora_create_enquiry

Create enquiry (lead)

WRITE: create a new enquiry (lead) in Ascora. Every call creates another enquiry (not idempotent; Ascora allows 500 enquiries an hour per company), so do not repeat it. Needs at least a name, company, email, phone or mobile. POST /Enquiry.

输入参数emailphonestatemobilesuburbcountrypostcodelast_namefirst_namedescriptionlead_sourcecompany_name另有 3 个

ascora_create_customer

Create customer

WRITE: create a new customer (site or billing) in Ascora. Always creates a new record (it never updates an existing customer), so search with ascora_list_customers first to avoid duplicates. A customer type or lead source name that does not exist is created. POST /Customers/Customer.

输入参数emailphonemobilelast_namefirst_namelead_sourcecompany_namestreet_line1street_line2street_statecustom_fieldscustomer_type另有 3 个

ascora_add_note

Add note

WRITE: add a note to an enquiry, job, quote, invoice or customer (the entity must already exist). Notes cannot be edited or removed through this server, and every call adds another note. POST /Notes/Note.

输入参数content必填entity_id必填entity_type必填created_by_name

ascora_create_quote

Create quote

WRITE: create a new quote (status In Progress; it is NOT sent to the customer) for a site customer, optionally with supplies, kits and labour from the price list. Ids that Ascora cannot find are skipped silently when creating, so check the totals in the reply. Every call creates another quote. POST /Quotes/Quote.

输入参数kitslaboursuppliesquote_namedescriptionjob_type_namepricing_methodsite_customer_idsite_customer_namebilling_customer_idclient_order_numberpurchase_order_number

ascora_update_quote_status

Update quote status

WRITE: change a quote's status to IN-PROGRESS, SENT-TO-CUSTOMER, LOST or WON. WON converts the quote into a new Job (the same as ascora_convert_quote_to_job; a second WON returns the existing job). Ascora's reference documents only a status change, not an email to the customer. POST /Quotes/UpdateStatus.

输入参数status必填quote_number必填reason_for_loss

ascora_convert_quote_to_job

Convert quote to job

WRITE: convert a quote into a Job (what Convert to Job does in Ascora): supplies, labour, notes, bookings and attachments carry over and the quote is marked converted. Never forces a new job: a variation quote is added onto its original job, a quote whose job still exists is reconnected to it, and a quote already converted is refused with a message naming the existing job. Specify the parent quote number, not a section. POST /Quotes/ConvertToJob.

输入参数quote_number必填

ascora_create_job

Create job

WRITE: create a new job for a site customer (it never updates an existing job). Every call creates another job; add work with a quote or in Ascora. The job is not booked and nothing is sent to the customer. POST /Jobs/Job.

输入参数job_namedescriptionjob_type_namepricing_methodsite_customer_idsite_customer_namebilling_customer_idclient_order_numberpurchase_order_number

ascora_create_booking

Create booking

WRITE: schedule staff on a job or a quote (give exactly one of job_number / quote_number). One booking is created per staff member and the job or quote moves to Booked; the bookings show on the Scheduler and the staff mobile apps, and Ascora's own reminder settings may notify the customer or staff. Repeating the identical request returns the existing booking. By default a clash with another booking or leave refuses the whole request (reject_conflicts). POST /Bookings/Booking.

输入参数notesusers必填end_timejob_numberstart_time必填time_windowquote_numberduration_minutesreject_conflicts

版本历史

3
  1. v1.1.4最新Nov 7, 2026
  2. v1.0.2Nov 5, 2026
  3. v1.0.1Nov 5, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Usefulapi 集成