Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Gradient MSP MCP

MCPB · GRADIENT-MCP.MCPB

CLI and MCP server for Gradient MSP Synthesize: usage push, billing drift, alert tracing.

Available components

+2 this week 51 Trust /100

Last scanned (7 hours ago)

Scores higher than 82% of MCPB servers

Category Monitoring and Observability

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 12 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability52
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 12468 tokens (~311/item across 40 items; 40 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
  • Stability check failed: the tool surface changed between 0.1.3 and 0.1.8: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 0
    • Package version: 0.1.3 → 0.1.8 functional
  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 95 to 99.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 89 to 92.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 82 to 85.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 75 to 79.

  • 23 Oct 26 +1
    • Stability: 0.67 → fail ▼ security
    • Package version: 0.1.6 → 0.1.8 functional
    • Package version: 0.1.6 → 0.1.7 functional
  • 22 Oct 26 +1
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.63 → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Package version: 0.1.4 → 0.1.6 functional
    • Package version: 0.1.4 → 0.1.5 functional
  • 20 Oct 26 +1

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

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed mcpb/https://github.com/Servosity/msp-skills/releases/download/gradient-v0.1.8/gradient-mcp.mcpb@0.1.8

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 40 exposed · ~12,468 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
accounts_create ~49

Creates an account. Returns array of UpdateMappingPropertyResponse.

NameTypeReqDescription
body_jsonstringyesRequest body as a JSON object string (this endpoint accepts a polymorphic schema: oneOf/anyOf)

No output schema declared.

No examples provided.

accounts_list ~73

Get Organization Accounts. Optional: accountIds, returnUnmapped. Returns array of GetMappingPropertyResponse.

NameTypeReqDescription
accountIdsstring–Use to fetch specific accounts by id. Defaults to fetching all accounts.
returnUnmappedstring–Use to only return mapped accounts. Defaults to true which returns all accounts.

No output schema declared.

No examples provided.

accounts_update ~54

Updates 1 or more fields per Account. Returns the updated UpdateMappingPropertyResponse.

NameTypeReqDescription
body_jsonstringyesRequest body as a JSON object string (this endpoint accepts a polymorphic schema: oneOf/anyOf)

No output schema declared.

No examples provided.

accounts_update-one ~115

Updates 1 or more fields of a single Account. Required: accountId. Optional: description, id, isActive (plus 2 more). Returns the updated UpdateMappingPropertyResponse.

NameTypeReqDescription
accountIdstringyesVendor accountId as provided in the POST request when creating the account.
descriptionstring–Description
idstring–Id
isActiveboolean–Is active
isArrearsboolean–Is arrears
namestring–Name

No output schema declared.

No examples provided.

alert ~444

alert subcommands: send, trace

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

alert_send ~792

Use this command to dispatch an alert and wait for its PSA ticket. Do NOT use this command to re-check an alert you already dispatched; use 'alert trace'. Do NOT use it to inspect a raw debug response for a known messageId; use 'ticket-events'. Dispatch is asynchronous upstream: the API queues the alert and returns a messageId; the PSA ticket is created later. With --wait this command polls the ticket-event debug route until the ticket exists or --timeout-wait elapses. Every dispatch (and its outcome) is recorded in the local alert ledger that powers 'alert trace'.

NameTypeReqDescription
accountstring–Account id (as provided by the vendor) the alert belongs to
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
alert-idstring–Unique alert identifier (auto-generated when omitted)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
descriptionstring–Alert description (becomes the PSA ticket body)
dry-runboolean–Show request without sending (default: false)
duestring–Due date-time for the ticket (RFC3339)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
intervalstring–Poll interval with --wait (default: 5s)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
prioritynumber–Ticket priority: 0-3 (maps to low/medium/high/very high) (default: 2)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
servicestring–Relevant serviceId to associate with the alert
statusnumber–Ticket status code: 0-5 (vendor-defined mapping) (default: 0)
timeoutstring–Request timeout (default: 1m0s)
timeout-waitstring–Maximum time to wait for the ticket with --wait (default: 2m0s)
titlestring–Alert title (becomes the PSA ticket summary)
waitboolean–Poll the ticket-event debug route until the PSA ticket exists or --timeout-wait elapses (default: false)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

alert_trace ~588

Use this command to review past alert dispatches and find ones that never became tickets. Do NOT use this command to dispatch a new alert; use 'alert send'. The Synthesize API has no list route for dispatched alerts; the local alert ledger written by 'alert send' is the only record. Each entry carries the messageId, account, dispatch time, and last-known ticket state. --stuck filters to alerts still pending or timed out - the queue-debugging work queue.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum alerts to return, newest first (0 = all) (default: 25)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
stuckboolean–Only alerts still pending or timed out (never became tickets) (default: false)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

alerting_dispatch ~172

Adds an alert to the alerting queue. Required: accountId, alertId, description, priority (default: 1), status (default: 1), title. Optional: dueDateTime, serviceId. Returns the new AlertCreatedDto.

NameTypeReqDescription
accountIdstringyesAccount id
alertIdstringyesA unique identifier for the Alert.
descriptionstringyesDescription
dueDateTimestring–Due Date.
prioritynumberyesPriority which maps to Ticket. { 1: low, 2: medium, 3: high, 4: very_high }
serviceIdstring–Relevant Service associated to alert
statusnumberyesStatus which maps to Ticket.
titlestringyesName of alert.

No output schema declared.

No examples provided.

analytics ~499

Analyze locally synced data with count, group-by, and summary operations. Data must be synced first with the sync command.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
group-bystring–Field to group by
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Max groups to show (default: 25)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
typestring–Resource type to analyze
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

billing_create ~159

Set route for adding new unit count for one account, and one service. Subsequent calls will debounce until calls are complete. After which billing views will update. Required: serviceId, unitCount. Optional: no_build, accountId, clientOId. Returns the new ResponseDto.

NameTypeReqDescription
accountIdstring–Unique Id provided by Vendor. Will be required for future versions.
clientOIdstring–DEPRECATED - Use accountId instead: Client Id provided by Gradient.
no_buildboolean–Skip the billing rebuild for this call (defaults to false); use on all but the last call of a bulk push
serviceIdstringyesService id
unitCountnumberyesUnit count

No output schema declared.

No examples provided.

clients_list ~57

DEPRECATED - This route is used to get the Client data needed to handling mapping externally. Optional: search, previousId. Returns array of string.

NameTypeReqDescription
previousIdstring–guid of client
searchstring–Search

No output schema declared.

No examples provided.

context ~29

Get API domain context: resource taxonomy, auth requirements, query tips, and unique capabilities. Call this first.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

hygiene ~443

hygiene subcommands: unmapped

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

hygiene_unmapped ~569

Use this command for the full mapping-hygiene work queue (unmapped accounts AND service/SKU gaps) in one rollup. Do NOT use this command to fetch a raw filtered account list; use 'accounts list'. Joins two live reads - the integration's accounts (isMapped flag) and the vendor profile's SKU catalog - into one agent-shaped rollup: every account the MSP has not mapped yet, plus every SKU missing the description/category metadata that mapping in the Synthesize UI relies on.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum unmapped accounts to list (0 = all) (default: 25)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

import ~517

Import data from a JSONL file by issuing POST requests for each record. Each line must be a valid JSON object. Failed records are logged to stderr but do not stop the import.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
batch-sizenumber–Records per batch (future: batch API support) (default: 1)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Preview import without sending requests (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

integration_get ~19

Preferred route for checking credentials. Returns the IntegrationData.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

integration_update-status ~59

Update the integration status for a partner. Set as pending when ready for inital mapping. Set as active when ready for sync. Required: status (default: active). Returns the updated UpdateIntegrationStatusResponse.

NameTypeReqDescription
statusstringyesStatus

No output schema declared.

No examples provided.

load ~478

Analyze locally synced data to show how many items are assigned to each person. Helps identify overloaded team members and unbalanced workload.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum entries to show (default: 50)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

mappings_create ~54

Create Service for a Vendor for an Organization. Returns array of UpdateMappingPropertyResponse.

NameTypeReqDescription
body_jsonstringyesRequest body as a JSON object string (this endpoint accepts a polymorphic schema: oneOf/anyOf)

No output schema declared.

No examples provided.

mappings_update ~114

Updates 1 or more fields of a single Service. Required: serviceId. Optional: description, id, isActive (plus 2 more). Returns the updated UpdateMappingPropertyResponse.

NameTypeReqDescription
descriptionstring–Description
idstring–Id
isActiveboolean–Is active
isArrearsboolean–Is arrears
namestring–Name
serviceIdstringyesVendor serviceId as provided in the POST request when updating the service.

No output schema declared.

No examples provided.

mappings_update-bulk ~57

Updates 1 or more fields for each Service. Returns the updated UpdateMappingPropertyResponse.

NameTypeReqDescription
body_jsonstringyesRequest body as a JSON object string (this endpoint accepts a polymorphic schema: oneOf/anyOf)

No output schema declared.

No examples provided.

orphans ~485

Scan locally synced data for items that are missing important fields such as assignee, project, priority, or labels. Useful for triaging unowned work.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum items to show (default: 50)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

search ~64

Full-text search across all synced data. Faster than paginating list endpoints. Requires sync first.

NameTypeReqDescription
limitnumber–Max results (default 25)
querystringyesSearch query (supports FTS5 syntax: AND, OR, NOT, quotes for phrases)

No output schema declared.

No examples provided.

services_create ~93

Create Service for a Vendor. Required: category, description, name, subcategory. Optional: supportArticle, supportContact. Returns the new VendorData.

NameTypeReqDescription
categorystringyesCategory
descriptionstringyesDescription
namestringyesName
subcategorystringyesSubcategory
supportArticlestring–Support article
supportContactstring–Support contact

No output schema declared.

No examples provided.

services_get ~40

Retrieves Vendor with VendorSku[] filtered by service id. Required: serviceId. Returns the GetServiceResponse.

NameTypeReqDescription
serviceIdstringyesService id

No output schema declared.

No examples provided.

sql ~93

Run read-only SQL against local database. Use for ad-hoc analysis, aggregations, and joins across synced resources. Requires sync first.

NameTypeReqDescription
querystringyesSQL query (SELECT or WITH...SELECT). Synced records live in resources(resource_type, id, data); filter by resource_type and use json_extract on data, e.g. SELECT json_extract(data,'$.name') FROM reso…

No output schema declared.

No examples provided.

stale ~510

Scan locally synced data for items that have not been updated within the specified number of days. Useful for identifying forgotten or blocked work.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
daysnumber–Number of days without update to consider stale (default: 30)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
limitnumber–Maximum items to show (default: 50)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
teamstring–Filter by team identifier
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

status ~442

status subcommands: ready

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

status_ready ~529

Use this command to decide whether the integration is ready to flip to active. Do NOT use this command to change the status; use 'integration update-status'. Joins the live integration record (status, lastSyncedAt) with the live account mapping state into a single go/no-go verdict: ready means every account is mapped and the integration is in a state where activating makes sense (pending, or already active with a recent sync).

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

sync ~1,142

Sync data from the API into a local SQLite database. Supports resumable incremental sync (only fetches new data since last sync) and full resync. Once synced, use the 'search' command for instant full-text search. Exit codes & warnings: Resources the API denies access to (HTTP 403, or HTTP 400 with an access-policy body) are reported as warnings rather than failing the run. In --json mode each is emitted as a {"event":"sync_warning",...} line carrying status, reason, and message fields, and a final {"event":"sync_summary",...} aggregates the run. Exit 0 when at least one resource synced and no resource flagged in the spec as critical (x-critical: true) failed; non-critical failures emit {"event":"sync_warning","reason":"exit_policy_default_changed", ...} so callers can detect that a partial failure was tolerated. Pass --strict to exit non-zero on any per-resource failure. Exit is always non-zero when every selected resource failed, regardless of --strict. Resource scoping: --resources runs the named top-level resources, plus any parent-keyed dependent whose own name is listed OR whose parent table is listed. Naming a parent therefore cascades to its dependents (so "sync this parent and its children" works without listing every nested resource by hand). There is no flag today to suppress the cascade for a named parent. To run a dependent without re-syncing its parent, list only the dependent by name; the parent table must already be populated from a prior sync.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
concurrencynumber–Number of parallel sync workers (default: 4)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
fullboolean–Full resync (ignore previous checkpoint) (default: false)
global-paramstring–Extra query param to inject into every sync request including dependent path-scoped calls (repeatable, key=value). Use when an API requires a scope on every call regardless of path nesting.
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
latest-onlyboolean–Refresh head of each resource only; clears resume cursor and caps pages at 1. Mutually exclusive with --since (--since wins). (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
max-pagesnumber–Maximum pages to fetch per resource (0 = unlimited; cap-hit emits a sync_warning event) (default: 0)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
paramstring–Extra query param to inject into flat-list sync requests (repeatable, key=value). Skipped on path-scoped dependent requests so a top-level scope like workspace=<id> does not double up on /parents/<id…
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
resource-paramstring–Per-resource extra query param (repeatable, resource:key=value). Wins over --param and --global-param when keys conflict.
resourcesstring–Comma-separated resource types to sync. Naming a parent also runs its parent-keyed dependents (see Long help for scoping).
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
sincestring–Incremental sync duration (e.g. 7d, 24h, 1w, 30m)
strictboolean–Exit non-zero on any per-resource failure (default: only critical failures or all-resource failure exit non-zero). (default: false)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

tail ~564

Tail streams live data changes by polling the API at configurable intervals. Events are emitted as NDJSON to stdout for piping to other tools. Gracefully shuts down on SIGTERM/SIGINT. Note: For APIs with WebSocket or SSE support, a future version will use native streaming instead of polling.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
argsstring–Additional positional arguments or raw CLI flags to append to the command.
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
followboolean–Keep running (set --follow=false for single poll) (default: true)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
intervalstring–Poll interval (default: 10s)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
resourcestring–Resource type to tail
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

ticket_events_check ~48

Checks for a ticket Event with the provided messageId to have created a ticket in the PSA. Required: messageId. Returns array of string.

NameTypeReqDescription
messageIdstringyesMessage id

No output schema declared.

No examples provided.

usage ~444

usage subcommands: drift, push

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

usage_drift ~567

Use this command to see which accounts' usage actually changed since the previous push - the reconciliation pre-flight. Do NOT use this command to send counts; use 'usage push'. The Synthesize API has no read-back for pushed unit counts, so the local push ledger written by 'usage push' is the only history that exists anywhere. This command joins the two most recent push runs per account x service and emits only the rows that moved (plus pairs added or removed between runs).

NameTypeReqDescription
accountstring–Only compare counts for this accountId
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
servicestring–Only compare counts for this serviceId
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

usage_push ~610

Use this command to push many unit counts from a file with a single billing rebuild. Do NOT use this command to send one ad-hoc count; use the 'billing' command. Do NOT use it to compare against the prior push; use 'usage drift'. Reads a CSV (header: accountId,serviceId,unitCount) or a JSON array of {accountId, serviceId, unitCount} objects, fans out one POST /vendor-api/service/{serviceId}/count per row with no_build=true on every call except the last (so Gradient rebuilds billing exactly once), and records each row in the local push ledger that powers 'usage drift'.

NameTypeReqDescription
agentboolean–Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false)
allow-partial-failureboolean–Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false)
compactboolean–Return only key fields (id, name, status, timestamps) for minimal token usage (default: false)
csvboolean–Output as CSV (table and array responses) (default: false)
data-sourcestring–Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto)
dry-runboolean–Show request without sending (default: false)
human-friendlyboolean–Enable colored output and rich formatting (default: false)
idempotentboolean–Treat already-existing create results as a successful no-op (default: false)
jsonboolean–Output as JSON (default: false)
max-agestring–Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s)
no-buildboolean–Set no_build on EVERY call (defer the billing rebuild entirely; default rebuilds once after the last row) (default: false)
no-cacheboolean–Bypass response cache (default: false)
no-colorboolean–Disable colored output (default: false)
no-inputboolean–Disable all interactive prompts (for CI/agents) (default: false)
plainboolean–Output as plain tab-separated text (default: false)
quietboolean–Bare output, one value per line (default: false)
rate-limitnumber–Max requests per second (0 to disable) (default: 0)
selectstring–Comma-separated fields to include in output (e.g. --select id,name,status)
timeoutstring–Request timeout (default: 1m0s)
yesboolean–Skip confirmation prompts (for agents and scripts) (default: false)

