opinions_get_text
The stored text of an opinion alone, windowed by start and max_chars (default 60,000), with a pointer to continue.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | ||
| opinion | Yes | ||
| max_chars | No |
The stored text of an opinion alone, windowed by start and max_chars (default 60,000), with a pointer to continue.
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | ||
| opinion | Yes | ||
| max_chars | No |
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, destructiveHint=false, and idempotentHint=true, so the description does not need to repeat safety. It adds value by disclosing the windowing behavior (start, max_chars) and the continuation pointer, which are behavioral traits not captured by annotations or schema defaults alone. No contradiction with 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 sentence that front-loads the core purpose and includes essential details (windowing and continuation) without any redundant words. It is highly efficient 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 tool with three parameters and no output schema, the description covers the main behavioral aspects: text retrieval, windowing, and continuation. It does not specify the exact format of the continuation pointer or any pagination limits, but these are minor given the tool's simplicity. The annotations cover safety, so the description is largely complete.
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?
With schema description coverage at 0%, the description must compensate. It explains start and max_chars as windowing controls and notes the default 60,000, but does not elaborate on the opinion parameter beyond its role as the required identifier. The 'pointer to continue' hints at output semantics but does not detail parameter usage further. Partial compensation, but opinion semantics are obvious from context.
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 states the tool returns the stored text of an opinion, specifying the windowing parameters and continuation pointer. It is clear and specific, though it does not explicitly distinguish itself from sibling tools like opinions_lookup or opinions_search. The verb is implied (retrieve), but the resource and scope are clear.
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 no guidance on when to use this tool versus alternatives. It does not mention situations where another tool (e.g., opinions_lookup for metadata, opinions_search for discovery) would be more appropriate. The usage context is only implied by the description's focus on text retrieval.
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 unique and clearly defined purpose, separated by collection (bills, code, opinions, constitution) and action (list, lookup, search, get_text, browse, etc.). No two tools overlap in functionality.
Tool names follow a consistent pattern of collection_action (e.g., bills_list, code_search, opinions_lookup) with snake_case and descriptive verbs. General tools use clear single-word names like search, fetch, and verify_quote.
With 23 tools, the set is slightly larger than the typical 3โ15 range, but it is appropriate for a comprehensive legal database covering multiple collections and specialized operations (browse, describe, find, verify). The count is justified by the domain's breadth.
The tool set covers all major legal collections (bills, code, constitution, opinions) with CRUD-like operations (list, lookup, search, get_text) and includes cross-cutting utilities (search, fetch, verify_quote, describe_site, get_coverage). No obvious gaps in the expected functionality.