ALSO Cloud Marketplace MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ALSO_CLOUDPW | Yes | Your ALSO Cloud Marketplace password. Required. | |
| ALSO_CLOUDUSER | Yes | Your ALSO Cloud Marketplace username/email address. Required. | |
| ALSO_CLOUD_API_PREFIX | No | Optional API prefix path (e.g. /SimpleAPI/.../rest). | |
| ALSO_CLOUD_TIMEOUT_MS | No | Optional request timeout in milliseconds (e.g. 30000). | |
| ALSO_CLOUD_MARKETPLACE | Yes | The ALSO Cloud Marketplace to use. Accepts a full URL (e.g. https://marketplace.also.ch) or a country key (e.g. Switzerland, Germany, Austria, Debug). Required. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_marketplacesA | Static country keys → marketplace base URLs (Switzerland, Germany, Debug, …). No credentials required. For API-owned marketplaces use get_owned_marketplaces. |
| list_api_endpointsB | Catalog of MarketplaceSimpleAPI 1.0.0 endpoints with tags, summaries, dedicated MCP tool names (if any), and write/destructive risk flags. |
| validate_sessionA | Optional health check (PingPong). Login is automatic on other tools — do not call this before every query. |
| find_companiesA | PREFERRED for locating a company by name. Calls GetCompanies under parentAccountId (or ALSO_CLOUD_PARENT_ACCOUNT_ID) and filters by CompanyName. Do NOT use get_reports / execute_report to search companies. |
| list_company_subscriptionsA | PREFERRED for "which subscriptions does company X have?". Resolves company by accountId or name (via find_companies), then GetSubscriptions. Returns a compact summary (no huge Fields arrays). Use activeOnly=true (default) for active services only. |
| clear_sessionA | Drop the cached session token (forces fresh login on next call). |
| get_companyC | GetCompany — company by accountId. |
| get_companiesA | GetCompanies — all first-level companies under parentAccountId. To search by name prefer find_companies. |
| get_company_by_vat_idD | GetCompanyByVatId. |
| get_resellerC | GetReseller — reseller by accountId. |
| get_resellersC | GetResellers — resellers under parentAccountId. |
| get_reseller_by_vat_idD | GetResellerByVatId. |
| get_departmentC | GetDepartment — department by accountId. |
| get_departmentsC | GetDepartments — departments under parentAccountId. |
| get_userC | GetUser — user by accountId. |
| get_usersC | GetUsers — users under companyAccountId. |
| get_subscriptionB | GetSubscription by accountId. Prefer list_company_subscriptions for company-wide lists. compact=true by default. |
| get_subscriptionsA | GetSubscriptions under parentAccountId. For "subscriptions of company X by name" prefer list_company_subscriptions. compact=true by default (drops huge Fields arrays). |
| get_subscription_with_addonsC | GetSubscriptionWithAddons — full detail for one subscription including addons. |
| get_possible_services_for_parentC | GetPossibleServicesForParent — services a parent can subscribe to. |
| get_reportsA | GetReports — list available report names. Do NOT use this to find companies or subscriptions; use find_companies / list_company_subscriptions. |
| execute_reportC | ExecuteReport — run a named report with parameters. |
| get_latest_invoicesC | GetLatestInvoices for the authenticated account. |
| get_latest_invoices_for_periodD | GetLatestInvoicesForPeriod — invoices for year/month. |
| get_preview_invoicesC | GetPreviewInvoices — current open billing month preview. |
| get_invoice_aggregation_reportD | GetInvoiceAggregationReport for year/month. |
| get_owned_marketplacesB | GetMarketplaces — marketplaces owned by the company (API). |
| list_marketplace_servicesD | ListMarketplaceServices for marketplaceId. |
| get_available_services_for_marketplaceD | GetAvailableServicesForMarketplace. |
| get_service_informationC | GetServiceInformation by serviceName. |
| get_credit_limitC | GetCreditLimit for company accountId. |
| get_security_rolesC | GetSecurityRoles for company/reseller accountId. |
| get_special_dealC | GetSpecialDeal discounts for accountId. |
| create_companyB | WRITE: CreateCompany. Pass companyAccount object (parent, name, address, … per Simple API). Prefer get_companies afterwards to verify. |
| update_companyB | WRITE: UpdateCompany. Pass company object with accountId and fields to change. |
| create_resellerC | WRITE: CreateReseller. Pass resellerAccount object. |
| update_resellerC | WRITE: UpdateReseller. Pass reseller object with accountId and fields to change. |
| create_departmentC | WRITE: CreateDepartment. Pass departmentAccount object. |
| update_departmentB | WRITE: UpdateDepartment. Pass department object with accountId and fields to change. |
| create_userC | WRITE: CreateUser under selected parent. Pass userAccount object. |
| update_userC | WRITE: UpdateUser. Pass user object with accountId and settings to change. |
| get_fields_for_serviceA | GetFieldsForService — field definitions needed before CreateSubscription / ValidateFields. |
| validate_subscription_fieldsA | WRITE-ish: ValidateFields — validates subscriptionAccount before create. Does not provision. |
| create_subscriptionC | WRITE: CreateSubscription. Use get_fields_for_service + validate_subscription_fields first. |
| update_subscriptionC | WRITE: UpdateSubscription. Pass subscription object with accountId and field changes. |
| get_account_custom_actionsC | GetAccountCustomActionsWithFields — list custom actions for a subscription. |
| execute_account_custom_actionC | WRITE: ExecuteAccountCustomAction — runs a named custom action on a subscription. |
| retry_last_failed_provisioningC | WRITE: RetryLastFailedProvisioning for a subscription accountId. |
| get_possible_services_for_upgradeC | GetPossibleServicesForUpgrade for accountId. |
| get_subscription_fields_for_upgradeC | GetSubscriptionFieldsForUpgrade for accountId + targetProductName. |
| execute_subscription_upgradeC | WRITE: ExecuteSubscriptionUpgrade — provisions upgrade to targetProductName. |
| get_subscription_fields_for_renewC | GetSubscriptionFieldsForRenew for accountId. |
| configure_subscription_renewB | WRITE: ConfigureSubscriptionRenew — stores renew field values applied at subscription end date. |
| reset_default_renew_valuesB | WRITE: ResetDefaultRenewValues — clears saved renew config for accountId. |
| set_credit_limitA | WRITE: SetCreditLimit. Omit limit (or leave empty per API) to remove the credit limit; comment is required. |
| list_credit_check_orders_for_approvalB | ListCreditCheckOrdersForApproval — pending credit check orders. |
| approve_credit_check_orderA | WRITE: ApproveCreditCheckOrder. Pass the order object (typically from list_credit_check_orders_for_approval), usually including RequestId and Comment. |
| decline_credit_check_orderB | WRITE: DeclineCreditCheckOrder. Pass the order object (typically from list_credit_check_orders_for_approval). |
| set_special_dealB | WRITE: SetSpecialDeal — create/update special deal discount for accountId. |
| api_requestA | Generic authenticated Simple API call. Prefer dedicated tools when available. Use this for destructive ops (TerminateAccount, DeleteMarketplace*, DeleteSpecialDeal) and rare endpoints. ALSO Simple API is POST-only for almost all operations. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 60 tools
The set has many overlapping retrieval tools, especially get_company/get_companies/find_companies, get_subscription/get_subscriptions/list_company_subscriptions, and multiple marketplace/service lookup tools. Descriptions do provide preferred-tool guidance, which reduces confusion, but an agent still has to carefully choose among several near-duplicates.
Most names are snake_case verb_noun, but the set mixes get_, list_, find_, create_, update_, execute_, validate_, set_, reset_, approve_, decline_, and a vague api_request. The pattern is readable but not predictable enough for a 60-tool surface.
Sixty tools is very heavy for a marketplace API surface and includes many specialized one-off operations. While the domain is broad, the count exceeds what an agent can reliably navigate without strong grouping or consolidation.
The surface covers substantial lifecycle operations for companies, users, departments, resellers, subscriptions, invoices, reports, credit, marketplaces, and custom actions. Some destructive and rare operations are only available through api_request, so coverage is broad but not fully self-contained.