No output schema declared.

No examples provided.

vendor_get ~18

Get Vendor Details. Returns the GetVendorResponse.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

vendor_update ~78

Update details for a vendor. Optional: description, integrationPortalUrl, name (plus 1 more). Returns the updated UpdateVendorResponse.

NameTypeReqDescription
descriptionstring–Description
integrationPortalUrlstring–Integration portal url
namestring–Name
vendorSupportPageUrlstring–Vendor support page url

No output schema declared.

No examples provided.

Install

How do I install the Gradient MSP MCP server?

Gradient MSP MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, bfca6e0a8777401edbeec273373757a7c4be7c785739656389305066f725bc7b; the commands to do that are on this page. If it does not match, do not open it.

mcpb · gradient-mcp.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

bfca6e0a8777401edbeec273373757a7c4be7c785739656389305066f725bc7b

macOS / Linux

echo "bfca6e0a8777401edbeec273373757a7c4be7c785739656389305066f725bc7b  gradient-mcp.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\gradient-mcp.mcpb).Hash -eq "bfca6e0a8777401edbeec273373757a7c4be7c785739656389305066f725bc7b"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the Gradient MSP MCP server?

Gradient MSP MCP is listed in the public MCP registry as io.github.Servosity/gradient-mcp. CLI and MCP server for Gradient MSP Synthesize: usage push, billing drift, alert tracing. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/gradient-v0.1.8/gradient-mcp.mcpb).

Is the Gradient MSP MCP server safe to use?

Gradient MSP MCP scores 51 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 Gradient MSP MCP server expose?

Gradient MSP MCP exposes 40 tools: accounts_create, accounts_list, accounts_update, accounts_update-one, alert, and 35 more. Their descriptions and schemas cost roughly 12,468 tokens of context every time the server is loaded.

What licence is the Gradient MSP MCP server under?

Gradient MSP MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.