# Synchroteam MCP by usefulapi (remote · synchroteam.usefulapi.io)

Read Synchroteam jobs, customers, sites, equipment and parts; create, schedule and complete jobs.

- Trust score: 62/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- remote · `synchroteam.usefulapi.io`: 62/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-synchroteam/synchroteam.md), [page](https://verifymcp.io/servers/io-usefulapi-synchroteam/synchroteam)

## Channel facts

- Endpoint: `https://synchroteam.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-17.

- **Endpoint Security**: 78/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 74/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5087 tokens (~154/item across 33 items; 33 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 88/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 64% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 33 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 34 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Synchroteam MCP by usefulapi server?

Synchroteam MCP by usefulapi is a hosted endpoint at https://synchroteam.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-synchroteam 'https://synchroteam.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-synchroteam": {
      "url": "https://synchroteam.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-synchroteam": {
      "type": "http",
      "url": "https://synchroteam.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-synchroteam]
url = "https://synchroteam.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-synchroteam": {
      "type": "remote",
      "url": "https://synchroteam.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-synchroteam --url 'https://synchroteam.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-synchroteam:
    url: "https://synchroteam.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-synchroteam": {
      "Transport": "http",
      "Url": "https://synchroteam.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-synchroteam -t streamable-http -u 'https://synchroteam.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-synchroteam": {
      "type": "http",
      "url": "https://synchroteam.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-16 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 61, +3)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] The server now declares the “prompts” capability
- [functional] First check of Schema quality: 100
- [functional] New prompt “getting_started”
- [functional] Server version: 1.0.0 → 1.1.0

### 2026-10-13 (score 58, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-12 (score 57)

First indexed and scored.

## MCP tools (33)

### `synchroteam_list_customers` (~174 tokens)

List customers

List or search customers (name wildcard, e-mail, active flag, change time). Returns name, address, contact, custom fields, tags. GET /customer/list.

Input parameters:

- `active` (boolean): Active customers (default true); false lists deactivated ones.
- `changed_since` (string): Only customers modified after this UTC date-time.
- `email` (string): Exact contact e-mail.
- `name` (string): Wildcard name search.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).

### `synchroteam_get_customer` (~62 tokens)

Get customer

One customer by id, myId, exact name or e-mail, with address, contact, custom fields and tags. GET /customer/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_sites` (~179 tokens)

List sites

List or search sites (a customer's locations): by name, customer, active flag, change time. GET /site/list.

Input parameters:

- `active` (boolean): Active sites (default true).
- `changed_since` (string): Only sites modified after this UTC date-time.
- `customer_id` (integer): Only sites of this customer id.
- `customer_my_id` (string): Only sites of the customer with this myId.
- `name` (string): Wildcard name search.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).

### `synchroteam_get_site` (~60 tokens)

Get site

One site by id, myId or exact name: address, contact, customer, custom fields, tags. GET /site/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_equipment` (~184 tokens)

List equipment

List or search pieces of equipment (assets) by name, customer, site, active flag, change time. GET /equipment/list.

Input parameters:

- `active` (boolean): Active equipment (default true).
- `changed_since` (string): Only equipment modified after this UTC date-time.
- `customer_id` (integer)
- `customer_my_id` (string)
- `name` (string): Wildcard name search.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `site_id` (integer)
- `site_my_id` (string)
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).

### `synchroteam_get_equipment` (~58 tokens)

Get equipment

One piece of equipment by id, myId or exact name, with its customer and site. GET /equipment/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_jobs` (~397 tokens)

List jobs

List jobs (simplified: no report, parts or time entries) filtered by status, schedule window, technician, team, customer, site, equipment, job type or project. Use synchroteam_get_job for the full record. GET /job/list.

Input parameters:

- `changed_since` (string): Jobs modified on or after this date-time.
- `created_since` (string): Jobs created on or after this date-time.
- `customer_id` (integer)
- `customer_my_id` (string)
- `date_from` (string): Jobs planned, ongoing or completed on or after this date-time.
- `date_to` (string): Jobs planned, ongoing or completed on or before this date-time.
- `equipment_id` (integer)
- `equipment_my_id` (string)
- `has_photos` (boolean): Only jobs that have (true) or lack (false) photos.
- `my_id` (string): Exact job myId.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `project_id` (string): Project id.
- `show` (string): Default active.
- `site_id` (integer)
- `site_my_id` (string)
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).
- `status` (array): One or more job statuses.
- `team_id` (integer): Jobs of technicians in this team id.
- `type_id` (integer): Job type id.
- `type_name` (string): Job type name.
- `user_id` (integer): Technician user id.
- `user_login` (string): Technician login.
- `validated_since` (string): Jobs validated on or after this date-time.

