Skip to main content
Glama

ScalePad MCP Server

An MCP server for the ScalePad APIs. One ScalePad API key gives an AI agent access to five products:

  • Core (read-only): the unified view of an MSP's clients, contacts, members, sites, opportunities, hardware and SaaS assets, service contracts, tickets and integrations.

  • Lifecycle Manager: client engagement and roadmaps - initiatives, goals, meetings, action items, assessments, deliverables, budgets, contracts, hardware lifecycle and warranties.

  • ControlMap: compliance per client - risks, controls, evidence and evidence requests, governance, policies, procedures, frameworks, assessments and action items.

  • Backup Radar (read-only): backup health and backup devices per client.

  • Quoter: quotes and quote templates, line items, catalog items, categories, contacts and suppliers.

On explicit request the agent can also create, update, attach, publish and delete records.

  • Transport: MCP Streamable HTTP at POST /mcp, health probe at GET /health

  • Stateless and multi-tenant: the API key arrives on every request as an HTTP header and is never stored; all 381 tools are listed from the first tools/list

  • Python 3.12, uv, FastMCP, httpx

  • License: Apache-2.0, Copyright 2026 MSPbots.ai

Authentication headers

Header

Required

Type

Default

Allowed values

Description

Example

X-ScalePad-Api-Key

Yes

string

none

-

ScalePad API key

your-api-key

X-ScalePad-Region

No

string

us

us, eu, ca, au

Region the ScalePad account is provisioned in

us

X-Quoter-Client-Id

No

string

none

-

Accepted for compatibility and ignored (see below)

-

X-Quoter-Client-Secret

No

string

none

-

Accepted for compatibility and ignored (see below)

-

