{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cloudally-mcp","description":"CloudAlly Microsoft 365 and Google Workspace backup: accounts, backup tasks, status and restores","title":"CloudAlly MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cloudally"},"version":"0.1.0","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cloudally/cloudally-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cloudally-v0.1.0/cloudally-mcp.mcpb","version":"0.1.0","fileSha256":"d9f87a592e36930e0cad74966c6f6ce096681a4005c776e8c262ae5315b91b1a","transport":{"type":"stdio"},"environmentVariables":[{"description":"The client-id of your CloudAlly API application (partner portal \u003e Integrations \u003e REST API), sent as the client-id header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_ID"},{"description":"The client-secret of the same API application, sent as the client-secret header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_SECRET"},{"description":"Optional override; leave blank. Run `cloudally-cli auth login --partner` (or `auth login` for one company) in a terminal instead, which saves and refreshes the token. A pasted token expires and keeps overriding the saved one.","isSecret":true,"name":"CLOUDALLY_ACCESS_TOKEN"},{"description":"Optional. Company account login used by `auth login`; every command is then limited to that one company. Most operators run `auth login` once in a terminal and leave this blank.","name":"CLOUDALLY_EMAIL"},{"description":"Optional. Password for the company account login above.","isSecret":true,"name":"CLOUDALLY_PASSWORD"},{"description":"Optional. Partner portal login used by `auth login --partner`; it reaches every customer account and is needed for the distributor and reseller commands and `auth use-account`.","name":"CLOUDALLY_PARTNER_EMAIL"},{"description":"Optional. Password for the partner portal login above.","isSecret":true,"name":"CLOUDALLY_PARTNER_PASSWORD"},{"description":"Optional; leave blank. Sends every CloudAlly API call to this base URL instead of https://api.cloudally.com, for tests and mock servers.","name":"CLOUDALLY_BASE_URL"},{"description":"Optional. Set to 1 to list only read-only tools: it removes cloudally_execute, sync, import, export, workflow_archive, jobs_prune and the learn-store writers, and cloudally_read refuses every state-changing endpoint. The tools it keeps can still write the learn journal and create an empty local store.","name":"CLOUDALLY_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API, the response cache is off, and sync refuses to run. Leave blank to keep the local store.","name":"CLOUDALLY_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment); callers must send a matching Authorization: Bearer header. Leave blank for Claude Desktop.","isSecret":true,"name":"CLOUDALLY_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends to CloudAlly. Leave blank to use the built-in one.","name":"CLOUDALLY_USER_AGENT"},{"description":"Only used when the MCP server is bound to a tenant-gated client profile. This connector registers no tenant-gated source, so leave it blank.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-05T16:37:29.06722Z","publishedAt":"2026-11-05T16:37:29.06722Z","updatedAt":"2026-11-05T16:37:29.06722Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cloudally-mcp","description":"Restore or download CloudAlly mailboxes as of a past date, and find failing backups","title":"CloudAlly MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cloudally"},"version":"0.2.0","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cloudally/cloudally-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cloudally-v0.2.0/cloudally-mcp.mcpb","version":"0.2.0","fileSha256":"92272a47c93b748ceceb391759d1cfb4bb52108928a3d6d1072c7264f467c037","transport":{"type":"stdio"},"environmentVariables":[{"description":"The client-id of your CloudAlly API application (partner portal \u003e Integrations \u003e REST API), sent as the client-id header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_ID"},{"description":"The client-secret of the same API application, sent as the client-secret header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_SECRET"},{"description":"Optional override; leave blank. Run `cloudally-cli auth login --partner` (or `auth login` for one company) in a terminal instead, which saves and refreshes the token. A pasted token expires and keeps overriding the saved one.","isSecret":true,"name":"CLOUDALLY_ACCESS_TOKEN"},{"description":"Optional. Company account login used by `auth login`; every command is then limited to that one company. Most operators run `auth login` once in a terminal and leave this blank.","name":"CLOUDALLY_EMAIL"},{"description":"Optional. Password for the company account login above.","isSecret":true,"name":"CLOUDALLY_PASSWORD"},{"description":"Optional. Partner portal login used by `auth login --partner`; it reaches every customer account and is needed for the distributor and reseller commands, `auth use-account`, past backup dates and downloads.","name":"CLOUDALLY_PARTNER_EMAIL"},{"description":"Optional. Password for the partner portal login above.","isSecret":true,"name":"CLOUDALLY_PARTNER_PASSWORD"},{"description":"Optional; leave blank. Sends every CloudAlly API call to this base URL instead of https://api.cloudally.com, for tests and mock servers.","name":"CLOUDALLY_BASE_URL"},{"description":"Optional; leave blank. The customer portal origin used for past backup dates, restores resolved from them and downloads (default https://app.cloudally.com). It must be https (plain http only on a loopback test host), and portal credentials go only to https://app.cloudally.com or the CLOUDALLY_BASE_URL origin, so any other portal is refused before anything is sent. Needed when CLOUDALLY_BASE_URL points away from api.cloudally.com: portal commands then refuse to assume the production portal.","name":"CLOUDALLY_PORTAL_URL"},{"description":"Optional. Set to 1 to list only read-only tools: it removes cloudally_execute, restore_submit, download_submit, download_start, download_link, sync, export, workflow_archive, jobs_prune and the learn-store writers, and cloudally_read refuses every state-changing endpoint. The tools it keeps can still write the learn journal and create an empty local store.","name":"CLOUDALLY_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API, the response cache is off, and sync refuses to run. Leave blank to keep the local store.","name":"CLOUDALLY_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment); callers must send a matching Authorization: Bearer header. Leave blank for Claude Desktop.","isSecret":true,"name":"CLOUDALLY_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends to CloudAlly. Leave blank to use the built-in one.","name":"CLOUDALLY_USER_AGENT"},{"description":"Only used when the MCP server is bound to a tenant-gated client profile. This connector registers no tenant-gated source, so leave it blank.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-06T03:22:47.229081Z","publishedAt":"2026-11-06T03:22:47.229081Z","updatedAt":"2026-11-06T03:22:47.229081Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cloudally-mcp","description":"Restore or download CloudAlly mailboxes as of a past date, and find failing backups","title":"CloudAlly MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cloudally"},"version":"0.2.1","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cloudally/cloudally-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cloudally-v0.2.1/cloudally-mcp.mcpb","version":"0.2.1","fileSha256":"2f634383f68f0ecd36f41a532a0c61555b78f542cbc50bec1f1f93022016f845","transport":{"type":"stdio"},"environmentVariables":[{"description":"The client-id of your CloudAlly API application (partner portal \u003e Integrations \u003e REST API), sent as the client-id header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_ID"},{"description":"The client-secret of the same API application, sent as the client-secret header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_SECRET"},{"description":"Optional override; leave blank. Run `cloudally-cli auth login --partner` (or `auth login` for one company) in a terminal instead, which saves and refreshes the token. A pasted token expires and keeps overriding the saved one.","isSecret":true,"name":"CLOUDALLY_ACCESS_TOKEN"},{"description":"Optional. Company account login used by `auth login`; every command is then limited to that one company. Most operators run `auth login` once in a terminal and leave this blank.","name":"CLOUDALLY_EMAIL"},{"description":"Optional. Password for the company account login above.","isSecret":true,"name":"CLOUDALLY_PASSWORD"},{"description":"Optional. Partner portal login used by `auth login --partner`; it reaches every customer account and is needed for the distributor and reseller commands, `auth use-account`, past backup dates and downloads.","name":"CLOUDALLY_PARTNER_EMAIL"},{"description":"Optional. Password for the partner portal login above.","isSecret":true,"name":"CLOUDALLY_PARTNER_PASSWORD"},{"description":"Optional; leave blank. Sends every CloudAlly API call to this base URL instead of https://api.cloudally.com, for tests and mock servers.","name":"CLOUDALLY_BASE_URL"},{"description":"Optional; leave blank. The customer portal origin used for past backup dates, restores resolved from them and downloads (default https://app.cloudally.com). It must be https (plain http only on a loopback test host), and portal credentials go only to https://app.cloudally.com or the CLOUDALLY_BASE_URL origin, so any other portal is refused before anything is sent. Needed when CLOUDALLY_BASE_URL points away from api.cloudally.com: portal commands then refuse to assume the production portal.","name":"CLOUDALLY_PORTAL_URL"},{"description":"Optional. Set to 1 to list only read-only tools: it removes cloudally_execute, restore_submit, download_submit, download_start, download_link, sync, export, workflow_archive, jobs_prune and the learn-store writers, and cloudally_read refuses every state-changing endpoint. The tools it keeps can still write the learn journal and create an empty local store.","name":"CLOUDALLY_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API, the response cache is off, and sync refuses to run. Leave blank to keep the local store.","name":"CLOUDALLY_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment); callers must send a matching Authorization: Bearer header. Leave blank for Claude Desktop.","isSecret":true,"name":"CLOUDALLY_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends to CloudAlly. Leave blank to use the built-in one.","name":"CLOUDALLY_USER_AGENT"},{"description":"Only used when the MCP server is bound to a tenant-gated client profile. This connector registers no tenant-gated source, so leave it blank.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-09T18:49:58.365585Z","publishedAt":"2026-11-09T18:49:58.365585Z","updatedAt":"2026-11-09T18:49:58.365585Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cloudally-mcp","description":"Restore or download CloudAlly mailboxes as of a past date, and find failing backups","title":"CloudAlly MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cloudally"},"version":"0.2.2","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cloudally/cloudally-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cloudally-v0.2.2/cloudally-mcp.mcpb","version":"0.2.2","fileSha256":"66de30e6af3c60a29914af42bdaef956b64dded73d807aa3cf90bf4faa589000","transport":{"type":"stdio"},"environmentVariables":[{"description":"The client-id of your CloudAlly API application (partner portal \u003e Integrations \u003e REST API), sent as the client-id header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_ID"},{"description":"The client-secret of the same API application, sent as the client-secret header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_SECRET"},{"description":"Optional override; leave blank. Run `cloudally-cli auth login --partner` (or `auth login` for one company) in a terminal instead, which saves and refreshes the token. A pasted token expires and keeps overriding the saved one.","isSecret":true,"name":"CLOUDALLY_ACCESS_TOKEN"},{"description":"Optional. Company account login used by `auth login`; every command is then limited to that one company. Most operators run `auth login` once in a terminal and leave this blank.","name":"CLOUDALLY_EMAIL"},{"description":"Optional. Password for the company account login above.","isSecret":true,"name":"CLOUDALLY_PASSWORD"},{"description":"Optional. Partner portal login used by `auth login --partner`; it reaches every customer account and is needed for the distributor and reseller commands, `auth use-account`, past backup dates and downloads.","name":"CLOUDALLY_PARTNER_EMAIL"},{"description":"Optional. Password for the partner portal login above.","isSecret":true,"name":"CLOUDALLY_PARTNER_PASSWORD"},{"description":"Optional; leave blank. Sends every CloudAlly API call to this base URL instead of https://api.cloudally.com, for tests and mock servers.","name":"CLOUDALLY_BASE_URL"},{"description":"Optional; leave blank. The customer portal origin used for past backup dates, restores resolved from them and downloads (default https://app.cloudally.com). It must be https (plain http only on a loopback test host), and portal credentials go only to https://app.cloudally.com or the CLOUDALLY_BASE_URL origin, so any other portal is refused before anything is sent. Needed when CLOUDALLY_BASE_URL points away from api.cloudally.com: portal commands then refuse to assume the production portal.","name":"CLOUDALLY_PORTAL_URL"},{"description":"Optional. Set to 1 to list only read-only tools: it removes cloudally_execute, restore_submit, download_submit, download_start, download_link, sync, export, workflow_archive, jobs_prune and the learn-store writers, and cloudally_read refuses every state-changing endpoint. The tools it keeps can still write the learn journal and create an empty local store.","name":"CLOUDALLY_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API, the response cache is off, and sync refuses to run. Leave blank to keep the local store.","name":"CLOUDALLY_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment); callers must send a matching Authorization: Bearer header. Leave blank for Claude Desktop.","isSecret":true,"name":"CLOUDALLY_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends to CloudAlly. Leave blank to use the built-in one.","name":"CLOUDALLY_USER_AGENT"},{"description":"Only used when the MCP server is bound to a tenant-gated client profile. This connector registers no tenant-gated source, so leave it blank.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-10T17:01:30.056064Z","publishedAt":"2026-11-10T17:01:30.056064Z","updatedAt":"2026-11-10T17:01:30.056064Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cloudally-mcp","description":"Restore or download CloudAlly mailboxes as of a past date, and find failing backups","title":"CloudAlly MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cloudally"},"version":"0.2.3","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cloudally/cloudally-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cloudally-v0.2.3/cloudally-mcp.mcpb","version":"0.2.3","fileSha256":"ea20447f1cf12fe0341f92c96e37794306f7018aae49ea805d23744fdd519e3b","transport":{"type":"stdio"},"environmentVariables":[{"description":"The client-id of your CloudAlly API application (partner portal \u003e Integrations \u003e REST API), sent as the client-id header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_ID"},{"description":"The client-secret of the same API application, sent as the client-secret header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_SECRET"},{"description":"Optional override; leave blank. Run `cloudally-cli auth login --partner` (or `auth login` for one company) in a terminal instead, which saves and refreshes the token. A pasted token expires and keeps overriding the saved one.","isSecret":true,"name":"CLOUDALLY_ACCESS_TOKEN"},{"description":"Optional. Company account login used by `auth login`; every command is then limited to that one company. Most operators run `auth login` once in a terminal and leave this blank.","name":"CLOUDALLY_EMAIL"},{"description":"Optional. Password for the company account login above.","isSecret":true,"name":"CLOUDALLY_PASSWORD"},{"description":"Optional. Partner portal login used by `auth login --partner`; it reaches every customer account and is needed for the distributor and reseller commands, `auth use-account`, past backup dates and downloads.","name":"CLOUDALLY_PARTNER_EMAIL"},{"description":"Optional. Password for the partner portal login above.","isSecret":true,"name":"CLOUDALLY_PARTNER_PASSWORD"},{"description":"Optional; leave blank. Sends every CloudAlly API call to this base URL instead of https://api.cloudally.com, for tests and mock servers.","name":"CLOUDALLY_BASE_URL"},{"description":"Optional; leave blank. The customer portal origin used for past backup dates, restores resolved from them and downloads (default https://app.cloudally.com). It must be https (plain http only on a loopback test host), and portal credentials go only to https://app.cloudally.com or the CLOUDALLY_BASE_URL origin, so any other portal is refused before anything is sent. Needed when CLOUDALLY_BASE_URL points away from api.cloudally.com: portal commands then refuse to assume the production portal.","name":"CLOUDALLY_PORTAL_URL"},{"description":"Optional. Set to 1 to list only read-only tools: it removes cloudally_execute, restore_submit, download_submit, download_start, download_link, sync, export, workflow_archive, jobs_prune and the learn-store writers, and cloudally_read refuses every state-changing endpoint. The tools it keeps can still write the learn journal and create an empty local store.","name":"CLOUDALLY_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API, the response cache is off, and sync refuses to run. Leave blank to keep the local store.","name":"CLOUDALLY_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment); callers must send a matching Authorization: Bearer header. Leave blank for Claude Desktop.","isSecret":true,"name":"CLOUDALLY_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends to CloudAlly. Leave blank to use the built-in one.","name":"CLOUDALLY_USER_AGENT"},{"description":"Only used when the MCP server is bound to a tenant-gated client profile. This connector registers no tenant-gated source, so leave it blank.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-11T09:26:25.780238Z","publishedAt":"2026-11-11T09:26:25.780238Z","updatedAt":"2026-11-11T09:26:25.780238Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cloudally-mcp","description":"Restore or download CloudAlly mailboxes as of a past date, and find failing backups","title":"CloudAlly MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cloudally"},"version":"0.2.4","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cloudally/cloudally-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cloudally-v0.2.4/cloudally-mcp.mcpb","version":"0.2.4","fileSha256":"b570e7084df5cfe137decc06eaf9486febe3cd39ddaeb09aadc5681465198b15","transport":{"type":"stdio"},"environmentVariables":[{"description":"The client-id of your CloudAlly API application (partner portal \u003e Integrations \u003e REST API), sent as the client-id header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_ID"},{"description":"The client-secret of the same API application, sent as the client-secret header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_SECRET"},{"description":"Optional override; leave blank. Run `cloudally-cli auth login --partner` (or `auth login` for one company) in a terminal instead, which saves and refreshes the token. A pasted token expires and keeps overriding the saved one.","isSecret":true,"name":"CLOUDALLY_ACCESS_TOKEN"},{"description":"Optional. Company account login used by `auth login`; every command is then limited to that one company. Most operators run `auth login` once in a terminal and leave this blank.","name":"CLOUDALLY_EMAIL"},{"description":"Optional. Password for the company account login above.","isSecret":true,"name":"CLOUDALLY_PASSWORD"},{"description":"Optional. Partner portal login used by `auth login --partner`; it reaches every customer account and is needed for the distributor and reseller commands, `auth use-account`, past backup dates and downloads.","name":"CLOUDALLY_PARTNER_EMAIL"},{"description":"Optional. Password for the partner portal login above.","isSecret":true,"name":"CLOUDALLY_PARTNER_PASSWORD"},{"description":"Optional; leave blank. Sends every CloudAlly API call to this base URL instead of https://api.cloudally.com, for tests and mock servers.","name":"CLOUDALLY_BASE_URL"},{"description":"Optional; leave blank. The customer portal origin used for past backup dates, restores resolved from them and downloads (default https://app.cloudally.com). It must be https (plain http only on a loopback test host), and portal credentials go only to https://app.cloudally.com or the CLOUDALLY_BASE_URL origin, so any other portal is refused before anything is sent. Needed when CLOUDALLY_BASE_URL points away from api.cloudally.com: portal commands then refuse to assume the production portal.","name":"CLOUDALLY_PORTAL_URL"},{"description":"Optional. Set to 1 to list only read-only tools: it removes cloudally_execute, restore_submit, download_submit, download_start, download_link, sync, export, workflow_archive, jobs_prune and the learn-store writers, and cloudally_read refuses every state-changing endpoint. The tools it keeps can still write the learn journal and create an empty local store.","name":"CLOUDALLY_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API, the response cache is off, and sync refuses to run. Leave blank to keep the local store.","name":"CLOUDALLY_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment); callers must send a matching Authorization: Bearer header. Leave blank for Claude Desktop.","isSecret":true,"name":"CLOUDALLY_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends to CloudAlly. Leave blank to use the built-in one.","name":"CLOUDALLY_USER_AGENT"},{"description":"Only used when the MCP server is bound to a tenant-gated client profile. This connector registers no tenant-gated source, so leave it blank.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-12T04:07:06.806029Z","publishedAt":"2026-11-12T04:07:06.806029Z","updatedAt":"2026-11-12T04:07:06.806029Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.Servosity/cloudally-mcp","description":"Restore or download CloudAlly mailboxes as of a past date, and find failing backups","title":"CloudAlly MCP","repository":{"url":"https://github.com/servosity/msp-skills","source":"github","subfolder":"skills/cloudally"},"version":"0.2.5","icons":[{"src":"https://raw.githubusercontent.com/servosity/msp-skills/main/docs/assets/social/cloudally/cloudally-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"packages":[{"registryType":"mcpb","identifier":"https://github.com/Servosity/msp-skills/releases/download/cloudally-v0.2.5/cloudally-mcp.mcpb","version":"0.2.5","fileSha256":"5887002a182ee62955104ecc0814e300e1736acfdab19249e37ca090751f35ce","transport":{"type":"stdio"},"environmentVariables":[{"description":"The client-id of your CloudAlly API application (partner portal \u003e Integrations \u003e REST API), sent as the client-id header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_ID"},{"description":"The client-secret of the same API application, sent as the client-secret header on every request.","isRequired":true,"isSecret":true,"name":"CLOUDALLY_CLIENT_SECRET"},{"description":"Optional override; leave blank. Run `cloudally-cli auth login --partner` (or `auth login` for one company) in a terminal instead, which saves and refreshes the token. A pasted token expires and keeps overriding the saved one.","isSecret":true,"name":"CLOUDALLY_ACCESS_TOKEN"},{"description":"Optional. Company account login used by `auth login`; every command is then limited to that one company. Most operators run `auth login` once in a terminal and leave this blank.","name":"CLOUDALLY_EMAIL"},{"description":"Optional. Password for the company account login above.","isSecret":true,"name":"CLOUDALLY_PASSWORD"},{"description":"Optional. Partner portal login used by `auth login --partner`; it reaches every customer account and is needed for the distributor and reseller commands, `auth use-account`, past backup dates and downloads.","name":"CLOUDALLY_PARTNER_EMAIL"},{"description":"Optional. Password for the partner portal login above.","isSecret":true,"name":"CLOUDALLY_PARTNER_PASSWORD"},{"description":"Optional; leave blank. Sends every CloudAlly API call to this base URL instead of https://api.cloudally.com, for tests and mock servers.","name":"CLOUDALLY_BASE_URL"},{"description":"Optional; leave blank. The customer portal origin used for past backup dates, restores resolved from them and downloads (default https://app.cloudally.com). It must be https (plain http only on a loopback test host), and portal credentials go only to https://app.cloudally.com or the CLOUDALLY_BASE_URL origin, so any other portal is refused before anything is sent. Needed when CLOUDALLY_BASE_URL points away from api.cloudally.com: portal commands then refuse to assume the production portal.","name":"CLOUDALLY_PORTAL_URL"},{"description":"Optional. Set to 1 to list only read-only tools: it removes cloudally_execute, restore_submit, download_submit, download_start, download_link, sync, export, workflow_archive, jobs_prune and the learn-store writers, and cloudally_read refuses every state-changing endpoint. The tools it keeps can still write the learn journal and create an empty local store.","name":"CLOUDALLY_MCP_READ_ONLY"},{"description":"Optional. Set to 1 to keep no local copy of API responses: reads go to the API, the response cache is off, and sync refuses to run. Leave blank to keep the local store.","name":"CLOUDALLY_NO_LOCAL_DATA"},{"description":"Required only when running the MCP server with --transport http (a remote/hosted deployment); callers must send a matching Authorization: Bearer header. Leave blank for Claude Desktop.","isSecret":true,"name":"CLOUDALLY_MCP_HTTP_TOKEN"},{"description":"Optional. Overrides the User-Agent the CLI sends to CloudAlly. Leave blank to use the built-in one.","name":"CLOUDALLY_USER_AGENT"},{"description":"Only used when the MCP server is bound to a tenant-gated client profile. This connector registers no tenant-gated source, so leave it blank.","isSecret":true,"name":"PRINTING_PRESS_CLIENT_PROFILE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-11-14T05:57:29.36194Z","publishedAt":"2026-11-14T05:57:29.36194Z","updatedAt":"2026-11-14T05:57:29.36194Z","isLatest":true}}}],"metadata":{"count":7}}
