AgentMarketMCP / SKILL 资产档案馆

目录 / Syncro

MCP 鉴权未知 未评级 已上架

Syncro

该来源不提供完整文件导出(国内平台多为平台内托管),仅存元数据与原链

接入信息

传输形态
http
鉴权方式
鉴权未知
端点
https://syncro--rich-dean.run.tools
鉴权方式未标注,请核对官方文档后再接入——不要直接使用以下片段
{
  "mcpServers": {
    "Syncro": {
      "url": "https://syncro--rich-dean.run.tools"
    }
  }
}

能力清单

工具说明
create_alertCreate an RMM alert for a customer. NOT idempotent — a retry creates a duplicate alert, so dedupe before retrying. Example: create_alert({ customer_id: 5, description: 'Disk almost full', formatted_output: 'C: at 95%' }). Requires scope: mcp-server.
get_alertGet a single RMM alert by its Syncro alert id. Read-only. Example: get_alert({ alert_id: 5 }). Requires scope: mcp-server.
list_alertsList RMM alerts, optionally filtered by asset or status. Read-only. Example: list_alerts({ asset_id: 5, status: 'active' }). Requires scope: mcp-server.
create_appointmentCreate an appointment over a start/end window. NOT idempotent — a retry creates a duplicate appointment, so dedupe before retrying. Example: create_appointment({ summary: 'On-site visit', start_at: '2026-07-01T15:00:00Z', end_at: '2026-07-01T16:00:00Z', customer_id: 5 }). Requires scope: mcp-server.
get_appointmentGet a single appointment by its Syncro appointment id. Read-only. Example: get_appointment({ appointment_id: 5 }). Requires scope: mcp-server.
list_appointmentsList appointments, optionally filtered by date range. When date_from/date_to are omitted the API defaults to roughly the last week through two months ahead, so pass an explicit range to look outside that window. Read-only. Example: list_appointments({ date_from: '2026-01-01', date_to: '2026-03-31' }). Requires scope: mcp-server.
update_appointmentUpdate fields on an existing appointment. NOT idempotent in effect — a retry re-applies the same field changes. Example: update_appointment({ appointment_id: 3, start_at: '2026-07-01T16:00:00Z' }). Requires scope: mcp-server.
create_assetCreate an asset under a customer. Provide either asset_type_name or asset_type_id. NOT idempotent — a retry creates a duplicate asset, so dedupe before retrying. Example: create_asset({ customer_id: 5, name: 'Front desk PC', asset_type_name: 'Computer' }). Requires scope: mcp-server.
get_assetGet a single customer asset by its Syncro asset id. Read-only. Example: get_asset({ asset_id: 5 }). Requires scope: mcp-server.
list_assetsList customer assets, optionally filtered by customer, asset type, SNMP status, or a free-text query. Read-only. Example: list_assets({ customer_id: 5, asset_type_id: 2 }). Requires scope: mcp-server.
update_assetUpdate fields on an existing asset. NOT idempotent in effect — a retry re-applies the same field changes. Example: update_asset({ asset_id: 12, name: 'Reception PC' }). Requires scope: mcp-server.
create_contactCreate a contact under a customer. NOT idempotent — a retry creates a duplicate contact, so dedupe before retrying. Example: create_contact({ customer_id: 5, name: 'Grace Hopper', email: 'grace@example.com' }). Requires scope: mcp-server.
get_contactGet a single contact by its Syncro contact id. Read-only. Example: get_contact({ contact_id: 5 }). Requires scope: mcp-server.
list_contactsList contacts, optionally filtered by customer. Read-only. Example: list_contacts({ customer_id: 5 }). Requires scope: mcp-server.
update_contactUpdate fields on an existing contact. NOT idempotent in effect — a retry re-applies the same field changes. Example: update_contact({ contact_id: 9, phone: '555-0167' }). Requires scope: mcp-server.
create_customerCreate a customer. NOT idempotent — a retry creates a duplicate customer, so dedupe before retrying (e.g. search by email first). Example: create_customer({ firstname: 'Ada', lastname: 'Lovelace', email: 'ada@example.com', phone: '555-0100' }). Requires scope: mcp-server.
get_customerGet details of a single customer by id. Read-only. Example: get_customer({ customer_id: 5 }). Requires scope: mcp-server.
list_customersList customers, optionally filtered by name, email, or free-text query. Read-only. Example: list_customers({ query: 'Acme', include_disabled: false }). Requires scope: mcp-server.
update_customerUpdate fields on an existing customer. NOT idempotent in effect — a retry re-applies the same field changes. Example: update_customer({ customer_id: 5, phone: '555-0142' }). Requires scope: mcp-server.
get_docs_articleFetch the full text of one Syncro documentation article as markdown, for quoting exact step-by-step instructions. Use after search_docs, passing a result's url, and cite the article URL in your answer. Read-only. Example: get_docs_article({ url: '/creating-tickets/create-ticket-manual' }). Requires scope: mcp-server.
search_docsSearch the official Syncro product documentation for how-to guides, feature explanations, and setup/configuration instructions. ALWAYS use this instead of answering from memory when the user asks how to do something in Syncro, where a setting lives, or how a feature works. Returns ranked snippets with links. The snippets are short previews, NOT the answer: to answer a how-to question you MUST then call get_docs_article on the best match's url to read the full step-by-step content, and cite that url. Never answer from a snippet alone or hand the user a bare link. If this tool errors, tell the user the documentation is temporarily unavailable rather than guessing. Read-only. Example: search_docs({ query: 'create ticket manually' }). Requires scope: mcp-server.
list_invoices_by_amountList invoices whose total falls within an amount range (inclusive). The API has no amount filter, so every invoice is fetched (all pages) and filtered on `total` here, returning the complete matching set. Read-only. Example: list_invoices_by_amount({ min_amount: 100, max_amount: 500 }). Requires scope: mcp-server.
list_invoices_by_statusList invoices by payment status ('paid', 'unpaid', or 'all') across every page (the complete set, not a single page). Read-only. Example: list_invoices_by_status({ status: 'unpaid' }). Requires scope: mcp-server.
create_invoiceCreate an invoice for a customer. NOT idempotent — a retry creates a duplicate invoice, so dedupe before retrying. Example: create_invoice({ customer_id: 5, date: '2026-07-01' }). Requires scope: mcp-server.
list_customer_invoicesList all invoices for a specific customer across every page (the complete set, not a single page). Read-only. Example: list_customer_invoices({ customer_id: 5 }). Requires scope: mcp-server.
email_invoiceEmail an existing invoice to the customer. Success means the email was queued for sending upstream, NOT that it was delivered. NOT idempotent — a retry sends another email, so dedupe before retrying. Example: email_invoice({ invoice_id: 20 }). Requires scope: mcp-server.
get_invoiceGet a single invoice by its invoice id. Read-only. Example: get_invoice({ invoice_id: 42 }). Requires scope: mcp-server.
add_invoice_line_itemAdd a line item to an existing invoice. NOT idempotent — a retry adds a duplicate line item, so dedupe before retrying. Example: add_invoice_line_item({ invoice_id: 20, item: 'CABLE', name: 'CAT6 Cable', quantity: 2, price: 9.99 }). Requires scope: mcp-server.
list_invoicesList invoices, returned newest first (by id). This is the default, general invoice-listing tool — use it for browsing or for the most recent invoices unless a more specific view is required. Optionally filtered by customer, ticket, paid/unpaid state, or date. Read-only. Example: list_invoices({ customer_id: 5, unpaid: true }). Requires scope: mcp-server.
list_overdue_invoicesList unpaid invoices that are past their due date. Every unpaid invoice is fetched (all pages) and filtered here, returning the complete overdue set. Read-only. Example: list_overdue_invoices(). Requires scope: mcp-server.
list_paid_invoicesList all paid invoices across every page (the complete set, not a single page). Read-only. Example: list_paid_invoices(). Requires scope: mcp-server.
print_invoiceQueue an existing invoice for printing. Success means the print job was queued upstream, NOT that anything was printed. NOT idempotent — a retry queues another print job, so dedupe before retrying. Example: print_invoice({ invoice_id: 20 }). Requires scope: mcp-server.
update_invoiceUpdate fields on an existing invoice. NOT idempotent in effect — a retry re-applies the same field changes. Example: update_invoice({ invoice_id: 20, note: 'Net 30 terms' }). Requires scope: mcp-server.
get_current_userGet information about the current user (the authenticated account), including name, email, user id, admin flag, subdomain, and permissions. Read-only. Example: get_current_user(). Requires scope: mcp-server.
list_usersList the users in the account as [id, name] pairs. Users are the staff members (technicians), so this is also how to list technicians; returns enabled users only. The index currently returns every enabled user in a single page, so one call is usually enough. Use it to resolve the user_id accepted by tools such as list_tickets. Read-only. Example: list_users(). Requires scope: mcp-server.
create_productCreate a product in the catalog. NOT idempotent — a retry creates a duplicate product, so dedupe before retrying. Example: create_product({ name: 'CAT6 Cable', price_retail: 9.99 }). Requires scope: mcp-server.
get_productGet a single product by its product id. Read-only. Example: get_product({ product_id: 5 }). Requires scope: mcp-server.
list_productsList products, optionally filtered by category or a free-text search. Read-only. Example: list_products({ query: 'laptop', category_id: 3 }). Requires scope: mcp-server.
update_productUpdate fields on an existing product. NOT idempotent in effect — a retry re-applies the same field changes. Example: update_product({ product_id: 8, price_retail: 12.5 }). Requires scope: mcp-server.
searchSearch the SyncroMSP global search API (GET /search) across multiple entity types: tickets, customers, assets, invoices, products, contacts. Read-only. Example: search({ query: 'acme' }). Requires scope: mcp-server.
add_ticket_commentAdd a comment (timeline note) to an existing ticket. A non-hidden comment may email the customer, but whether it does depends on account and customer settings this tool can't see, and the response doesn't confirm delivery — so don't tell the user the customer was emailed. NOT idempotent — a retry adds a duplicate comment, so dedupe before retrying. Example: add_ticket_comment({ ticket_id: 42, subject: 'Update', body: 'Replaced the toner cartridge.' }). Requires scope: mcp-server.
create_ticketCreate a ticket for a customer. The `body` becomes the ticket's Issue Description (stored as the initial 'Initial Issue' comment), not a public reply — use add_ticket_comment for later timeline comments. Creating a ticket does not reliably email the customer (the initial comment is subject to the account's ticket-creation email default), so don't promise customer email from this tool. NOT idempotent — a retry creates a duplicate ticket, so dedupe before retrying (e.g. confirm no matching open ticket first). Example: create_ticket({ customer_id: 5, subject: 'Printer offline', body: 'HP on the 3rd floor will not print.' }). Requires scope: mcp-server.
get_ticketGet a single ticket by its ticket id (the database id, not the ticket number). Read-only. Example: get_ticket({ ticket_id: 5 }). Requires scope: mcp-server.
list_ticketsList tickets, optionally filtered by customer, assignee, status, ticket number, created/resolved/updated timestamps, or a free-text search across the subject. Read-only. Example: list_tickets({ customer_id: 5, status: 'Not Closed' }) or list_tickets({ query: 'Iphone' }). Requires scope: mcp-server.
add_timer_entryAdd a worked-time timer entry to a ticket. Requires a start/end window: when start_at is omitted it defaults to now, and when neither end_at nor duration_minutes is given the end is derived from hours. NOT idempotent — a retry adds a duplicate timer entry, so dedupe before retrying. Example: add_timer_entry({ ticket_id: 42, hours: 1.5, description: 'On-site repair.' }). Requires scope: mcp-server.
update_ticketUpdate fields on an existing ticket, such as status, priority, assignment, scheduling, tags, or custom field values. NOT idempotent — a retry re-applies the field changes. Example: update_ticket({ ticket_id: 42, status: 'Resolved' }). Requires scope: mcp-server.
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。