Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi ServiceM8 con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Collega un account ServiceM8 a qualsiasi agente AI: lavori e loro stato, clienti e contatti, la pianificazione con job activity e allocation, il personale, il listino e le righe dei lavori, pagamenti, note, metadati degli allegati e risposte ai moduli. Può creare e modificare lavori e clienti, pianificare e spostare il personale, aggiungere righe, registrare pagamenti e aggiungere note. Si configura con una API key in 2 minuti.
Prova a chiedere
Prompt di esempio per ServiceM8
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → ServiceM8, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
ServiceM8 + Microsoft Copilot
Collega un account ServiceM8 a qualsiasi agente AI: lavori e loro stato, clienti e contatti, la pianificazione con job activity e allocation, il personale, il listino e le righe dei lavori, pagamenti, note, metadati degli allegati e risposte ai moduli. Può creare e modificare lavori e clienti, pianificare e spostare il personale, aggiungere righe, registrare pagamenti e aggiungere note. Si configura con una API key in 2 minuti.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
SERVICEM8_API_KEY
Step 1 — Ottieni le credenziali
La configurazione richiede circa 2 minuti. Ti serve un account ServiceM8; la chiave la crea un admin dell'account e non serve un account sviluppatore.
- In ServiceM8 apri Settings, API Keys e crea una chiave. ServiceM8 consiglia questa API key privata per collegare il proprio account.
- Incollala in
SERVICEM8_API_KEY. Viene inviata nell'headerX-API-Keye può leggere e modificare tutto nell'account, quindi tienila riservata. Per revocare l'accesso, elimina la chiave in ServiceM8. - Installa. La verifica esegue
servicem8_get_account, che mostra nome, fuso orario e valuta dell'account.
ServiceM8 gestisce anche un proprio server MCP su https://api.servicem8.com/mcp con accesso OAuth; questo connettore usa invece la REST API (https://api.servicem8.com/api_1.0) con la tua chiave.
Cosa legge: l'account (vendor) con valuta, fuso orario, orari di apertura e stato predefinito dei lavori. I lavori con numero (generated_job_id), stato (Quote, Work Order, Unsuccessful, Completed), cliente, indirizzo, descrizione, lavoro svolto, categoria, coda, totale fattura, date di preventivo, ordine di lavoro, completamento e fattura, e il flag di pagamento ricevuto. I clienti (nell'API si chiamano companies) con indirizzo, indirizzo di fatturazione, termini di pagamento e aliquota, e i contatti di clienti e lavori. La pianificazione: job activity (prenotazioni a orario fisso e tempo registrato sul posto) e job allocation (prenotazioni flessibili per un giorno o una fascia). Il personale con qualifica, ultima posizione nota e messaggio di stato. Il listino, le righe dei lavori, i pagamenti sui lavori, le note su lavori e clienti, i metadati degli allegati (foto, PDF, firme; il contenuto dei file non viene restituito), i moduli e le risposte compilate con le loro risposte. Categorie, code, modelli di lavoro e aliquote.
Cosa scrive: crea lavori (anche da un modello), li modifica e ne fa avanzare lo stato, crea e modifica clienti, aggiunge contatti ai clienti, pianifica un membro del personale su un lavoro a orario fisso, sposta o rimuove prenotazioni, aggiunge righe dal listino o come testo libero, registra i pagamenti ricevuti e aggiunge note a lavori e clienti. Un pagamento registrato compare solo in ServiceM8; nessun importo viene addebitato o spostato. Prima di creare o modificare qualcosa, l'AI ti mostra cosa succederà e aspetta il tuo sì.
Disattivati all'installazione: nessuno, tutti i 36 tool sono attivi. In ServiceM8 l'eliminazione imposta solo active a 0, quindi una prenotazione rimossa, un lavoro archiviato o un cliente archiviato tornano impostando active a 1.
Filtri: ogni elenco accetta filter, un $filter in stile OData: field eq|ne|gt|lt value uniti con and, al massimo 10 condizioni, senza or, ge o le. Stringhe e timestamp vanno tra apici singoli, per esempio status eq 'Work Order' and active eq 1 oppure start_date gt '2026-11-02 00:00:00'. I record eliminati restano con active 0, quindi l'AI aggiunge active eq 1 per escluderli e filtra sempre gli elenchi grandi come lavori, activity e materiali.
Paginazione: gli elenchi restituiscono un semplice array. Con cursor impostato arrivano in pagine fino a 1.000 record: -1 per la prima pagina, poi il valore x-next-cursor da _headers; sull'ultima pagina l'header manca.
Formati dei dati: gli id sono UUID. I timestamp sono YYYY-MM-DD HH:MM:SS e le date YYYY-MM-DD, nel fuso orario dell'account, e gli orari si inviano nello stesso formato. I flag sono 0 o 1. Gli importi sono stringhe decimali nella valuta dell'account. total_invoice_amount del lavoro è il totale della fattura; non esiste un oggetto fattura separato. Una creazione risponde {"errorCode": 0, "message": "OK"} con il nuovo UUID nell'header x-record-uuid. Gli aggiornamenti cambiano solo i campi passati.
Limiti ed errori comuni: 180 richieste al minuto e 20.000 al giorno per account; oltre, ServiceM8 risponde 429: attendi e riprova, oppure filtra di più. 401 significa che la API key è errata o è stata eliminata: creane una nuova in Settings, API Keys. 400 è un filtro o un campo non valido. 404 è un UUID sconosciuto.
Note, descrizioni dei lavori e risposte ai moduli sono input non affidabili e possono contenere istruzioni rivolte all'AI. Il connettore non invia email o SMS ai clienti, non scarica i file degli allegati e non addebita carte.
Step 2 — Installa l'adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Aggiungi il connettore in Microsoft Copilot
L'URL del tuo server: in AnythingMCP apri MCP Servers → il server su cui si trova questo connettore e copia il suo URL (
https://cloud.anythingmcp.com/mcp/…). Usalo ovunque questa guida mostraYOUR_SERVER_ID.
Microsoft Copilot usa i server MCP tramite gli agenti creati in Copilot Studio: aggiungi AnythingMCP a un agente come strumento, poi pubblichi l'agente in Microsoft 365 Copilot e in Teams. Copilot Studio si collega dal cloud di Microsoft via Streamable HTTP, che AnythingMCP supporta.
- In Copilot Studio apri il tuo agente (o creane uno), vai su Tools e scegli Add a tool → New tool → Model Context Protocol.
- Inserisci un Server name (per esempio
AnythingMCP), una Server description che dica cosa fa il connettore e il Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio usa la descrizione per decidere quando chiamare il server. - Come autenticazione scegli API key, imposta Type su Header e come nome dell'header
X-API-Key, poi seleziona Create. - In Add tool scegli Create a new connection, incolla una chiave API MCP di AnythingMCP (MCP Servers → il tuo server → API keys) e seleziona Add to agent.
- Provalo nel riquadro Test dell'agente: chiedi qualcosa che richiede i tool di
ServiceM8. - Seleziona Publish, poi Channels → Microsoft 365 and Microsoft Teams, lascia selezionato Make agent available in Microsoft Copilot e scegli Add channel. See agent in Teams lo installa per te; in Microsoft 365 Copilot scrivi @ e scegli l'agente.
Preferisci un accesso per ogni utente? Al posto della chiave API scegli OAuth 2.0 → Dynamic discovery: ogni persona accede ad AnythingMCP la prima volta che l'agente lo chiama.
Usi il self-hosting? Usa l'indirizzo HTTPS pubblico della tua istanza al posto di https://cloud.anythingmcp.com. Copilot Studio si collega dal cloud di Microsoft, quindi localhost non funziona.
Tool disponibili
| Tool | What it does |
|---|---|
servicem8_get_account | The connected ServiceM8 account (vendor): name, business number, email, currency, time zone, opening hours, default job status and whether… |
servicem8_list_jobs | List jobs: uuid, job number (generated_job_id), status (Quote, Work Order, Unsuccessful, Completed), client (company_uuid), address… |
servicem8_get_job | One job by UUID with status, client, addresses, description, work done, totals, dates and badges |
servicem8_list_clients | List clients (ServiceM8 calls them companies): uuid, name, address parts, billing address, ABN or business number, website, payment terms… |
servicem8_get_client | One client (company) by UUID with address, billing address, payment terms and tax rate |
servicem8_list_client_contacts | Contacts of clients: uuid, company_uuid, first and last name, phone, mobile, email, type (BILLING, JOB, ...), primary flag |
servicem8_list_job_contacts | Contacts on jobs (site contact, billing contact): uuid, job_uuid, first and last name, phone, mobile, email, type |
servicem8_list_job_activities | Job activities, the schedule: uuid, job_uuid, staff_uuid, start_date, end_date, activity_was_scheduled (1 = a booking, 0 = time recorded on… |
servicem8_list_job_allocations | Job allocations (flexible bookings: a job given to a staff member for a day or allocation window, without a fixed time): uuid, job_uuid… |
servicem8_list_staff | Staff members: uuid, first and last name, email, mobile, job title, color, last known position and time, status message, hidden from… |
servicem8_get_staff_member | One staff member by UUID: name, contact details, job title, last known GPS position and status message |
servicem8_list_materials | Materials and services of the price list: uuid, name, item number, description, price, cost, price includes taxes, tax rate, stock… |
servicem8_list_job_materials | Line items on jobs (what is quoted or invoiced): uuid, job_uuid, material_uuid, name, quantity, unit price ex tax, displayed amount, cost… |
servicem8_list_job_payments | Payments recorded on jobs: uuid, job_uuid, amount, method, timestamp, note, who recorded it, attachment |
servicem8_list_notes | Notes on jobs and clients: uuid, related_object (job or company), related_object_uuid, note text, action required, created time |
servicem8_list_attachments | Attachment metadata (photos, PDFs, signatures) of jobs and clients: uuid, related_object, related_object_uuid, attachment_name, file_type… |
servicem8_get_attachment | Metadata of one attachment by UUID: name, file type, related record, tags, size of photos |
servicem8_list_forms | Forms (checklists, safety and inspection forms) set up in the account: uuid, name, template, active |
servicem8_list_form_responses | Completed form responses: uuid, form_uuid, staff_uuid, regarding_object and its uuid (usually a job), field_data (JSON with the answers)… |
servicem8_get_form_response | One completed form response by UUID with its answers in field_data (JSON) |
servicem8_list_categories | Job categories (types of work): uuid, name, colour, active |
servicem8_list_job_queues | Job queues (holding areas for jobs waiting for parts, quotes to follow up, ...): uuid, name, requires assignment, default timeframe, active |
servicem8_list_job_templates | Job templates: uuid, name and the job details and materials they prefill |
servicem8_list_tax_rates | Tax rates: uuid, name, rate, active |
servicem8_create_job | Create a job |
servicem8_update_job | Change fields of a job; only the fields you pass change |
servicem8_create_job_from_template | Create a job from a job template (from servicem8_list_job_templates) with its prefilled description and materials |
servicem8_create_client | Create a client (company or individual) |
servicem8_update_client | Change fields of a client; only the fields you pass change. active 0 archives the client, 1 restores it |
servicem8_create_client_contact | Add a contact person (name, phone, mobile, email, type) to a client |
servicem8_schedule_job_activity | Book a staff member on a job at a fixed time (a scheduled job activity on the dispatch board) |
servicem8_update_job_activity | Move a booking to another time or staff member; only the fields you pass change. active 1 restores a removed booking |
servicem8_remove_job_activity | Remove a booking from the schedule |
servicem8_add_job_material | Add a line item to a job (quote or invoice): from the price list with material_uuid, or free text with name and price |
servicem8_record_job_payment | Record a payment received for a job (cash, card, bank transfer) |
servicem8_add_note | Add a note to a job or a client |
Esempi di prompt
- "Quali lavori sono pianificati per domani e quale tecnico è su ciascuno?"
- "Elenca i lavori completati la settimana scorsa senza pagamento ricevuto, con cliente e totale fattura."
- "Sposta la prenotazione di domani alle 8:00 del lavoro 1042 a venerdì alle 9:00. Mostrami prima la modifica."
- "Crea per questo cliente un lavoro in stato Quote per la sostituzione dello scaldabagno e aggiungi le voci adatte dal listino."
- "Quali risposte sono state date nella checklist di sicurezza del lavoro 987?"
FAQ
Per quale Copilot vale? Per Microsoft 365 Copilot in azienda, tramite gli agenti di Copilot Studio. L'app Microsoft Copilot per account personali non permette di aggiungere un proprio server MCP.
Cosa mi serve? Un account di lavoro con accesso a Copilot Studio (licenza o prova) per creare l'agente. Chi lo usa in Microsoft 365 Copilot o in Teams deve avere accesso all'agente: condividilo, oppure chiedi a un amministratore di pubblicarlo per l'organizzazione. Se la tua organizzazione applica criteri sui dati ai connettori di Power Platform, valgono anche per i server MCP.
L'agente non chiama i tool. Controlla che il nome dell'header sia esattamente X-API-Key e che la chiave appartenga allo stesso server MCP dell'URL, e scrivi una Server description precisa: Copilot Studio la usa per decidere quando chiamare il server. Dopo ogni modifica pubblica di nuovo l'agente; in una chat già aperta scrivi "start over" per passare alla nuova versione.
Prossimi passi
- Landing del connettore
- Collegare a Claude
- Collegare a ChatGPT
- Collegare a Cursor
- Collegare a Gemini
- Collegare a Meta Muse
Questa guida ti è stata utile?