Upmind MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UPMIND_API_BASE | No | The base URL for the Upmind API. Defaults to https://api.upmind.io/api/admin. | https://api.upmind.io/api/admin |
| UPMIND_API_TOKEN | No | Your Upmind admin/staff API token. Required for live API tools, but documentation tools work without it. |
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 |
|---|---|
| search_endpointsA | Search the Upmind API reference (1,270+ endpoints) by keyword. Supports multi-word queries; searches names, titles, descriptions, groups, and URLs. Use this to discover the right endpoint before calling live tools or building integrations. |
| get_endpoint_detailsA | Get full details for one API endpoint: parameters, response schema, headers, and permissions. Accepts the endpoint name (e.g. "GetAdminProducts") or an exact URL pattern. |
| list_api_groupsA | List all endpoint groups/categories in the Upmind API reference. |
| get_group_endpointsA | List every endpoint in one API group/category (e.g. "Contracts", "Admin_Products"). |
| list_brandsA | List all brands in the Upmind organisation with their IDs, domains, and currencies. |
| get_brandA | Get full details for one brand. |
| list_categoriesA | List product categories (with subcategories and product counts), optionally scoped to a brand. |
| create_categoryA | Create a new product category (or subcategory via parent_id) for a brand. |
| list_productsA | List products, filterable by brand, category, or exact name. |
| get_productA | Get full product details. Use "with" to include related data: prices, provision_field_values, allowed_migrations, options, products_attributes. |
| create_productA | Create a new product in a category. Sensible defaults: single product, single-option order type, monthly billing. Use "extra" for any additional Upmind product fields (see docs endpoint PostAdminProducts). PRODUCTION: creates a live product (hidden from clients unless clients_can_order is true). |
| update_productA | Update product fields (name, descriptions, category, visibility flags). Use "extra" for any other Upmind product field. PRODUCTION: changes are live. |
| duplicate_productA | Clone an existing product within the same brand. The copy is created as "{name} Copy". |
| copy_product_to_brandC | Copy a product into a different brand (multi-brand catalogue management). |
| reorder_productsA | Reorder products within a category. Pass ALL product UUIDs of the category in the desired display order. |
| list_pricelistsA | List all pricelists in the organisation. |
| get_product_pricesA | Get all prices for one product across all pricelists, currencies, and billing cycles. |
| sync_pricingA | Set/update prices for a product on a specific pricelist. Each entry needs currency_id, billing_cycle_months, and price. PRODUCTION: changes are live immediately. |
| list_currenciesA | List available currencies with their UUIDs, codes, and symbols. |
| list_provision_fieldsA | List the provision blueprint fields (names, types, labels) defined for a product. |
| get_provision_field_valuesA | Get the current provision field values configured on a product. |
| update_provision_field_valuesA | Update provision field values on a product (e.g. {"package_name": "Reseller Tier 2"}). PRODUCTION: affects how new services provision. |
| list_provision_configsA | List provision configurations (e.g. servers) for a provision category code such as "shared-hosting". Omit category_code to list the provision categories themselves. |
| list_provision_functionsA | List the provision functions available on a contract product (setup, suspend, terminate, getUsage, …). Use the returned function id with trigger_provision. |
| list_contractsA | List contract products (services) with filters: product, client, status code (e.g. "contract_active", "contract_suspended", "contract_cancelled"), brand. Returns a compact summary per service; set full=true for raw records. |
| get_contractA | Get a contract with its products and related data. Common "with" values: products, client, products.product, products.status. |
| count_active_servicesA | Count active contract products for a product. |
| cancel_contractA | Cancel a whole contract or specific products on it. DESTRUCTIVE: this cancels live services. Provide a cancellation_reason; optionally limit to specific contract product UUIDs. |
| cancel_contract_productA | Cancel a single service on a contract, with refund control. refund_mode: 0 = no refund, 1 = full refund, 2 = pro-rata refund. DESTRUCTIVE: cancels a live service. |
| activate_contract_productA | Activate a pending/inactive contract product (marks the service active). |
| set_contract_product_renewalA | Turn auto-renewal on or off for a contract product. Turning renewal off schedules the service to expire at the end of the paid period. |
| update_contract_product_datesA | Change suspend/cancel/close scheduling for a contract product: either intervals in days after next_due_date, or explicit hold-off dates (not_suspend_until / not_cancel_until / not_close_until, today or future). Useful to give clients extra time before suspension. |
| update_contract_product_priceA | Change the recurring selling price of a contract product (affects future invoices). |
| change_contract_productA | Upgrade or downgrade a contract product to a different product (with pro-rata invoice/credit note). Set dry_run=true first to preview the billing impact without changing anything. |
| trigger_provisionA | Run a provisioning function (setup, suspend, unsuspend, terminate, getUsage, …) on a contract product. Find function IDs with list_provision_functions. PRODUCTION: executes immediately on the hosting server. |
| list_clientsA | List or search clients by name, email, or company. Filter by brand. |
| get_clientA | Get client details. Common "with" values: emails, phones, addresses, accounts, tags, custom_fields. |
| create_clientB | Create a new client under a brand. Provide email + name; optionally create login credentials. Use "extra" for additional fields (language_code, currency_code, …). |
| update_clientB | Update client profile fields. Use "extra" for any other Upmind client field. |
| list_client_accountsA | List the billing accounts of a client (account IDs are needed for wallet operations; most clients have one). |
| reset_client_passwordA | Trigger a password-reset email for a client (admin-initiated). |
| resend_client_verificationB | Resend the account verification email to a client. |
| list_ordersA | List orders/baskets. Use "with" for relations like client, products. |
| get_orderA | Get one order with its products and totals. |
| create_orderA | Create an order for a client via the admin quick-order flow. By default converts straight to an invoice (convert=true). Each product needs product_id and billing_cycle_months; selling_price overrides list pricing. PRODUCTION: creates real billing documents. |
| cancel_orderA | Cancel a pending order. DESTRUCTIVE. |
| convert_order_to_invoiceA | Convert a draft order/basket into a real invoice. |
| list_invoicesA | List invoices with filters: client, status (e.g. "unpaid", "paid", "overdue"), brand. Compact summaries by default; full=true for raw records. |
| get_invoiceA | Get one invoice. Common "with" values: products, payments, client, credit_notes. |
| credit_invoiceA | Issue a credit note against an invoice. Omit amount to credit the full remaining amount, or set full_credit=true. refund_source: 0 = original payment source, 1 = wallet. DESTRUCTIVE: moves money / changes billing records. |
| apply_client_creditA | Pay (part of) an invoice using the client's wallet/credit balance. |
| refund_invoiceA | Record a manual (offline) refund against an invoice or pay out a credit note. Requires the gateway the refund was made through. DESTRUCTIVE: records money movement. |
| create_renewal_invoiceA | Generate the next recurring (renewal) invoice for a contract now, instead of waiting for the scheduler. Optionally scope to one contract product. |
| refresh_invoiceA | Regenerate invoice data and its PDF (e.g. after changing brand details or a template). |
| list_paymentsA | List payment transactions, filterable by client or invoice. |
| add_paymentA | Record a payment against an invoice — typically an offline/manual payment through an offline gateway (see list_gateways), or charge a stored payment method. amount must be in the invoice currency. DESTRUCTIVE: records money movement. |
| refund_paymentA | Refund a captured payment through its gateway, by transaction reference. Omit amount to refund the full overpaid amount. DESTRUCTIVE: moves real money. |
| list_gatewaysA | List configured payment gateways (IDs needed for refunds and manual payments). |
| get_wallet_balanceA | Get a client's wallet/credit balance. Pass client_id (default account is resolved automatically) or a specific account_id. |
| list_wallet_transactionsA | List a client's wallet transaction history (credits, debits, top-ups). |
| refund_from_walletA | Manually refund an amount from a client's wallet balance (e.g. paying out unused credit outside the system). DESTRUCTIVE: reduces the client's credit balance. |
| list_ticketsA | List support tickets with filters (client, status code, department, brand) or full-text search across subjects and message bodies. Status codes: ticket_in_progress, ticket_waiting_response, ticket_resolved, ticket_closed (short forms like "in_progress" also match). |
| get_ticketA | Get one ticket with its metadata (status, client, assignees). Use get_ticket_messages for the conversation. |
| get_ticket_messagesA | Get the message thread of a ticket with HTML stripped — readable conversation including private staff notes. |
| create_ticketA | Open a new support ticket on behalf of a client (e.g. to document a phone call or start an outbound conversation). |
| reply_ticketA | Post a reply on a ticket. Set is_private=true to add an internal staff note the client cannot see. PRODUCTION: public replies email the client. |
| update_ticketA | Update ticket properties: status (by code, e.g. "closed"), subject, department, priority, or linked service. |
| assign_ticketA | Assign a ticket to a staff user (see list_users), or unassign with user_id omitted. |
| list_ticket_departmentsA | List ticket departments (IDs needed for creating/moving tickets). |
| list_promotionsC | List promotions/coupon codes. |
| get_promotionA | Get full details of one promotion (products, restrictions, usage). |
| create_promotionA | Create a promotion code. type: 1 = fixed amount (needs currency_id), 2 = percentage. Applies to all products unless restricted via "extra" (products, pricelists, billing_cycles). |
| update_promotionB | Update fields of an existing promotion. |
| disable_promotionA | Disable a promotion so it can no longer be used. |
| list_leadsA | List sales leads/prospects, optionally searching by text. |
| create_leadB | Create a sales lead (prospect) — e.g. from an inbound enquiry. |
| update_leadB | Update fields on a lead. |
| convert_lead_to_clientC | Convert a lead into a real client record. |
| list_email_historyA | List emails the platform has sent, filterable by client or brand. Useful to confirm whether an invoice reminder, verification, or notification actually went out. |
| get_emailA | Get delivery details for one sent email: recipient, subject, sent/bounced state, and error/bounce data. (Upmind does not expose the rendered body via the API.) |
| resend_emailA | Resend a previously sent email (e.g. an invoice or verification email that never arrived). |
| list_webhooksA | List configured webhook endpoints and their subscriptions. |
| list_webhook_eventsA | List the event types that webhook endpoints can subscribe to. |
| create_webhookA | Create a webhook endpoint. Optionally pass subscription event codes to subscribe immediately. |
| update_webhookB | Update a webhook endpoint (URL, enabled state, name, secret). |
| delete_webhookB | Delete a webhook endpoint. DESTRUCTIVE. |
| list_usersA | List staff/admin users (IDs are needed for assign_ticket). |
| get_userA | Get details for one staff user. |
| get_upgrade_pathsA | Get the products a given product is allowed to upgrade/migrate to. |
| set_upgrade_pathsA | Set which products a product can be upgraded to. PRODUCTION: changes are live. |
| remove_upgrade_pathB | Remove one upgrade path from a product. |
| get_statsA | Quick operational overview: active services, total clients, open tickets, unpaid invoices, and pending orders — optionally scoped to a brand. |
| list_reportsA | List Upmind's built-in reports (revenue, churn, tax, transactions, …) that can be run with run_report. |
| run_reportA | Run a built-in Upmind report by its code/name with optional parameters (date ranges etc.). Check list_reports first; parameters vary per report. |
| list_whitelisted_ipsA | List whitelisted IPs for the organisation, or for one staff user when user_id is given. When a whitelist exists, admin access is only allowed from these addresses. |
| add_whitelisted_ipA | Whitelist an IP for the organisation (or one staff user). CAUTION: once a whitelist is active, access from other IPs is blocked — add your current IP first. |
| remove_whitelisted_ipA | Remove a whitelisted IP entry. DESTRUCTIVE: may lock out whoever uses that address. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/spidyhost-crm/upmind-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server