Where to get them:

  • Sign in to ScalePad as an active Administrator and open your personal API keys page, choose New API key, give it a name and expiry (default 2 years) and copy the secret key. The key stops working if the user is deactivated or loses the Administrator permission.

  • Any paid ScalePad subscription unlocks the Core, Quoter and ControlMap APIs; Lifecycle Manager needs a higher subscription. Calls to a product without a subscription return HTTP

  • The region is the one the account was provisioned in. ControlMap is served in every region; Backup Radar in US and EU; Core, Lifecycle Manager and Quoter only on the US edge, so those tools always call api.scalepad.com.

  • Quoter is reached through the ScalePad API (https://api.scalepad.com/quoter/...) with the same API key, so no separate Quoter OAuth client is needed; the two Quoter headers are kept only so existing connections keep working.

How the key is sent to ScalePad: every call carries x-api-key: <key> to https://{api|eu.api|ca.api|au.api}.scalepad.com/{core|lifecycle-manager|controlmap|backup-radar|quoter}/.... Values that look like unresolved templates (${...}) are treated as missing.

A request to /mcp without the key gets HTTP 401; an unknown region gets HTTP 400.

Related MCP server: SyncroMSP MCP Server

Tools

All tools return a JSON string. Most ids are strings (some ControlMap ids are integers). List tools are cursor-paginated: page_size (1-200) and the next_cursor from the previous response as cursor; filter takes {field: value} pairs that are sent as filter[field]=value, and the accepted fields are listed in each tool's parameter description. Exports that return files (PDF, XLSX) come back as {content_type, size_bytes, base64} for small files and as metadata only for larger ones.

scalepad_navigate(domain) lists one product's tools with their purpose, and scalepad_status checks which products the key can reach. The table lists every tool; read tools change nothing, write tools change live records, destructive tools delete and cannot be undone.

Tool

Kind

Purpose

Required

scalepad_navigate

read

List one product's tools

domain

scalepad_status

read

Check which products the key can reach

-

Core (24 tools)

Tool

Kind

Purpose

Required

scalepad_core_clients_list

read

Get a detailed list of clients

-

scalepad_core_clients_get

read

Get a single client, identified by its unique ID

id

scalepad_core_contacts_list

read

Get a detailed list of contacts

-

scalepad_core_contacts_get

read

Get a single contact, identified by its unique ID

id

scalepad_core_members_list

read

Get a detailed list of members

-

scalepad_core_members_get

read

Get a single member, identified by its unique ID

id

scalepad_core_opportunities_list

read

Get a detailed list of opportunities

-

scalepad_core_opportunities_get

read

Get a single opportunity, identified by its unique ID

id

scalepad_core_sites_list

read

Get a list of client sites materialized from PSA location data

-

scalepad_core_sites_get

read

Get a single client site identified by its unique ID

id

scalepad_core_hardware_assets_list

read

Get a detailed list of hardware assets

-

scalepad_core_hardware_assets_get

read

Get a single hardware asset, identified by its unique ID

id

scalepad_core_saas_assets_list

read

Get a detailed list of SaaS assets

-

scalepad_core_saas_assets_get

read

Get a single SaaS asset, identified by its unique ID

id

scalepad_core_saas_users_list

read

Get a detailed list of SaaS users

-

scalepad_core_saas_users_get

read

Get a single SaaS user, identified by its unique ID

id

scalepad_core_product_catalog_list

read

Get product catalog records exported from PSA integrations

-

scalepad_core_product_catalog_get

read

Get a single product catalog record, identified by its unique ID

id

scalepad_core_integration_configurations_list

read

Return the list of integration configurations associated with the MSP

-

scalepad_core_integration_vendors_list

read

Get a complete list of integration vendors which can be used to identify third-party services

-

scalepad_core_contracts_list

read

Get a detailed list of contracts

-

scalepad_core_contracts_get

read

Get a single contract, identified by its unique ID

id

scalepad_core_tickets_list

read

Get a detailed list of tickets

-

scalepad_core_tickets_get

read

Get a single ticket, identified by its unique ID

id

Lifecycle Manager (193 tools)

Tool

Kind

Purpose

Required

scalepad_lm_contacts_list

read

List Lifecycle Manager contacts for accessible clients

-

scalepad_lm_contacts_hidden_status_update

write

Update whether a Lifecycle Manager contact is hidden

contact_id, is_hidden

scalepad_lm_contacts_get

read

Get a Lifecycle Manager contact by the contact's public ID

contact_id

scalepad_lm_clients_lookup

read

Search clients by name, returning a paged list of client id

-

scalepad_lm_client_groups_lookup

read

Find the Lifecycle Manager client groups a client belongs to

client_key

scalepad_lm_client_members_lookup

read

Search members

client_id

scalepad_lm_clients_list

read

Get paginated client summary by query parameter

-

scalepad_lm_client_groups_list

read

List all client groups for the authenticated partner account

-

scalepad_lm_client_groups_get

read

Get the details of a single client group, including its assigned users and clients

client_group_id

scalepad_lm_client_groups_unassign

write

Unassign clients and users from a client group

client_group_id

scalepad_lm_client_groups_assign

write

Assign clients and users to a client group

client_group_id

scalepad_lm_client_contacts_lookup

read

List Lifecycle Manager contacts for accessible clients

client_id

scalepad_lm_active_users_list

read

List the users that belong to the authenticated account, optionally including disabled users

-

scalepad_lm_warranty_pricing_list

read

List renewable warranty assets and their available monthly pricing options

-

scalepad_lm_hardware_replacement_settings_get

read

Get hardware replacement budget defaults by report asset type

-

scalepad_lm_hardware_dashboard_get

read

Get account- or client-scoped hardware totals, replacement due and soon counts

-

scalepad_lm_hardware_overview_get

read

Get a hardware asset overview for a hardware asset id or unique key, including summary

hardware_key

scalepad_lm_hardware_list

read

List hardware assets with client ownership and basic device fields

-

scalepad_lm_hardware_lifecycles_list

read

Get a list of active hardware lifecycle records from Lifecycle Manager

-

scalepad_lm_hardware_attached_initiatives_lookup

read

Get the initiatives attached to a hardware asset identified by its unique key

hardware_key

scalepad_lm_hardware_attached_agreements_lookup

read

List Hardware Asset Attached Agreements

hardware_key

scalepad_lm_roadmap_spreadsheet_generate

read

Generate a spreadsheet for a roadmap

client_id

scalepad_lm_roadmap_pdf_generate

read

Generate a pdf for a roadmap

client_id

scalepad_lm_roadmap_csv_generate

read

Generate a csv for a roadmap

client_id

scalepad_lm_initiatives_status_update

write

Change the current status of an initiative to reflect its progress in the business workflow

id, status

scalepad_lm_initiatives_schedule_update

write

Update the fiscal planning timeline for when resources will be allocated to this initiative

id, fiscal_quarter

scalepad_lm_initiatives_recurring_update

write

Manage the ongoing financial commitments of an initiative by updating the complete set of

id, recurring_line_items

scalepad_lm_initiatives_priority_update

write

Adjust the business priority level of an initiative to reflect its strategic importance

id, priority

scalepad_lm_initiatives_budget_update

write

Revise the complete financial plan for an initiative by providing a comprehensive breakdown of

id, budget_line_items

scalepad_lm_initiatives_assigned_user_update

write

Update the user assigned to an initiative

initiative_id, assigned_user_id

scalepad_lm_initiatives_ticket_get

read

Get the current state of the PSA ticket linked to an initiative

initiative_id

scalepad_lm_initiatives_ticket_create

write

Create a PSA ticket and link it to the initiative

initiative_id, field_values

scalepad_lm_initiatives_ticket_detach

write

Detach (unlink) the PSA ticket associated with an initiative

initiative_id

scalepad_lm_initiative_templates_duplicate

write

Duplicate an initiative template into a new account-scoped copy

initiative_template_id

scalepad_lm_initiative_templates_get

read

Get a specific initiative template by its unique identifier

initiative_template_id

scalepad_lm_initiative_templates_update

write

Update an account-scoped initiative template's name, summary, budget, recurring costs

initiative_template_id, initiative_template

scalepad_lm_initiative_templates_delete

destructive

Delete an account-scoped initiative template that is no longer needed

initiative_template_id

scalepad_lm_initiative_templates_list

read

Get all initiative templates available to the account, grouped by platform-provided

-

scalepad_lm_initiative_templates_create

write

Create a new account-scoped initiative template with budget, recurring costs, and action items

initiative_template

scalepad_lm_initiatives_template_apply

write

Apply an initiative template to an existing initiative, replacing its budget, recurring costs

initiative_id, initiative_template_id

scalepad_lm_initiatives_quotes_list

read

List all quotes linked to a specific initiative, along with status metadata

initiative_id

scalepad_lm_initiatives_pdf_get

read

Download a formatted PDF of an initiative, including its executive summary, budget

initiative_id

scalepad_lm_initiatives_opportunity_get

read

Get the PSA opportunity linked to an initiative

initiative_id

scalepad_lm_initiatives_opportunity_create

write

Create a PSA opportunity for an initiative and link it

initiative_id, field_values

scalepad_lm_initiatives_opportunity_delete

destructive

Detach the PSA opportunity associated with an initiative

initiative_id

scalepad_lm_initiatives_opportunity_attach

write

Attach an existing PSA opportunity to an initiative so the roadmap item is connected to revenue

initiative_id, opportunity_id

scalepad_lm_initiatives_meetings_list

read

Get the meetings that are aligned with a specific initiative

initiative_id

scalepad_lm_initiatives_meetings_attach

write

Attach an existing meeting to an initiative to establish alignment between client discussions

initiative_id, meeting_id

scalepad_lm_initiatives_meetings_detach

write

Detach a meeting and an initiative, without deleting either entity

initiative_id, meeting_id

scalepad_lm_initiatives_list_v2

read

Get a list of all strategic initiatives with filtering options

-

scalepad_lm_initiatives_goals_list

read

Get all goals that are aligned with a specific initiative

initiative_id

scalepad_lm_initiatives_goals_attach

write

Attach an existing goal to an initiative to establish alignment between strategic objectives

initiative_id, goal_id

scalepad_lm_initiatives_goals_detach

write

Detach a goal and an initiative, without deleting either entity

initiative_id, goal_id

scalepad_lm_initiatives_get

read

Access complete details of a specific initiative including its budget, recurring costs, status

id

scalepad_lm_initiatives_update

write

Partially update initiative details including name, description, internal visibility

id

scalepad_lm_initiatives_delete

destructive

Permanently remove an initiative that is no longer relevant to business operations

id

scalepad_lm_initiatives_list

read

Get a comprehensive list of all strategic initiatives with filtering options

-

scalepad_lm_initiatives_create

write

Create a new strategic initiative with all necessary details to establish a program, project

client_key, name

scalepad_lm_initiatives_assets_detach

write

Detach hardware assets from an initiative without deleting either entity

initiative_id, hardware_keys

scalepad_lm_initiatives_assets_attach

write

Attach one or more hardware assets to an initiative by hardware identifier

initiative_id, hardware_keys

scalepad_lm_initiatives_action_items_list

read

Get all action items that are aligned with a specific initiative

initiative_id

scalepad_lm_initiatives_action_items_attach

write

Attach an existing action item to an initiative to establish alignment between tasks

initiative_id, action_item_id

scalepad_lm_initiatives_action_items_detach

write

Detach an action item and an initiative, without deleting either entity

initiative_id, action_item_id

scalepad_lm_goal_templates_get

read

Get full details of a specific goal template

goal_template_id

scalepad_lm_goal_templates_update

write

Modify an existing account-owned goal template

goal_template_id, goal_template

scalepad_lm_goal_templates_delete

destructive

Delete an account-owned goal template that is no longer needed

goal_template_id

scalepad_lm_goal_templates_list

read

Get all goal templates visible to the authenticated account with optional title search

-

scalepad_lm_goal_templates_create

write

Create a new account-owned goal template

goal_template

scalepad_lm_goals_status_update

write

Change goal status to reflect its current state in the business workflow

id, status

scalepad_lm_goals_schedule_update

write

Update goal target period to reflect its current state in the business workflow

id, target_period

scalepad_lm_goals_meetings_list

read

Get all meetings that is aligned with this goal

goal_id

scalepad_lm_goals_meetings_attach

write

Attach an existing meeting to a goal to establish that this strategic objective will be

goal_id, meeting_id

scalepad_lm_goals_meetings_detach

write

Detach a meeting and a goal without deleting the meeting itself

goal_id, meeting_id

scalepad_lm_goals_initiatives_list

read

Get all initiatives that are aligned with this goal

goal_id

scalepad_lm_goals_initiatives_attach

write

Attach an existing initiative to a goal to establish a relationship between the strategic

goal_id, initiative_id

scalepad_lm_goals_initiatives_detach

write

Detach an initiative and a goal without deleting the initiative itself

goal_id, initiative_id

scalepad_lm_goals_get

read

Get a goal record in Lifecycle Manager by the goal's id

id

scalepad_lm_goals_update

write

Partially update goal details including title, rich-text description, status, target period

id

scalepad_lm_goals_delete

destructive

Delete a goal that is no longer relevant to business operations

id

scalepad_lm_goals_create_from_template

write

Create a new goal from an existing goal template

goal_template_id, client_key

scalepad_lm_goals_list

read

List all goals to help you quickly find relevant objectives with filtering options

-

scalepad_lm_goals_create

write

Create a new goal with all necessary details to establish a measurable objective

client_key, title

scalepad_lm_goals_action_items_list

read

Get all action items that are linked to this goal

goal_id

scalepad_lm_goals_action_items_attach

write

Attach an existing action item to a goal to track tasks that contribute toward the goal's

goal_id, action_item_id

scalepad_lm_goals_action_items_detach

write

Detach an action item from a goal without deleting either entity

goal_id, action_item_id

scalepad_lm_meetings_update_v2

write

Update core information about a meeting

id

scalepad_lm_meeting_types_update

write

Update a Meeting Type's label

meeting_type_id, label

scalepad_lm_meeting_types_delete

destructive

Delete a Meeting Type that is no longer relevant to business operations

meeting_type_id

scalepad_lm_meeting_types_list

read

List all Meeting Types currently available

-

scalepad_lm_meeting_types_create

write

Create a new Meeting Type with a label

label

scalepad_lm_meetings_initiatives_list

read

Get the IDs of initiatives that have been attached to a meeting

meeting_id

scalepad_lm_meetings_initiatives_attach

write

Attach an existing initiative to a meeting to include it as a discussion topic on the meeting

meeting_id, initiative_id

scalepad_lm_meetings_initiatives_detach

write

Detach an initiative and a meeting without deleting the initiative itself

meeting_id, initiative_id

scalepad_lm_meetings_goals_list

read

Get all goals that have been attached to a meeting

meeting_id

scalepad_lm_meetings_goals_attach

write

Attach an existing goal to a meeting to include it as a discussion topic on the meeting agenda

meeting_id, goal_id

scalepad_lm_meetings_goals_detach

write

Detach a goal and a meeting without deleting the goal itself, removing it from the meeting agenda

meeting_id, goal_id

scalepad_lm_meetings_get

read

Access complete details of a specific meeting

id

scalepad_lm_meetings_update

write

Update core information about a meeting

id

scalepad_lm_meetings_delete

destructive

Remove a meeting that is no longer needed

id

scalepad_lm_meetings_create_v2

write

Schedule a new client meeting

client_key, title

scalepad_lm_meetings_list

read

Get a comprehensive list of all client meetings with filtering options

-

scalepad_lm_meetings_create

write

Schedule a new client meeting

client_key, title

scalepad_lm_meetings_completion_status_update

write

Update the completion status of a meeting

id, is_completed

scalepad_lm_meetings_user_attendees_remove

write

Remove user attendees from the meeting

id, user_keys

scalepad_lm_meetings_user_attendees_add

write

Add users as meeting attendees

id, user_keys

scalepad_lm_meetings_contact_attendees_remove

write

Remove client contact attendees from the meeting

id, contact_keys

scalepad_lm_meetings_contact_attendees_add

write

Add one or more client contacts as attendees

id, contact_keys

scalepad_lm_meetings_action_items_list

read

Get all action items created during or linked to a specific meeting

meeting_id

scalepad_lm_meetings_action_items_attach

write

Attach an existing action item to a meeting to include it as a discussion topic or tracked

meeting_id, action_item_id

scalepad_lm_meetings_action_items_detach

write

Detach an action item and a meeting without deleting the action item itself

meeting_id, action_item_id

scalepad_lm_action_items_reposition

write

Reposition an action item within the account's manual sort order

id

scalepad_lm_action_items_pin_update

write

Pin or unpin an action item so it appears above other open action items in task lists

id, is_pinned

scalepad_lm_action_items_completion_status_update

write

Mark an action item as incomplete or completed to reflect the status of an action item

id, is_completed

scalepad_lm_action_items_get

read

Get an action item by the item's id

id

scalepad_lm_action_items_update

write

Update an existing action item with all necessary details for an action

id, update_payload

scalepad_lm_action_items_delete

destructive

Delete an action item that is no longer relevant to business operations

id

scalepad_lm_action_items_list

read

Get a list of action items

-

scalepad_lm_action_items_create

write

Create a new action item

client_key, description

scalepad_lm_assessment_templates_get

read

Get comprehensive details of a specific assessment template including all categories, questions

assessment_template_id

scalepad_lm_assessment_templates_update

write

Modify an existing assessment template including its structure, categories, questions

assessment_template_id, assessment_template

scalepad_lm_assessment_templates_delete

destructive

Archive an assessment template so it no longer appears in the active list

assessment_template_id

scalepad_lm_assessment_templates_list

read

Get a comprehensive list of all assessment template overviews for the account

-

scalepad_lm_assessment_templates_create

write

Create a new assessment template with custom categories, questions, and criteria

assessment_template

scalepad_lm_assessments_question_public_comment_update

write

Update the public comment on an assessment question

assessment_id, question_id

scalepad_lm_assessments_question_internal_comment_update

write

Update the internal comment on an assessment question

assessment_id, question_id

scalepad_lm_assessments_internal_comment_update

write

Leave an internal comment for an existing assessment

id, internal_comment

scalepad_lm_assessments_evaluate

write

Evaluate an assessment by selecting criteria for multiple questions

id, question_evaluations

scalepad_lm_assessments_get

read

Access complete details of a specific assessment including its evaluation

id

scalepad_lm_assessments_update

write

Update assessment details including title, evaluate user and datetime

id

scalepad_lm_assessments_delete

destructive

Permanently remove an assessment that is no longer relevant to business operations

id

scalepad_lm_assessments_list

read

Get a comprehensive list of all assessments overview with filtering options

-

scalepad_lm_assessments_create

write

Create a new assessment based on a assessment template

client_key, title

scalepad_lm_assessments_completion_status_update

write

Toggle an assessment's complete status

id, is_completed

scalepad_lm_deliverables_pdf_get

read

Download a PDF for the specified deliverable

deliverable_id

scalepad_lm_deliverables_get

read

Get a deliverable by its ID, including all sections and components

deliverable_id

scalepad_lm_deliverables_update

write

Update an existing deliverable with the provided fields

deliverable_id

scalepad_lm_deliverables_delete

destructive

Delete a deliverable by its ID, including all associated sections and components

deliverable_id

scalepad_lm_deliverables_create_from_template

write

Create a new deliverable by copying an existing template

client_id, template_id

scalepad_lm_client_deliverables_list

read

List all deliverable available for the specified client

client_id

scalepad_lm_deliverables_create

write

Create a new deliverable for the specified client

client_id, name

scalepad_lm_deliverables_catalog_components_list

read

List all deliverable catalog components available for the specified client

client_id

scalepad_lm_deliverables_catalog_integrations_list

read

List all available deliverable integrations in the catalog

-

scalepad_lm_deliverables_integrated_integrations_list

read

List deliverable integrations that are integrated for a client, including their configuration

client_id

scalepad_lm_deliverables_presentation_get

read

Get deliverable content and MSP branding for presentation

deliverable_id

scalepad_lm_deliverables_sections_refresh

write

Refresh the data of all the components under a deliverable section

deliverable_id, section_id

scalepad_lm_deliverables_sections_delete

destructive

Delete a deliverable section by its ID, including all associated components

deliverable_id, section_id

scalepad_lm_deliverables_components_refresh

write

Refresh the data of a deliverable section component

deliverable_id, section_id, component_id

scalepad_lm_deliverables_components_delete

destructive

Delete a deliverable section component by its ID

deliverable_id, section_id, component_id

scalepad_lm_deliverable_templates_get

read

Get a deliverable template by its ID, including all sections and components

template_id

scalepad_lm_deliverable_templates_update

write

Update an existing deliverable template with the provided fields

template_id

scalepad_lm_deliverable_templates_delete

destructive

Delete a deliverable template by its ID, including all associated sections and components

template_id

scalepad_lm_deliverable_templates_duplicate

write

Create a new deliverable template by copying an existing template

template_id

scalepad_lm_deliverable_templates_create_from_deliverable

write

Create a new deliverable template by extracting the structure from an existing deliverable

deliverable_id

scalepad_lm_deliverable_templates_list

read

List all deliverable templates available, including both ScalePad and custom templates

-

scalepad_lm_deliverable_templates_create

write

Create a new deliverable template for the account

name

scalepad_lm_deliverable_templates_catalog_components_list

read

List all deliverable catalog components available for use in templates

-

scalepad_lm_deliverable_templates_sections_delete

destructive

Delete a deliverable template section by its ID, including all associated components

template_id, section_id

scalepad_lm_deliverable_templates_components_delete

destructive

Delete a deliverable template section component by its ID

template_id, section_id, component_id

scalepad_lm_deliverables_share_link_revoke

destructive

Revoke the general share link for the specified deliverable

deliverable_id

scalepad_lm_deliverables_share_link_regenerate

destructive

Generate a new general share link for the specified deliverable

deliverable_id

scalepad_lm_deliverables_share_link_get

read

Get the general share link for a specific deliverable

deliverable_id

scalepad_lm_deliverables_share_link_create

write

Create a new general share link for the specified deliverable

deliverable_id

scalepad_lm_deliverables_list

read

List deliverables across the caller's account with optional client-scoped filtering, sorting

-

scalepad_lm_budget_summary_get

read

Get aggregate per-type totals for a client's budget forecast across the requested period window

client_id

scalepad_lm_budget_it_debt_list

read

List a client's IT Debt assets with per-period forecast amounts, sorted and paginated

client_id

scalepad_lm_budget_initiatives_list

read

List a client's initiatives with per-period forecast amounts, sorted and paginated

client_id

scalepad_lm_budget_forecast_pdf_get

read

Generate a PDF for a client's budget forecast (overview)

client_id

scalepad_lm_budget_forecast_detail_pdf_get

read

Generate a detailed PDF for a client's budget forecast

client_id

scalepad_lm_budget_forecast_csv_get

read

Generate a CSV export for a client's budget forecast

client_id

scalepad_lm_budget_contracts_list

read

List a client's contracts with per-period forecast amounts, sorted and paginated

client_id

scalepad_lm_budget_availabilities_get

read

Get the option lists used to construct Budget API queries for a single client

client_id

scalepad_lm_contracts_get

read

Get Contract

id

scalepad_lm_contracts_update

write

Update Contract

id, update_payload

scalepad_lm_contracts_delete

destructive

Delete Contract

id

scalepad_lm_contracts_list

read

List Contracts

-

scalepad_lm_contracts_create

write

Create Contract

client_key, create_payload

scalepad_lm_contracts_assets_detach

write

Detach Contract Assets

contract_id, hardware_keys

scalepad_lm_contracts_assets_attach

write

Attach Contract Assets

contract_id, hardware_keys

scalepad_lm_user_identity_get

read

User identity get (not available in the ScalePad API)

-

scalepad_lm_ticket_create_fields_get

read

Get the available PSA ticket creation fields for the primary PSA, including required

-

scalepad_lm_opportunity_create_fields_get

read

Get PSA opportunity create fields for a client, including integration availability

-

scalepad_lm_opportunities_list

read

List PSA opportunities for a client

-

scalepad_lm_notes_get

read

Get a note's full details

id

scalepad_lm_notes_update

write

Update title and description of a note

id

scalepad_lm_notes_delete

destructive

Delete a note

id

scalepad_lm_notes_list

read

Get a comprehensive list of all notes with filtering options

-

scalepad_lm_notes_create

write

Create a new note for a client

client_key, title

scalepad_lm_notes_archive_status_update

write

Mark the notes as archive or bring an archived notes back to active

id, is_archived

scalepad_lm_user_ui_state_get

read

User ui state get (not available in the ScalePad API)

state_key

scalepad_lm_user_ui_state_put

read

Put User UI State (not available in the ScalePad API)

state_key, payload

scalepad_lm_insights_list

read

Return the insights applicable to the requested client

-

scalepad_lm_enrollment_tokens_create

write

Create an enrollment token for a client

client_id

scalepad_lm_saas_utilization_summary_get

read

Return SaaS-utilization summary metrics for a client: app counts

client_id

ControlMap (98 tools)

Tool

Kind

Purpose

Required

scalepad_cm_health_list

read

Return compliance health metrics for each client of an MSP

-

scalepad_cm_health_get

read

Return detailed compliance health metrics for a single MSP client

client_id

scalepad_cm_reports_list

read

Get a paginated list of reports for a client, with support for filtering with PII, sorting

client_id

scalepad_cm_reports_get_signed_url

read

Return metadata for a specific report document and a secure, time-limited pre-signed URL

client_id, report_id

scalepad_cm_risks_search

read

Get a paginated list of risks associated with a specific client

client_id

scalepad_cm_risks_get

read

Return detailed information for a specific risk identified by its ID for the given client

client_id, risk_id

scalepad_cm_risks_create

write

Create a new risk for the specified client with the provided details

client_id, name

scalepad_cm_risks_update

write

Update specific fields of a risk

client_id, risk_id

scalepad_cm_risks_delete

destructive

Delete an existing risk identified by its risk ID for the specified client

client_id, risk_id

scalepad_cm_risks_list_summaries

read

Return paginated risk summaries for all partner clients

-

scalepad_cm_risks_map

write

Map a risk to assets, asset types, threats, vulnerabilities, vendors, objectives, controls

client_id, risk_id

scalepad_cm_risks_unmap

write

Remove links between a risk and the given assets, asset types, threats, vulnerabilities

client_id, risk_id

scalepad_cm_risks_get_category

read

Return detailed information for a specific risk category identified by its ID

client_id, risk_category_id

scalepad_cm_risks_list_departments

read

Get all departments available for risk assignment for the specified client

client_id

scalepad_cm_controls_search

read

Get a paginated list of controls for a specific client

client_id

scalepad_cm_controls_get

read

Return detailed information for a specific control identified by its ID for the given client

client_id, control_id

scalepad_cm_controls_create

write

Create a control for for the specified client with the provided details

client_id, name

scalepad_cm_controls_update

write

Update specific fields of a control

client_id, control_id

scalepad_cm_controls_delete

destructive

Delete an existing Control identified by its control ID for the specified client

client_id, control_id

scalepad_cm_controls_map

write

Map policies, procedures, governance documents, risks, evidences, action items

client_id, control_id

scalepad_cm_controls_unmap

write

Remove links between a client control and policies, procedures, governance documents, risks

client_id, control_id

scalepad_cm_controls_list_sets

read

Return a paginated list of control sets for the client tenant

client_id

scalepad_cm_controls_list_families

read

Return a paginated list of control families for the client tenant

client_id

scalepad_cm_controls_list_summaries

read

Return paginated control summary metrics for all partner clients

-

scalepad_cm_controls_get_summary

read

Return aggregate control metrics for the requested client

client_id

scalepad_cm_evidence_search

read

Return a paginated list of evidences belonging to the specified client

client_id

scalepad_cm_evidence_list_summaries

read

Return paginated evidence summaries for all partner clients

-

scalepad_cm_evidence_create

write

Create a new evidence with all necessary details

client_id, title

scalepad_cm_evidence_get

read

Get detailed information about a specific evidence using its unique identifier

client_id, evidence_id

scalepad_cm_evidence_update

write

Partially update an existing evidence for the specified client

client_id, evidence_id

scalepad_cm_evidence_delete

destructive

Delete an evidence that is no longer required for compliance or business purposes

client_id, evidence_id

scalepad_cm_evidence_delete_schedule

destructive

Delete Evidence Schedule (Deprecated)

client_id, evidence_id

scalepad_cm_evidence_requests_list

read

Get all evidence requests and it's document associated with a specific evidence record

client_id, evidence_id

scalepad_cm_evidence_requests_create

write

Create a new request inside an existing evidence

client_id, evidence_id

scalepad_cm_evidence_requests_create_with_urls

write

Create an new evidence request and generates pre-signed URL(s)

client_id, evidence_id, file_name, file_size_bytes

scalepad_cm_evidence_requests_signed_urls

write

Generate pre-signed URL to upload document(s) for the specified evidence request

client_id, evidence_request_id, file_name, file_size_bytes

scalepad_cm_evidence_requests_upload_document

write

Upload a document up to 10 MB and attaches it to the specified evidence request

client_id, evidence_request_id, file

scalepad_cm_evidence_requests_create_with_upload

write

Create a new evidence request and uploads a document up to 10 MB

client_id, evidence_id, file

scalepad_cm_evidence_requests_create_link

write

Create a new hyperlink and associates it with an evidence request

client_id, evidence_request_id, name, hyperlink

scalepad_cm_evidence_requests_update

write

Update specific fields of an evidence request

client_id, evidence_request_id

scalepad_cm_evidence_requests_delete

destructive

Delete a specific evidence request associated with an evidence

client_id, evidence_request_id

scalepad_cm_evidence_requests_archive

write

Archive an existing evidence request and records audit metadata

client_id, evidence_request_id

scalepad_cm_evidence_refresh_mappings

write

Trigger a refresh of all evidence mappings for the specified client

client_id

scalepad_cm_documents_get_signed_url

read

Get a time-limited signed URL for downloading the specified document

client_id, document_id

scalepad_cm_documents_delete

destructive

Delete the specified document for the given client

client_id, document_id

scalepad_cm_evidence_map

write

Map an evidence to objectives and/or controls for a client

client_id, evidence_id

scalepad_cm_evidence_unmap

write

Remove links between an evidence and the given objectives (requirements) and/or controls

client_id, evidence_id

scalepad_cm_governance_search

read

Get a paginated list of governance for a specific client

client_id

scalepad_cm_governance_create

write

Create a new governance for the specified client with the provided details

client_id, title

scalepad_cm_governance_get

read

Return detailed information for a specific governance identified by its ID for the given client

client_id, governance_id

scalepad_cm_governance_update

write

Update specific fields of a governance

client_id, governance_id

scalepad_cm_governance_delete

destructive

Delete an existing governance identified by its governance ID for the specified client

client_id, governance_id

scalepad_cm_governance_map

write

Map a governance to framework requirements (objectives), policies, and/or controls for a client

client_id, governance_id

scalepad_cm_governance_unmap

write

Remove links between a client governance and given objectives (requirements), policies

client_id, governance_id

scalepad_cm_governance_list_summaries

read

Return paginated governance summaries for all partner clients

-

scalepad_cm_policies_search

read

Get a paginated list of policies for a specific client

client_id

scalepad_cm_policies_create

write

Create a new policy for the specified client with the provided details

client_id, title

scalepad_cm_policies_get

read

Return detailed information for a specific policy identified by its ID for the given client

client_id, policy_id

scalepad_cm_policies_update

write

Update specific fields of a policy

client_id, policy_id

scalepad_cm_policies_delete

destructive

Delete an existing policy identified by its policy ID for the specified client

client_id, policy_id

scalepad_cm_policies_upsert_section

write

Create or updates an HTML policy section using title and description (snake_case JSON)

client_id, policy_id, title

scalepad_cm_policies_delete_section

destructive

Delete an existing policy section identified by its section ID for the specified client policy

client_id, policy_id, section_id

scalepad_cm_policies_map

write

Map a policy to framework objectives and/or controls for a client

client_id, policy_id

scalepad_cm_policies_unmap

write

Remove links between a client policy and the framework objectives and/or controls in the request

client_id, policy_id

scalepad_cm_policies_list_summaries

read

Return paginated Policy summaries for all partner clients

-

scalepad_cm_procedures_search

read

Get a paginated list of procedures for a specific client

client_id

scalepad_cm_procedures_create

write

Create a new procedure for the specified client with the provided details

client_id, title

scalepad_cm_procedures_get

read

Return detailed information for a specific procedure identified by its ID for the given client

client_id, procedure_id

scalepad_cm_procedures_update

write

Update specific fields of a procedure document (procedure rows only, not governance documents)

client_id, procedure_id

scalepad_cm_procedures_delete

destructive

Delete an existing procedure identified by its procedure ID for the specified client

client_id, procedure_id

scalepad_cm_procedures_map

write

Map a client procedure to framework requirements (objectives), policies, and/or controls

client_id, procedure_id

scalepad_cm_procedures_unmap

write

Remove links between a client procedure and framework requirements (objectives), policies

client_id, procedure_id

scalepad_cm_procedures_list_summaries

read

Return paginated Procedure summaries for all partner clients

-

scalepad_cm_objectives_search

read

Get a paginated list of objectives associated with a specific client

client_id, framework_id

scalepad_cm_objectives_get

read

Return a single objective for the specified client and framework

client_id, framework_id, objective_id

scalepad_cm_objectives_get_summary

read

Return Objective summary for a single client

client_id

scalepad_cm_objectives_list_summaries

read

Return paginated Objective summaries for all partner clients

-

scalepad_cm_assessments_list_summaries

read

Return paginated Assessment Overview for all partner clients

-

scalepad_cm_assessments_get_summary

read

Return comprehensive assessment summary for a client

client_id

scalepad_cm_assessments_search_questions

read

Return a paginated list of assessment questions for the specified client

client_id

scalepad_cm_assessments_get_question

read

Return full assessment question details for the question identified by question code

client_id, question_code

scalepad_cm_assessments_save_answer

write

Submit or updates the selected answer for the assessment question identified by question_code

client_id, question_code, answer

scalepad_cm_assessments_clear_answer

destructive

Clear the existing answer for the specified assessment question

client_id, question_code

scalepad_cm_assessments_map_question

write

Map an assessment question to evidences, action items, policies, or procedures for a client

client_id, question_code

scalepad_cm_assessments_unmap_question

write

Unmap Assessment Question from Items (Deprecated)

client_id, question_code

scalepad_cm_assessments_create_response

write

Create a response for a client's assessment question

client_id, question_code, response

scalepad_cm_assessments_update_response

write

Partially update a question response

client_id, question_code, id

scalepad_cm_assessments_delete_response

destructive

Delete a assessment question response

client_id, question_code, response_id

scalepad_cm_action_items_search

read

Get a paginated list of action items for a specific client

client_id

scalepad_cm_action_items_get

read

Get a specific action item for a given client

client_id, action_item_id

scalepad_cm_action_items_create

write

Create a new action item for the specified client with the provided details Allowed values

client_id, weakness_name

scalepad_cm_action_items_update

write

Update specific fields of an action item request

client_id, action_item_id

scalepad_cm_action_items_delete

destructive

Delete an existing action item identified by its action item ID for the specified client

client_id, action_item_id

scalepad_cm_action_items_map

write

Map an action item to objectives, assessment questions, risks, controls, assets

client_id, action_item_id

scalepad_cm_action_items_unmap

write

Remove links between an action item and the given objectives (requirements)

client_id, action_item_id

scalepad_cm_action_items_upload_document

write

Upload a document up to 10 MB and associates it with the specified action item

client_id, action_item_id, file

scalepad_cm_action_items_generate_signed_urls

write

Generate pre-signed URL(s) to upload document(s) for the specified action item

client_id, action_item_id, file_name, file_size_bytes

scalepad_cm_action_items_list_summaries

read

Get a paginated summary of action items grouped by client

-

Backup Radar (3 tools)

Tool

Kind

Purpose

Required

scalepad_br_backups_list_health

read

Return a cursor-paginated list of clients whose backup health matches the optional filters

-

scalepad_br_backups_get_health

read

Return backup health for one client

id

scalepad_br_backups_list_devices

read

Return a cursor-paginated list of backup devices whose names match the optional filters

-

Quoter (61 tools)

Tool

Kind

Purpose

Required

scalepad_quoter_quotes_list

read

Get a paginated list of all Quotes

-

scalepad_quoter_quotes_get

read

Get a quote revision with the full display payload - sections, line items, totals, contacts

quote_id

scalepad_quoter_quotes_create

write

Create a new draft quote from a template

contact, template_id

scalepad_quoter_quotes_publish

write

Transition a draft quote into the published state

quote_id

scalepad_quoter_quotes_create_section

write

Add one or more sections to a draft quote

quote_id, name

scalepad_quoter_quotes_create_section_line_item

write

Add one or more line items to a section on a draft quote

quote_id, section_id, name

scalepad_quoter_quotes_update_line_item

write

Patch a line item on a draft quote

quote_id, section_id, line_item_id

scalepad_quoter_line_items_create

write

Create Line Item

quote_id, name

scalepad_quoter_quote_templates_list

read

Get a paginated list of all Quote Templates

-

scalepad_quoter_categories_list

read

Get a list of all categories available in the system

-

scalepad_quoter_categories_create

write

Add a new category to organize items

name

scalepad_quoter_categories_get

read

Get detailed information about a specific category

id

scalepad_quoter_categories_update

write

Modify the properties or configuration of an existing category

id

scalepad_quoter_categories_delete

destructive

Remove a category from the system

id

scalepad_quoter_item_group_assignments_list

read

Get a list of all item group assignments available in the system

-

scalepad_quoter_item_group_assignments_create

write

Assign an item to an item group

item_group_id, item_id

scalepad_quoter_item_group_assignments_get

read

Get detailed information about a specific item group assignment

id

scalepad_quoter_item_group_assignments_delete

destructive

Remove an item group assignment from the system

id

scalepad_quoter_item_groups_list

read

Get a list of all item groups available in the system

-

scalepad_quoter_item_groups_create

write

Add a new item group to organize items

name

scalepad_quoter_item_groups_get

read

Get detailed information about a specific item group

id

scalepad_quoter_item_groups_update

write

Modify the properties or configuration of an existing item group

id

scalepad_quoter_item_groups_delete

destructive

Remove an item group from the system

id

scalepad_quoter_item_option_values_list

read

Get a list of all item option values available in the system

-

scalepad_quoter_item_option_values_create

write

Add a new value to an item option

item_option_id, name

scalepad_quoter_item_option_values_get

read

Get detailed information about a specific item option value

id

scalepad_quoter_item_option_values_update

write

Modify the properties or configuration of an existing item option value

id

scalepad_quoter_item_option_values_delete

destructive

Remove an item option value from an item option

id

scalepad_quoter_item_options_list

read

Get a list of all item options available in the system

-

scalepad_quoter_item_options_create

write

Add a new item option to an item

item_id, name

scalepad_quoter_item_options_get

read

Get detailed information about a specific item option

id

scalepad_quoter_item_options_update

write

Modify the properties or configuration of an existing item option

id

scalepad_quoter_item_options_delete

destructive

Remove an item option from an item

id

scalepad_quoter_item_tiers_list

read

Get a list of all item tiers available in the system

-

scalepad_quoter_item_tiers_create

write

Add a new pricing tier to an item

item_id

scalepad_quoter_item_tiers_get

read

Get detailed information about a specific item tier

id

scalepad_quoter_item_tiers_update

write

Modify the properties or configuration of an existing item tier

id

scalepad_quoter_item_tiers_delete

destructive

Remove an item tier from an item

id

scalepad_quoter_items_list

read

Get a list of all items available in the system

-

scalepad_quoter_items_create

write

Add a new item to your product catalog

name, category_id

scalepad_quoter_items_get

read

Get detailed information about a specific item

id

scalepad_quoter_items_update

write

Modify the properties or configuration of an existing item

id

scalepad_quoter_items_delete

destructive

Remove an item from your product catalog

id

scalepad_quoter_manufacturers_list

read

Get a list of all manufacturers available in the system

-

scalepad_quoter_manufacturers_create

write

Add a new manufacturer to the system

name

scalepad_quoter_manufacturers_get

read

Get detailed information about a specific manufacturer

id

scalepad_quoter_manufacturers_update

write

Modify the properties or configuration of an existing manufacturer

id

scalepad_quoter_manufacturers_delete

destructive

Remove a manufacturer from the system

id

scalepad_quoter_contacts_list

read

Get a list of contacts

-

scalepad_quoter_contacts_create

write

Create a new contact with billing and optional shipping details

-

scalepad_quoter_contacts_get

read

Get a contact by its id

id

scalepad_quoter_contacts_update

write

Update a specific contact's information by its id

id

scalepad_quoter_suppliers_list

read

Get a list of all suppliers available in the system

-

scalepad_quoter_suppliers_create

write

Add a new supplier to the system

name

scalepad_quoter_suppliers_get

read

Get detailed information about a specific supplier

id

scalepad_quoter_suppliers_update

write

Modify the properties or configuration of an existing supplier

id

scalepad_quoter_suppliers_delete

destructive

Remove a supplier from the system

id

scalepad_quoter_datafeeds_list_supplier_items

read

Get supplier item data for specified MPNs from suppliers configured through SupplierSync

-

scalepad_quoter_datafeeds_list_suppliers

read

Get a list of suppliers configured through SupplierSync

-

scalepad_quoter_auth_authorize

read

Auth authorize (not available in the ScalePad API)

-

scalepad_quoter_auth_refresh

read

Auth refresh (not available in the ScalePad API)

refresh_token

Errors come back as a JSON envelope instead of an exception:

{"error": {"code": "unauthorized", "message": "ScalePad returned HTTP 402 for /lifecycle-manager/v1/contacts: PRODUCT_SUBSCRIPTION_REQUIRED Lifecycle Manager subscription required ...", "retryable": false}}

code is one of not_configured, unauthorized, not_found, invalid_argument, rate_limited, upstream_error; ScalePad's error code, title and detail are included. Reads are retried with backoff on 429 (honouring Retry-After), 5xx and network errors; writes are retried only on 429, so a write never runs twice.

Run locally

uv sync
uv run python -m scalepad_mcp          # listens on 0.0.0.0:8080

or with Docker:

docker build --platform linux/amd64 -t scalepad-mcp:dev .
docker run --rm -p 8080:8080 scalepad-mcp:dev

Configuration (environment variables, all optional): MCP_HTTP_HOST (default 0.0.0.0), MCP_HTTP_PORT (default 8080), LOG_LEVEL (default INFO). The key is never read from the environment.

Testing example

# list tools
curl -s http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-ScalePad-Api-Key: your-api-key" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

# clients whose name matches
curl -s http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-ScalePad-Api-Key: your-api-key" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"scalepad_core_clients_list","arguments":{"filter":{"name":"Example"},"page_size":10}}}'

Unit tests (no network access needed):

uv run pytest

Delivery notes

  • Tool count (381). Kept as is because the tool names and parameters are an existing contract (tests/contract.json pins every name and its required parameters).

  • Declarative tools. Every tool is one entry in src/scalepad_mcp/catalog.py (method, path, where each argument goes) built from the ScalePad API reference; one engine turns calls into requests, and a test checks every entry against its path template.

  • Endpoints that did not exist. Older versions called eight Lifecycle Manager routes that are not in the ScalePad API. Five now use the official equivalents: contact lookup (contacts list filtered by client), active users (/users), initiative and goal updates (PATCH, with plain-text summaries converted to rich text) and client-group lookup (reads the client groups and keeps those listing the client). Three have no public endpoint and return an explanatory invalid_argument: scalepad_lm_user_identity_get, scalepad_lm_user_ui_state_get and scalepad_lm_user_ui_state_put. The Quoter OAuth helpers (scalepad_quoter_auth_authorize, scalepad_quoter_auth_refresh) are not needed with the ScalePad key and do the same.

  • Request shapes. Bodies follow the official schemas: section and line-item creation and signed-URL requests send a one-element array, document uploads are multipart (the file argument is base64), reference fields such as client_key, hardware_key, category, manufacturer and supplier are objects but a bare id string is still accepted and wrapped as {"id": ...}, and ControlMap fields lists are joined into the comma-separated string the API expects.

  • Safety annotations. Deletes are annotated destructive; attach / detach, map / unmap and other changes are writes; descriptions tell the agent to use them only on explicit request.

  • No interactive prompts. Older versions asked the user for filters or confirmation mid-call, which a stateless gateway cannot relay; lists page instead, and write tools rely on their descriptions and annotations.

License

Apache License 2.0 - see LICENSE and NOTICE.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Provides AI assistants with direct access to Autotask PSA for MSP operations. Enables natural language interaction for ticket management, time logging, company lookups, project tracking, and billing review through 39 comprehensive tools.
    100
    131 npm
    Apache 2.0
  • A
    license
    C
    quality
    B
    maintenance
    Enables AI assistants to fully access and manage SyncroMSP resources including tickets, customers, assets, invoices, and over 30 resource types through 180+ API endpoints.
    190
    29 npm
    10
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP-capable AI agents to query Auvik network monitoring data through fifteen tools, covering alert triage, inventory, hardware health, config changes, remote-access audit, lifecycle, and performance statistics, with a single guarded write for alert dismissal.
    2
    MIT