toolkit_info
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds useful behavioral context by specifying the exact information returned (installed MCPs, connection status, accounts, catalog tool counts), which goes beyond the annotations. It does not contradict annotations (the tool 'returns' state, consistent with read-only).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence immediately states the action ('Returns') and then lists the exact content delivered. Every word earns its place, with no filler or repetition of annotation information. This is highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only state tool with no parameters and no output schema, the description is fully sufficient. It enumerates all categories of returned data (installed MCPs, connection status, accounts, catalog tool counts), giving the agent a complete mental model of what to expect. No additional explanation is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is empty and coverage is 100%. No parameter explanation is needed, and the baseline for zero-parameter tools is 4. The description adds no param info because there are none to describe, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Returns') and resource ('current toolkit state'), and enumerates the exact contents: installed MCPs, connection status, accounts, and catalog tool counts. This distinguishes it from sibling tools like openfinance_list_accounts or show_version, which target specific data rather than overall toolkit state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'current toolkit state' provides clear context for when to use this tool—when an agent needs an overview of what MCPs are installed, their connectivity, and associated accounts. It does not explicitly name alternatives or exclusionary conditions, but the purpose makes the usage scenario evident, distinguishing it from data-access siblings. This fits 'clear context, no exclusions.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
The openfinance_ tools are mostly distinct by resource/action, but there are several overlapping pairs: list_accounts vs get_accounts_detail, list_credit_card_bills vs get_credit_card_bill, list_transactions vs list_transactions_by_item, and connect vs toolkit_info vs openfinance_list_connections. The descriptions help disambiguate, but an agent could still misselect between these related tools.
The core banking tools consistently follow an openfinance_<verb>_<noun> pattern, which is a strong and readable convention. The generic platform tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) break that pattern and use mixed naming styles, creating two distinct naming tiers within the same server.
25 tools sits at the upper borderline of what feels reasonable for one server. The Open Finance domain justifies many read/query tools, but the inclusion of platform meta-tools like marketplace, connect, toolkit_info, report_bug, and show_version inflates the count beyond a tightly focused bank-data scope.
The Open Finance surface is largely complete: connectors, sync, disconnect, accounts, balances, transactions, categorization, credit card bills, loans, investments, and provider status are all covered. Minor gaps exist, such as the lack of a dedicated investment detail endpoint and limited consent/permission introspection, but agents can work around these with the existing tools.