### `synchroteam_get_job` (~82 tokens)

Get job

One job by num (the job number shown in the app), id or myId: status, customer/site/equipment, technician(s), schedule, actual times, time entries, parts used, report and custom fields. GET /job/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_get_job_photos` (~62 tokens)

Get job photos

Photo links of a job (url, file name, comment, report iteration). Image bytes are never returned. GET /job/photos.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_job_types` (~101 tokens)

List job types

List job types (name, default duration, priority, skills, default report). Use their id or name when creating a job. GET /jobtype/list.

Input parameters:

- `name` (string): Types whose name contains this.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).

### `synchroteam_list_users` (~141 tokens)

List users (technicians and staff)

List users: login, name, profile (technician, manager, administrator), teams, skills, last known location. Passwords are never returned. GET /user/list.

Input parameters:

- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `show` (string): Default active.
- `skilled_trade` (string): Only users with this skill.
- `team_id` (integer): Only users of this team id.
- `team_name` (string): Only users of this team name.

### `synchroteam_get_user` (~45 tokens)

Get user

One user by login or id. GET /user/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_teams` (~89 tokens)

List teams

List teams with member counts and tags. GET /team/list.

Input parameters:

- `name` (string): Teams whose name contains this.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `show` (string)

### `synchroteam_list_parts` (~190 tokens)

List parts and services

List the parts and services catalog (reference, name, price, category, tax, tracked/serialized flags, type). GET /part/list.

Input parameters:

- `category_id` (integer)
- `category_name` (string)
- `changed_since` (string): Only parts modified after this UTC date-time.
- `is_serializable` (boolean)
- `is_tracked` (boolean): Only parts tracked (true) or not tracked (false) in inventory.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).
- `status` (string)
- `type` (string)

### `synchroteam_get_part` (~47 tokens)

Get part

One part or service by id or reference. GET /part/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_depots` (~158 tokens)

List stock depots

List stock depots (warehouses and technician vans). The part quantities of one depot come from synchroteam_get_depot. GET /depot/list.

Input parameters:

- `is_default` (boolean)
- `is_provider` (boolean): Only depots that are (true) or are not (false) providers.
- `name` (string): Wildcard name search.
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).

### `synchroteam_get_depot` (~52 tokens)

Get depot stock

One stock depot by id, with the quantity of each part it holds. GET /depot/details.

Input parameters:

- `id` (string, required): Depot id (a GUID from synchroteam_list_depots).

### `synchroteam_list_part_requests` (~189 tokens)

List part requests

List technicians' part requests (urgent, sent, completed, deleted flags). GET /partrequest/list.

Input parameters:

- `changed_since` (string): Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied.
- `created_since` (string): Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied.
- `is_complete` (boolean)
- `is_deleted` (boolean)
- `is_sent` (boolean)
- `is_urgent` (boolean)
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).

### `synchroteam_list_invoices` (~265 tokens)

List invoices

List invoices (read only): number, status, customer, job, lines, totals. Filter by status, customer, site, job or time. GET /invoice/list.

Input parameters:

- `changed_since` (string): Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied.
- `created_since` (string): Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied.
- `customer_id` (integer)
- `customer_my_id` (string)
- `job_id` (integer)
- `job_my_id` (string)
- `job_num` (integer)
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `paid_since` (string): Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied.
- `site_id` (integer)
- `site_my_id` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).
- `status` (string)

### `synchroteam_get_invoice` (~51 tokens)

Get invoice

