Skip to main content
Glama

List the saved briefs

list_briefs
Read-onlyIdempotent

Retrieve saved briefs from proofread.law to find a brief's ID by title before viewing, updating, or deleting it. Shows last saved, last checked, citation tiers, and version counts.

Instructions

List the briefs saved in the user's proofread.law account: id, title, when each was last saved and checked, the number of citations, the counts per tier from its latest check, and the number of versions kept. Use it to find a brief's id when the user refers to a draft by name, before get_brief, update_brief or delete_brief. It only reads: this tool saves nothing and runs no check. Saving is opt-in: nothing is saved unless save_brief or update_brief is called (check_citations and check_document never save anything). A saved brief is stored encrypted in the user's proofread.law account until delete_brief removes it, and needs an API key (PROOFREAD_API_KEY, or one from sign_up).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4.6/5.0
Behavior4/5

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 valuable behavioral context by explicitly stating that the tool 'only reads: this tool saves nothing and runs no check,' reinforcing the read-only nature and clarifying that it does not trigger any analysis. It also discloses that saving is opt-in and never happens implicitly, which is crucial for agent decision-making. This goes beyond the annotations by clarifying the side-effect-free guarantee in operational terms. Minor gap: it doesn't mention pagination or sorting, but for a zero-parameter tool, the return is likely a complete list, so this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately sized, covering multiple aspects: what is returned, when to use it, and the non-saving guarantee. It is appropriately front-loaded with the primary purpose and returned fields, and only later explains the saving semantics, which is secondary. The sentences are information-dense but not excessive; they earn their place by adding unique behavioral and usage context. A slight deduction because the save-semantics explanation could be condensed, but it is relevant for avoiding misuse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (zero parameters, no output schema, no nested objects), the description is complete. It tells the agent what the tool does, what it returns, when to use it, and what side effects (none) it has. The annotations cover safety, and the description provides all the operational details needed for an agent to call it correctly. The only missing piece might be an explicit statement about the return format (e.g., 'array of objects'), but the description's enumeration of fields implies the structure. For this complexity level, nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is effectively empty, so there is nothing to document. The baseline for zero-parameter tools is 4, as the description doesn't need to add parameter details. The description appropriately focuses on the return value and usage context, which is what the agent needs to know. It does not repeat any schema information because there is none. This is a well-handled case where the description compensates for the lack of parameter structure by being clear about outputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: listing saved briefs and their metadata. It specifies the exact resource ('briefs saved in the user's proofread.law account') and enumerates the returned fields (id, title, timestamps, citation counts, tier counts, versions). It distinguishes itself from siblings by explicitly stating 'Use it to find a brief's id... before get_brief, update_brief or delete_brief,' which differentiates it from get_brief (which retrieves a single brief) and other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Use it to find a brief's id when the user refers to a draft by name, before get_brief, update_brief or delete_brief.' It also clarifies when not to use it relative to saving operations: 'Saving is opt-in: nothing is saved unless save_brief or update_brief is called (check_citations and check_document never save anything).' This helps the agent decide between list_briefs and save/update tools, and provides clear context for the typical workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.