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
| Tool | REST endpoint |
|---|---|
get_tenants | GET /Tenants |
get_clients | GET /Clients |
get_holdings | GET /Holdings/{id} |
get_gwm_structure | GET /GWM/{id} |
get_transactions | GET /Transactions/{id} |
get_performance | GET /Performance/{id} |
get_performance_grouped | GET /Performance/Grouped/{id} |
get_closed_end_funds | GET /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.
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
| Argument | Description | |
|---|---|---|
id | required | Client id, 1 or greater. |
yearMonth | required | YYYYMM. |
ccy | optional | Reporting currency. Default USD. |
historicalMonths | optional | 1 to 12 month-ends back from yearMonth. Default 1. |
investmentVehicle | optional | Investment vehicle filter. |
nodeId | optional | GWM node filter. |
tenantId | optional | Tenant 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
| Argument | Description | |
|---|---|---|
id | required | Client id, 1 or greater. |
ccy | optional | Currency for node valuations, for example USD. |
status | optional | Omit for active nodes only. 1 returns only removed nodes. 2 returns active and removed nodes. |
tenantId | optional | Tenant from get_tenants. Default: your main tenant. |
Transactions
get_transactions
Transaction detail for a client over a period ending at yearMonth. REST reference
| Argument | Description | |
|---|---|---|
id | required | Client id, 1 or greater. |
yearMonth | required | YYYYMM. |
period | optional | 0 MTD (default), 1 YTD, 2 3M, 3 6M, 4 12M. |
ccy | optional | Reporting currency. Default USD. |
investmentVehicle | optional | Investment vehicle filter. |
nodeId | optional | GWM node filter. |
tenantId | optional | Tenant from get_tenants. Default: your main tenant. |
Performance
get_performance
Asset-level performance (flows, gains, income, IRR, TWR) for a period. REST reference
| Argument | Description | |
|---|---|---|
id | required | Client id, 1 or greater. |
yearMonth | required | YYYYMM. |
period | optional | 0 MTD (default), 1 YTD, 2 3M, 3 6M, 4 12M. |
ccy | optional | Reporting currency. Default USD. |
investmentVehicle | optional | Investment vehicle filter. |
tenantId | optional | Tenant 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
| Argument | Description | |
|---|---|---|
id | required | Client id, 1 or greater. |
ccy | required | 3-letter currency code. |
yearMonth | required | YYYYMM. |
period | optional | 0 to 4. Ignored for XIRR. |
groupBy | optional | consolidated, investmentVehicle, bankAccount, assetClass, customField. |
customFieldId | conditional | 1 to 10. Only with groupBy=customField. |
performanceMetric | optional | IRR (default), TWR, XIRR. |
investmentVehicleNodeId | conditional | Only with groupBy=investmentVehicle. |
tenantId | optional | Tenant from get_tenants. Default: your main tenant. |
Alternatives
get_closed_end_funds
Closed-end fund commitments, calls, distributions, multiples and XIRR. REST reference
| Argument | Description | |
|---|---|---|
id | required | Client id, 1 or greater. |
yearMonth | required | YYYYMM. |
period | optional | 0 MTD (default), 1 YTD, 2 3M, 3 6M, 4 12M, 5 since inception. |
ccy | optional | Reporting currency. Default USD. |
tenantId | optional | Tenant from get_tenants. Default: your main tenant. |