One invoice by id, reference or number, with its lines. GET /invoice/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_quotations` (~225 tokens)

List quotations

List quotations (read only): number, status, customer, job, lines, totals. GET /quotation/list.

Input parameters:

- `changed_since` (string): Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied.
- `created_since` (string): Date-time as yyyy-mm-dd hh:mm:ss (a date alone means midnight). No timezone conversion is applied.
- `customer_id` (integer)
- `customer_my_id` (string)
- `job_id` (integer)
- `job_my_id` (string)
- `job_num` (integer)
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `site_id` (integer)
- `site_my_id` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).
- `status` (string)

### `synchroteam_get_quotation` (~52 tokens)

Get quotation

One quotation by id, reference or number, with its lines. GET /quotation/details.

Input parameters:

- `by` (string, required): Which identifier `value` is.
- `value` (string, required): The identifier.

### `synchroteam_list_contracts` (~191 tokens)

List contracts

List service contracts by name, customer, site, period or active flag. GET /contract/list.

Input parameters:

- `active` (boolean): Active contracts (default true).
- `customer_id` (integer)
- `customer_my_id` (string)
- `end` (string): Contracts on or before this date (yyyy-mm-dd).
- `name` (string)
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `site_id` (integer)
- `site_my_id` (string)
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).
- `start` (string): Contracts on or after this date (yyyy-mm-dd).

### `synchroteam_list_projects` (~165 tokens)

List projects

List projects (groups of jobs) by customer, site, equipment or project type. GET /project/list.

Input parameters:

- `customer_id` (integer)
- `customer_my_id` (string)
- `equipment_id` (integer)
- `equipment_my_id` (string)
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `site_id` (integer)
- `site_my_id` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).
- `type_id` (integer)
- `type_name` (string)

### `synchroteam_list_activities` (~197 tokens)

List technician activities

List time entries and unavailabilities (travel, at work, clock, unavailable) of technicians. start_date and end_date go together and return anything overlapping that range. GET /activity/list.

Input parameters:

- `activity_type_category` (string)
- `activity_type_name` (string): Exact activity type name.
- `end_date` (string): Range end (requires start_date).
- `page` (integer): Page number, from 1 (default 1). Pass the previous reply's next_page.
- `page_size` (integer): Results per page, 1-100 (default 25).
- `sort` (string)
- `sort_order` (string): Sort order (default ascending; invoices and quotations default to descending).
- `start_date` (string): Range start (requires end_date).
- `team_id` (integer)
- `user_id` (integer)
- `user_login` (string)

### `synchroteam_create_customer` (~184 tokens)

Create customer

WRITE: create a new customer (name and an address are required). If you pass myId and a customer with that myId already exists, nothing is created and an error is returned (use synchroteam_update_customer). POST /customer/send.

Input parameters:

- `address` (string): Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States').
- `addressComplement` (string): Complementary address line (unit, floor...).
- `contact_email` (string)
- `contact_fax` (string)
- `contact_first_name` (string)
- `contact_last_name` (string)
- `contact_phone` (string)
- `my_id` (string): Your own reference for this customer.
- `name` (string, required): Customer name.
- `vat_number` (string)

### `synchroteam_update_customer` (~176 tokens)

Update customer

WRITE: change fields of an existing customer by its numeric id. Only the fields you pass are changed; nothing is cleared. The customer id must exist (an unknown id fails). POST /customer/send.

Input parameters:

- `address` (string): Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States').
- `addressComplement` (string): Complementary address line (unit, floor...).
- `contact_email` (string)
- `contact_fax` (string)
- `contact_first_name` (string)
- `contact_last_name` (string)
- `contact_phone` (string)
- `id` (integer, required): Customer id (synchroteam_list_customers).
- `name` (string)
- `vat_number` (string)

### `synchroteam_create_site` (~179 tokens)

Create site

WRITE: create a new site (a location of a customer). Needs a name, an address and the customer (id or myId). If myId already exists nothing is created and an error is returned. POST /site/send.

Input parameters:

- `address` (string): Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States').
- `addressComplement` (string): Complementary address line (unit, floor...).
- `contact_email` (string)
- `contact_mobile` (string)
- `contact_name` (string)
- `contact_phone` (string)
- `customer` (object, required): The customer: exactly one of id or myId.
- `my_id` (string): Your own reference for this site.
- `name` (string, required): Site name.

### `synchroteam_create_equipment` (~121 tokens)

Create equipment

WRITE: create a new piece of equipment under a site or a customer (give exactly one of site or customer; both is refused). If myId already exists nothing is created and an error is returned. POST /equipment/send.

Input parameters:

- `customer` (object): The customer (when there is no site): exactly one of id or myId.
- `my_id` (string): Your own reference for this equipment.
- `name` (string, required): Equipment name.
- `site` (object): The site: exactly one of id or myId.

### `synchroteam_create_job` (~320 tokens)

Create job

WRITE: create a new job for a customer (status created, not yet scheduled; use synchroteam_schedule_job to assign a technician and time). The customer is required (id, myId or exact name); site, equipment and job type are optional. If myId already exists nothing is created and an error is returned. Synchroteam may send the account's 'job created' notifications (email/SMS/webhook, possibly to the customer), as configured. POST /job/send.

Input parameters:

- `address` (string): Full address on one line (e.g. '6605 Fisher Avenue, Falls Church, VA 22046, United States').
- `addressComplement` (string): Complementary address line (unit, floor...).
- `contact_email` (string)
- `contact_first_name` (string)
- `contact_last_name` (string)
- `contact_mobile` (string)
- `contact_phone` (string)
- `customer` (object, required): The customer: exactly one of id, myId or name.
- `description` (string): Job description.
- `equipment` (object): The equipment: exactly one of id or myId.
- `my_id` (string): Your own reference for this job.
- `priority` (string): Default medium.
- `site` (object): The site: exactly one of id or myId.
- `skills` (array): Required skills.
- `type` (object): Job type: exactly one of id or name (synchroteam_list_job_types).

### `synchroteam_schedule_job` (~192 tokens)

Schedule job

WRITE: schedule a job for a technician between two times (also re-schedules a scheduled or paused job). Synchroteam may notify technicians and/or customers (email/SMS/webhook) as configured in the account's notification settings (SMS uses the account's paid credits). Identify the job by exactly one of id, my_id or num. POST /job/schedule.

Input parameters:

- `id` (string): Job id.
- `my_id` (string): Job myId.
- `num` (integer): Job number.
- `other_technician_logins` (array): Logins of additional technicians.
- `scheduled_end` (string, required): End, yyyy-mm-dd hh:mm:ss (after the start).
- `scheduled_start` (string, required): Start, yyyy-mm-dd hh:mm:ss.
- `technician` (object, required): The technician: exactly one of id or login (synchroteam_list_users).

### `synchroteam_start_job` (~118 tokens)

Start job

WRITE: mark a job as started (status started, actual start now). If the job's technician already has another started job, Synchroteam pauses that one. Starting may trigger the account's 'job started' notifications (email/SMS/webhook to managers, technicians or the customer). Identify the job by exactly one of id, my_id or num. POST /job/start.

Input parameters:

- `id` (string): Job id.
- `my_id` (string): Job myId.
- `num` (integer): Job number.

### `synchroteam_complete_job` (~166 tokens)

Complete job

WRITE: mark a job as completed, optionally with the real start and end times (give actual_start and actual_end together: Synchroteam may refuse the call with only one of them). Completing may trigger the account's 'job completed' notifications (email/SMS/webhook to managers, technicians or the customer), as configured in Synchroteam. Identify the job by exactly one of id, my_id or num. POST /job/complete.

Input parameters:

- `actual_end` (string): Real end, yyyy-mm-dd hh:mm:ss.
- `actual_start` (string): Real start, yyyy-mm-dd hh:mm:ss.
- `id` (string): Job id.
- `my_id` (string): Job myId.
- `num` (integer): Job number.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-synchroteam/synchroteam#diagnostics

## Score history

- 2026-10-17: 62
- 2026-10-16: 62
- 2026-10-15: 61
- 2026-10-14: 61
- 2026-10-13: 58
- 2026-10-12: 57

## Common questions

### What is the Synchroteam MCP by usefulapi server?

Synchroteam MCP by usefulapi is listed in the public MCP registry as io.usefulapi/synchroteam. Read Synchroteam jobs, customers, sites, equipment and parts; create, schedule and complete jobs. This page covers its hosted endpoint (https://synchroteam.usefulapi.io/mcp).

### Is the Synchroteam MCP by usefulapi server safe to use?

Synchroteam MCP by usefulapi scores 62 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Synchroteam MCP by usefulapi server expose?

Synchroteam MCP by usefulapi exposes 33 tools: synchroteam_list_customers, synchroteam_get_customer, synchroteam_list_sites, synchroteam_get_site, synchroteam_list_equipment, and 28 more. Their descriptions and schemas cost roughly 4,872 tokens of context every time the server is loaded.

### Does the Synchroteam MCP by usefulapi server require authentication?

Yes. Synchroteam MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Synchroteam MCP by usefulapi server still maintained?

Synchroteam MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://synchroteam.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/synchroteam/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-synchroteam/synchroteam.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-synchroteam/synchroteam.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-synchroteam/synchroteam
