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 | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value by detailing the content of the returned state (installed MCPs, connection status, accounts, catalog tool counts), which goes beyond the annotations and helps the agent anticipate the tool's output.
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?
The description is a single sentence that is front-loaded with the action ('Returns') and the resource ('current toolkit state'), followed by a clear enumeration of the contents. Every word contributes meaning, with no fluff or repetition.
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?
The tool has no parameters, no output schema, and annotations cover the safety aspects. The description fully explains what the tool returns by listing the specific state components, which is sufficient for an agent to understand the tool's purpose and output without ambiguity.
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 input schema is an empty object with 0 parameters, so there are no parameter semantics to document. The baseline for 0 parameters is 4, and the description correctly avoids adding any parameter-related information that would be irrelevant.
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 uses the specific verb 'Returns' and identifies the resource as 'the current toolkit state'. It further enumerates the exact components (installed MCPs, connection status, accounts, catalog tool counts), which distinguishes it from sibling tools like show_version or openfinance_list_connections that focus on different aspects.
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 description provides clear context for when to use the tool: when an agent needs an overview of the toolkit's installed MCPs, their connections, and exposed tools. It does not explicitly name alternatives or exclusions, so it stops short of a 5, but the context is unambiguous and easy to infer.
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.
Most openfinance_* tools map cleanly to distinct resources and actions, and the list/get split is readable. The main risk is openfinance_list_transactions vs openfinance_list_transactions_by_item, which both return transactions and could be confused; openfinance_get_item_status vs openfinance_provider_status also sound similar, though descriptions clarify them.
The openfinance_* family follows a consistent openfinance_<verb>_<noun> pattern, and platform tools mostly use simple verb_noun names. Deviations include openfinance_list_transactions_by_item, which breaks the noun pattern, and the non-prefixed platform tools (authenticate, connect, marketplace) mixing in a second naming category.
At 25 tools, this is at the high end of reasonable scope. The open finance data surface is genuinely broad, so most tools earn their place, but the marketplace/platform tools effectively add a second unrelated domain and push the set toward heavy.
The open finance lifecycle is well covered: connection search, sync, status, disconnect, accounts, balances, transactions, credit card bills, loans, investments, and category correction. Minor gaps exist (no single-transaction fetch, no connection update beyond force_sync), but core agent workflows do not hit dead ends.