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 and idempotentHint, covering safety. The description adds content-level transparency by specifying the exact fields returned (installed MCPs, connection status, accounts, tool counts), which is useful beyond the annotations. It does not discuss potential latency or network calls, but that is not necessary given the annotations.
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, well-structured sentence that front-loads the verb and uses a colon to introduce a concise list of return fields. There is no filler or repetition; every word adds value.
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?
Given the tool's simplicity (no parameters, no output schema, safe read-only operation), the description fully explains what the tool returns and is sufficient for an agent to decide when and how to invoke it. It covers all key aspects of 'toolkit state' without leaving gaps.
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, and the schema is empty with 100% coverage. With no parameters to document, the baseline is 4, and the description appropriately focuses on the output rather than inputs. No additional parameter semantics are needed.
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 a specific verb ('Returns') and clearly identifies the resource ('current toolkit state'), then enumerates exactly what that includes: installed MCPs, connection status, connected accounts, and catalog tool counts. This distinguishes it from sibling tools like datajud_search or authenticate.
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 that this tool is for inspecting the overall toolkit status, which implicitly signals when it should be used (e.g., before connecting or querying). However, it does not explicitly name alternatives or state when not to use it, which prevents a 5.
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.
Each tool has a distinct purpose with clear descriptions. The DataJud-specific tools (datajud_*) are well-separated from platform tools (authenticate, connect, marketplace, etc.), and even similar tools like datajud_get_processo and datajud_movimentos are differentiated by their scope.
Naming conventions are inconsistent: some tools are plain verbs (authenticate, connect), others are nouns (marketplace, toolkit_info), and the datajud_ prefix is applied to a mix of noun and verb phrases (datajud_movimentos vs datajud_get_processo). This lacks a predictable pattern.
With 10 tools, the count is within the typical range for a server. However, the inclusion of generic platform tools alongside domain-specific DataJud tools slightly dilutes the focus, though each tool serves a distinct role.
The DataJud domain coverage is adequate for common operations (login, search, fetch details, movements, raw query). The platform tools also cover essential actions like marketplace management and bug reporting. Minor gaps exist (e.g., no tool for listing available courts), but overall it's functional.