MCP server

Tool catalog

The Masttro MCP Server exposes a selected set of read-only tools approved for external MCP use. The MCP catalog may be narrower than the REST API. Tool availability is determined by Masttro product entitlement, the integration identity, the approved MCP tool registry and any client-specific restrictions.

Each tool calls one REST endpoint with the same arguments and returns the same JSON. All tools are read-only and idempotent. Arguments marked required must be supplied. Optional ones can be omitted.

Overview

ToolREST endpoint
get_tenantsGET /Tenants
get_clientsGET /Clients
get_holdingsGET /Holdings/{id}
get_gwm_structureGET /GWM/{id}
get_transactionsGET /Transactions/{id}
get_performanceGET /Performance/{id}
get_performance_groupedGET /Performance/Grouped/{id}
get_closed_end_fundsGET /cef/{id}

Argument types follow the REST parameters: id, yearMonth, period, status and dates are integers, everything else is a string. Field names in results match the REST reference. The only exception is XIRRCumulative (closed-end funds), which keeps its capitalization.

One client per call Every tool that takes id needs a specific client id of 1 or greater. Get it from get_clients. Unlike the REST API, id=0 (all clients) is not accepted over MCP. A missing or zero id returns the tool error A client id greater than 0 is required. Use get_clients to find the client id.

Tenants, clients and holdings

get_tenants

Lists the tenants you can access. Only needed when your user has access to more than one tenant. Pass a tenantId to the other tools to query that tenant. Without it, tools use your main tenant. No arguments. REST reference

get_clients

Lists the clients set up in the Clients module that you can access. Call this first to find client ids. Client ids belong to a tenant, so pass the same tenantId you will use on the other tools. Argument: tenantId (optional). REST reference

get_holdings

Portfolio holdings for a client at a month-end, in a reporting currency. REST reference

ArgumentDescription
idrequiredClient id, 1 or greater.
yearMonthrequiredYYYYMM.
ccyoptionalReporting currency. Default USD.
historicalMonthsoptional1 to 12 month-ends back from yearMonth. Default 1.
investmentVehicleoptionalInvestment vehicle filter.
nodeIdoptionalGWM node filter.
tenantIdoptionalTenant from get_tenants. Default: your main tenant.

GWM structure

get_gwm_structure

Global Wealth Map node tree for a client, with node valuations in a reporting currency. REST reference

ArgumentDescription
idrequiredClient id, 1 or greater.
ccyoptionalCurrency for node valuations, for example USD.
statusoptionalOmit for active nodes only. 1 returns only removed nodes. 2 returns active and removed nodes.
tenantIdoptionalTenant from get_tenants. Default: your main tenant.

Transactions

get_transactions

Transaction detail for a client over a period ending at yearMonth. REST reference

ArgumentDescription
idrequiredClient id, 1 or greater.
yearMonthrequiredYYYYMM.
periodoptional0 MTD (default), 1 YTD, 2 3M, 3 6M, 4 12M.
ccyoptionalReporting currency. Default USD.
investmentVehicleoptionalInvestment vehicle filter.
nodeIdoptionalGWM node filter.
tenantIdoptionalTenant from get_tenants. Default: your main tenant.

Performance

get_performance

Asset-level performance (flows, gains, income, IRR, TWR) for a period. REST reference

ArgumentDescription
idrequiredClient id, 1 or greater.
yearMonthrequiredYYYYMM.
periodoptional0 MTD (default), 1 YTD, 2 3M, 3 6M, 4 12M.
ccyoptionalReporting currency. Default USD.
investmentVehicleoptionalInvestment vehicle filter.
tenantIdoptionalTenant from get_tenants. Default: your main tenant.

get_performance_grouped

One metric (IRR, TWR or cumulative XIRR) aggregated by consolidated, investment vehicle, bank account, asset class or custom field. REST reference

ArgumentDescription
idrequiredClient id, 1 or greater.
ccyrequired3-letter currency code.
yearMonthrequiredYYYYMM.
periodoptional0 to 4. Ignored for XIRR.
groupByoptionalconsolidated, investmentVehicle, bankAccount, assetClass, customField.
customFieldIdconditional1 to 10. Only with groupBy=customField.
performanceMetricoptionalIRR (default), TWR, XIRR.
investmentVehicleNodeIdconditionalOnly with groupBy=investmentVehicle.
tenantIdoptionalTenant from get_tenants. Default: your main tenant.

Alternatives

get_closed_end_funds

Closed-end fund commitments, calls, distributions, multiples and XIRR. REST reference

ArgumentDescription
idrequiredClient id, 1 or greater.
yearMonthrequiredYYYYMM.
periodoptional0 MTD (default), 1 YTD, 2 3M, 3 6M, 4 12M, 5 since inception.
ccyoptionalReporting currency. Default USD.
tenantIdoptionalTenant from get_tenants. Default: your main tenant.