Skip to main content
Reference
DraftLast reviewed 2026-06-23

MCP tools

trms-ai registers three @Component classes of Spring AI @Tool-annotated methods (trms-ai/src/main/java/io/trms/ai/tool/). Each class is wrapped in a MethodToolCallbackProvider bean in AiConfig and picked up by Spring AI's MCP server auto-configuration, so every method below is exposed as an MCP tool to any connected agent. See Drive via MCP for how to connect a client, and Agent runtime for how the runtime wires these tools into a chat session.

Tool catalogue

AUTO-GENERATED from @Tool methods in trms-ai/src/main/java/io/trms/ai/tool. Do not edit by hand; run npm run sync.

There are 9 @Tool methods today, across 3 tool classes.

ApprovalTools (3 tools)

ToolParametersDescription
listPendingApprovalsList all pending approval requests. Returns a JSON array of approval requests.
approveRequestapprovalId - The approval request UUID
comment - Optional comment for the approval decision
Approve a pending approval request by its UUID.
rejectRequestapprovalId - The approval request UUID
comment - Reason for rejection
Reject a pending approval request by its UUID.

DealTools (4 tools)

ToolParametersDescription
captureDealproductType - Product type: swap, spot, forward, option, repo, deposit
assetClass - Asset class: rates, fx, credit, equity, money_market
currency - ISO 4217 currency code, e.g. USD
notionalStr - Notional amount as a number string, e.g. 10000000
counterpartyId - Counterparty UUID
bookId - Book UUID
detailsJson - Financial details as JSON object string, or empty object {}
Preview a deal capture. Returns a preview summary and a confirmation token. Always show the preview to the user and ask for confirmation before calling confirmCaptureDeal.
confirmCaptureDealconfirmationToken - The confirmation token returned by captureDealExecute a deal capture that was previously previewed. Requires a valid confirmation token.
getDealdealId - The deal UUIDRetrieve a deal by its UUID. Returns deal details as JSON.
listDealsproductType - Filter by product type, e.g. swap; or null
assetClass - Filter by asset class, e.g. rates; or null
status - Filter by deal status, e.g. draft; or null
List deals with optional filters. Pass null or empty string to omit a filter.

ValuationTools (2 tools)

ToolParametersDescription
valuateDealdealId - The deal UUID to valuate
marketDataJson - Market data as JSON object string, e.g. {"discountRate": 0.05}
Valuate a deal using provided market data. Returns valuation summary as JSON.
getValuationSummarydealId - The deal UUIDGet a human-readable valuation summary for a deal. Uses default (empty) market data.

Authorization

The tool methods themselves carry no @RequireScope annotation — they call into the same domain services (DealService, ApprovalService, EntitledValuationService) that the REST controllers call, and those services enforce scopes and approval chains internally for the authenticated caller. In practice this means an MCP client is bound by exactly the same scopes as the human user it is acting on behalf of; there is no separate, looser scope set for agents.

Conventions tools share with the REST API

Tool inputs/outputs follow the same wire conventions as the REST API — see Conventions for snake_case JSON, BigDecimal amounts (passed as numeric strings in tool parameters), and UUID IDs.