RepairDesk MCP by usefulapi
Read tickets, customers, stock and invoices; add confirmed internal ticket notes.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- LOWrepairdesk_list_repair_categories에서
- LOWrepairdesk_get_inventory_options에서
- LOWrepairdesk_add_internal_ticket_note에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"repairdesk": {
"url": "https://repairdesk.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://repairdesk.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (17)
🟢repairdesk_list_customers(page, pagesize, keyword, referredby)
Search customer records by keyword or referral source. Returns one page. GET /customers.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"pagesize": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"referredby": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_get_customer(customer_id)
Get one customer using its ID from customer or ticket lookup. GET /customers/{customerId}.
입력 스키마
{
"type": "object",
"properties": {
"customer_id": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_tickets(page, pagesize, keyword, status, from_date, ...)
Find ticket/order numbers, customer/device context, status and assignments. keyword searches the ticket list. Returns one page (page defaults0). GET /tickets.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"pagesize": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"from_date": {
"description": "Unix timestamp in seconds, not milliseconds.",
"type": "integer",
"minimum": 0,
"maximum": 9999999999
},
"to_date": {
"description": "Unix timestamp in seconds, not milliseconds.",
"type": "integer",
"minimum": 0,
"maximum": 9999999999
},
"assigned_to": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
},
"created_by": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
},
"default_order": {
"type": "string",
"enum": [
"0",
"1",
"2"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_get_ticket(ticket_id)
Read ticket summary, customer, repair devices, notes, line items and invoice context. GET /tickets/{Ticket-Id}. The vendor checks store ownership, including transfers into this store.
입력 스키마
{
"type": "object",
"properties": {
"ticket_id": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
}
},
"required": [
"ticket_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_invoices(page, pagesize, keyword, status, from_date, ...)
Search invoice numbers and customers; inspect totals, paid status and available balances. One page (page defaults0). GET /invoices.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"pagesize": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"from_date": {
"description": "Unix timestamp in seconds, not milliseconds.",
"type": "integer",
"minimum": 0,
"maximum": 9999999999
},
"to_date": {
"description": "Unix timestamp in seconds, not milliseconds.",
"type": "integer",
"minimum": 0,
"maximum": 9999999999
},
"payment_method": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_get_invoice(invoice_id)
Read a single invoice; no payment or invoice creation occurs. GET /invoices/{Invoice-Id}.
입력 스키마
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_get_invoice_due(invoice_id)
Read outstanding invoice amount and paid flag. GET /invoices/{Invoice-Id}/dueamount.
입력 스키마
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_inventory(pagesize, keyword, missing_cost_price)
Look up inventory by ID, name or SKU in keyword. Returns the vendor's items list; this endpoint documents pagesize but no page parameter. GET /inventory.
입력 스키마
{
"type": "object",
"properties": {
"pagesize": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"missing_cost_price": {
"type": "string",
"enum": [
"0",
"1"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_devices(brand, device_name)
Read device catalogue by manufacturer/brand or device name. GET /devices.
입력 스키마
{
"type": "object",
"properties": {
"brand": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_parts
Read parts names, SKU, stock and pricing. GET /parts.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_statuses
Find the store's available ticket status names. GET /statuses.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_repair_categories
Read available repair categories. GET /repaircategories.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_networks
Read the device network catalogue. GET /networks.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_get_inventory_options
Read available item conditions and physical storage locations. GET /inventory/additionalinfo.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_employees
Read only staff ID, display name and role for assignment lookup. Access PINs, permissions, private employee data and payroll are omitted. GET /employees.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢repairdesk_list_appointments(page, pagesize, keyword, status, from_date, ...)
Search leads/appointments with customer/device context and assignment. Returns one page. GET /appointment.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"pagesize": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"from_date": {
"description": "Unix timestamp in seconds, not milliseconds.",
"type": "integer",
"minimum": 0,
"maximum": 9999999999
},
"to_date": {
"description": "Unix timestamp in seconds, not milliseconds.",
"type": "integer",
"minimum": 0,
"maximum": 9999999999
},
"assigned_to": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"created_by": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"repairType": {
"type": "string",
"enum": [
"0",
"1"
]
},
"serviceType": {
"type": "string",
"enum": [
"1",
"2",
"3",
"4",
"5"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴repairdesk_add_internal_ticket_note(ticket_id, device_id, note, confirm)
Append an internal note (type0) after explicit confirmation. First reads the ticket and verifies its ID and optional repair/device line ID. No status, timer, messaging, payment or delete endpoint is called. POST /ticket/addnote. On an uncertain response, inspect notes before retrying; writes are attempted once.
입력 스키마
{
"type": "object",
"properties": {
"ticket_id": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
},
"device_id": {
"type": "string",
"pattern": "^[1-9]\\d{0,14}$"
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"confirm": {
"default": false,
"description": "Set true only after the user reviews the target ticket and exact note text.",
"type": "boolean"
}
},
"required": [
"ticket_id",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거