Resources
RobotMoney's MCP server exposes 1 concrete resource plus 6 resource templates that let agents address RobotMoney entities by URI. Resources complement tools: where tools are verbs (tools/call), resources are nouns (resources/read).
URI scheme
brain://
List methods
resources/list (concrete only), resources/templates/list (templated only)
Read method
resources/read
Required scope
Same as the equivalent read tool
The Concrete Resource
resources/list returns exactly one entry: it is genuinely readable as-is, with no placeholder segment in its uri.
PaymentIntent action types
brain://payments/action_types
payment_intent:propose
The 6 Templates
resources/templates/list returns these six. Each uri has a {...} placeholder that must be substituted with a real id before it can be read; reading the literal template text (e.g. brain://ledger/accounts/{account_id}) fails with ledger_row_not_found because {account_id} is not a real account id.
Ledger account
brain://ledger/accounts/{account_id}
ledger:read
Ledger transaction
brain://ledger/transactions/{transaction_id}
ledger:read
Ledger obligation
brain://ledger/obligations/{obligation_id}
ledger:read
Payment intent
brain://ledger/payment-intents/{payment_intent_id}
ledger:read
Wiki page
brain://wiki/pages/{slug}
wiki:read
Action proof (H-07)
brain://proofs/{action_id}
audit:read
Why Resources
Tools are good for queries with arguments. Resources are good for entities with stable identifiers that an agent already knows about: a transaction id from a recent ledger.transactions.list response, a payment intent id from a previous propose, a wiki page slug like /monthly-summaries/2025-09.
Treating them as resources rather than tool calls has three benefits:
Cacheable
An MCP runtime can cache resource reads by URI without understanding the tool's argument shape
Context-friendly
Agents can pass URIs back and forth in their planning context without re-fetching
Discoverable
resources/list and resources/templates/list enumerate what RobotMoney advertises
Reading a Resource
Response:
URI Examples
Resource Discovery
resources/list
Returns only the genuinely readable, concrete resource -- today that is brain://payments/action_types. It does not include any templated uri.
resources/templates/list
Returns the six templated resources as uriTemplate entries, each with a {...} placeholder a client must substitute with a real id.
What Resources Are Not
Lists, queries, search results
Tools handle those (*.list)
Newly proposed entities
The propose tool is the canonical entry point; resources are for fetch-by-id
Streaming feeds
Single-shot HTTP today; streaming may follow when there is a clear use case
Audit
Every successful resources/read emits an agent.mcp.tool_called audit event with method: "resources/read" and the URI in inputs. This means a tenant can see exactly which agent fetched which entity at which time, just like for tool calls.
What's Next
Last updated
