Workers' Rights
Server Details
Read-only employment-law research: 140K+ rulings, employer track records, rights & EEOC guides.
- Status
- Healthy
- Uptime
- 100.0% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 9 tools
Each tool has a clearly separated job: rights explanation, EEOC stages, case search, aggregate case similarity, attorney lookup, attorney/employer track records, evidence preservation, and corpus stats. Even the case-related tools differ meaningfully in input and output—search_rulings returns filtered opinions while find_similar_cases returns aggregate outcome analysis.
All nine names follow an imperative snake_case verb_noun pattern (explain_, find_, get_, search_). The verb choice tracks the action (get_ for retrieval, find_ for discovery, search_ for querying, explain_ for legal explanation), so the pattern is predictable and consistent.
Nine tools is well within the ideal range and each tool covers a distinct part of the workers'-rights assistance workflow. No tool feels redundant or superfluous.
The set covers the full orientation-to-action journey: legal-rights explanation, EEOC process guidance, evidence preservation, case research/statistics, and attorney/employer track records. Minor gaps remain—e.g., no direct filing/document-generation tool or state-agency-specific workflow—but agents can accomplish core user goals without dead ends.
Available Tools
9 toolsexplain_my_rightsExplain applicable employment-law rightsARead-onlyInspect
Explain which federal (and state, if a state is given) employment laws may protect a worker based on the type of issue (e.g. discrimination, harassment, retaliation, wrongful termination) and/or the protected class involved (e.g. race, sex, age, disability, pregnancy). Returns the relevant statutes with citations, who they cover (employer-size thresholds), filing deadlines and agencies, and available remedies. Use this to ground an answer about a worker’s legal protections. Deadline guidance covers private-sector and state/local government workers; federal employees follow a separate process with a much shorter deadline (45 days to contact their agency's EEO counselor). Educational information, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| issue | No | Type of workplace issue, e.g. "discrimination", "harassment", "retaliation", "wrongful termination", "unpaid wages", "disability accommodation". | |
| state | No | US state (2-letter code or full name) to include state-specific protections and the correct EEOC filing deadline. | |
| employer_sector | No | Whether the employer is private, state/local government, or a federal agency. | |
| protected_class | No | Protected characteristic involved, e.g. "race", "sex", "age", "disability", "religion", "national origin", "pregnancy". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a safe, read-only, non-destructive operation, and the description adds meaningful behavioral context beyond that: it is educational information rather than legal advice, and it discloses a critical exception for federal employees with a 45-day EEO counselor deadline. This gives the agent important limitations and caveats that annotations alone cannot convey.
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 moderately long but front-loaded with the core purpose and return value before the usage caveats and disclaimer. Every sentence earns its place given the legal complexity; it could be slightly tighter, but there is no filler.
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?
With no output schema, the description takes on the burden of explaining what the tool returns, which it does thoroughly: statutes, citations, employer-size thresholds, filing deadlines, agencies, and remedies. It also covers parameter-specific exceptions and the educational nature of the output, making it complete enough for an agent to invoke correctly.
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?
Schema description coverage is 100%, so the baseline is 3, but the description adds value by showing how parameters interact: state is only relevant when provided, and employer_sector maps to the federal-employee exception with a separate deadline. It also gives concrete examples for issue and protected_class that reinforce the schema descriptions.
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 and resource: explaining applicable employment-law rights based on issue and/or protected class. It clearly distinguishes this tool from procedural or attorney-search siblings by specifying that it returns statutes, citations, coverage thresholds, deadlines, agencies, and remedies.
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 explicitly tells the agent to use this tool to ground an answer about a worker's legal protections, giving clear context for when it applies. It does not name alternatives or state when not to use it, so it falls just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_employment_attorneyFind an employment attorneyARead-onlyInspect
Find public-source employment-law attorney listings near a US location. Returns source-attributed identity, firm, location, and contact data sorted by proximity. Person-specific filters and fields apply only where the underlying directory supports them; Google Places metrics are labeled as firm/office listing data, never individual ratings. Listings are not state-bar verification or an endorsement.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Optional precise latitude. Overrides city/state when paired with lng. | |
| lng | No | Optional precise longitude. Overrides city/state when paired with lat. | |
| city | No | Optional city to tighten the search center (e.g. "Tampa"). | |
| limit | No | Max attorneys to return (1–25). | |
| state | No | US state — 2-letter code or full name (e.g. "FL" or "Florida"). Required unless lat/lng given. | |
| language | No | Filter on attorney-supplied language data. Most listings are public office records that do not publish it; when none in range do, the tool returns total 0 with unsupported_filters rather than silently implying no attorneys are nearby. | |
| min_rating | No | Minimum individual-profile rating. Office/business ratings are never treated as an attorney rating, so this matches only hand-managed profiles and returns nothing where none exist. | |
| radius_miles | No | Search radius. Defaults to 100mi for broad statewide coverage. | |
| contingency_fee | No | Filter on attorney-supplied fee data. Most listings are public office records that do not publish it; when none in range do, the tool returns total 0 with unsupported_filters rather than implying no attorneys are nearby. | |
| free_consultation | No | Filter on attorney-supplied fee data. Most listings are public office records that do not publish it; when none in range do, the tool returns total 0 with unsupported_filters rather than implying no attorneys are nearby. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses data provenance (public-source), result attribution, sorting, and important limitations: person-specific filters only apply when the directory supports them, and Google Places metrics are never presented as individual attorney ratings. This is substantive behavioral context that protects against misuse.
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?
Three sentences: the first states the exact purpose and scope, the second summarizes return data and ordering, the third states caveats. Every sentence carries distinct, non-redundant information, and the core purpose is front-loaded.
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 description provides enough about return content and limitations for a tool with no output schema, and the schema richly documents all parameters, including required-state semantics. Minor gap: it doesn't restate the state-or-lat/lng requirement, but that is fully covered by schema descriptions, so it doesn't materially hurt completeness.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds cross-cutting meaning that isn't in any single parameter: person-specific filters apply only where the underlying directory supports them, and Google Places metrics are labeled as firm/office data, never individual ratings. This helps the agent reason about filter behavior globally.
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 a specific verb ('Find'), a specific resource ('public-source employment-law attorney listings'), and scope ('near a US location'). It also lists return fields (source-attributed identity, firm, location, contact data) and sorting, clearly distinguishing this from general legal-research or track-record siblings.
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?
Usage context is implied by the description (finding attorneys near a location), and the caveat that listings are not state-bar verification or an endorsement hints at non-uses. However, it does not explicitly say when to prefer this tool instead of siblings like get_attorney_track_record or explain_my_rights.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similar_casesFind how similar cases were decidedARead-onlyInspect
Given the facts of an employment situation — claim types, protected class, employer, state — analyze how similar real cases in the corpus were decided. Returns the aggregate plaintiff (employee) win rate, settlement rate, typical damages range, the factors that most helped employees win vs. lose, and a few representative example cases. This is the highest-value grounding tool for 'what are my chances / what matters' questions. Educational statistics, not a prediction or legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter US state code the situation arose in, e.g. "FL", "CA". | |
| law_ids | No | Related law ids, e.g. ["title-vii","adea","ada","fmla","flsa"]. | |
| industry | No | Employer industry, e.g. "healthcare", "retail", "transportation". | |
| claim_types | No | Claim types alleged, snake_case, e.g. ["retaliation","wrongful_termination","discrimination","harassment"]. The single highest-value signal. | |
| employer_name | No | Employer / defendant name, e.g. "Union Pacific Railroad". Used for a fuzzy match. | |
| protected_classes | No | Protected classes at issue, e.g. ["sex","race","age","disability","pregnancy","national_origin"]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, non-destructive, and open-world traits. The description adds important behavioral context by clarifying that output is educational statistics and not a prediction or legal advice, and by describing the aggregate nature of the return values. This exceeds the baseline but does not disclose deeper mechanics such as how similarity is determined.
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?
Three concise sentences with no filler. The first sentence states the action and inputs, the second enumerates the output, and the third provides usage positioning. Every sentence contributes 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?
Despite having no output schema, the description enumerates the returned information in detail: win rate, settlement rate, damages range, influencing factors, and example cases. Combined with strong parameter descriptions and annotations, an agent has enough context to select and invoke the tool appropriately. It also sets appropriate expectations with the educational disclaimer.
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?
Schema description coverage is 100%, so the schema already documents all six parameters. The description adds meaning by positioning claim_types as 'the single highest-value signal' and by framing the other fields as the facts of an employment situation. This is useful selection guidance beyond the schema.
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 and resource: 'analyze how similar real cases in the corpus were decided.' It clearly defines the tool's function and even identifies its intended high-value use case. However, it does not explicitly name or contrast sibling tools, so it stops short of full sibling differentiation.
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 gives clear usage context: it is the go-to grounding tool for 'what are my chances / what matters' questions. It does not, however, state when not to use it or point to alternative tools such as search_rulings or get_corpus_stats, so exclusions and alternatives are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_attorney_track_recordGet an employment attorney's case track recordARead-onlyInspect
Given an employment attorney name (or profile slug), return the federal employment-law cases on file in which that attorney appeared — case caption, court, year, nature-of-suit, and the side they appeared for when on record. Use this when a user names an attorney and wants their public litigation history. Facts only, sourced from federal court dockets. Attorney identities are algorithmically matched; ambiguous and lower-confidence matches are excluded. One case is one normalized court+docket number, so duplicate source rows do not inflate the count.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of example cases to return (1–25). Counts reflect all cases on file, not just these. | |
| attorney | Yes | Employment attorney full name (e.g. "Jane Doe") or their workers-rights.com profile slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/destructive annotations, the description discloses that data comes from federal court dockets, that facts are returned as-is, that attorney identity matching is algorithmic, that ambiguous/low-confidence matches are excluded, and that duplicate source rows are normalized. This gives an agent a reliable mental model of the tool's behavior.
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 information-dense without filler, opening with the core purpose and then adding usage context, data sourcing, matching caveats, and deduplication semantics. Every sentence earns its place and supports correct tool selection or invocation.
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?
There is no output schema, so the description appropriately enumerates the returned fields: case caption, court, year, nature-of-suit, and the side the attorney appeared for. Combined with annotation coverage, schema documentation, and dedup details, the tool is fully described for correct invocation.
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?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds context about attorney matching quality and case deduplication but does not materially extend the meaning of the 'attorney' or 'limit' parameters beyond what the schema provides.
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 names the exact verb (return), the resource (federal employment-law cases on file), and the subject (an employment attorney by name or slug). It enumerates the returned fields, making the tool's scope concrete and clearly distinct from the sibling get_employer_track_record.
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 explicitly states when to use it: 'Use this when a user names an attorney and wants their public litigation history.' It does not explicitly list exclusions or mention the employer-focused sibling, but the 'employment attorney' framing and sibling names make the boundary reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_corpus_statsGet corpus size and freshnessARead-onlyInspect
Return live statistics about the Workers' Rights corpus: total number of court rulings in the research corpus, number of public attorney listings, number of monitored legal data sources, the date the corpus was last updated, and the distribution of case outcomes across the analyzed rulings. Use this to establish scale/credibility or to answer 'how much data do you have / how current is it'.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the statistics are 'live' and enumerates the returned counts, which is useful context but does not disclose additional behavioral aspects like response format, latency, or potential variability. There is 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 two sentences with no filler. The first sentence front-loads the tool's purpose and enumerates every statistic returned, and the second sentence provides concrete use cases. Every clause earns its place.
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?
This is a zero-parameter read-only tool with clear annotations, and the description lists all the statistics returned, effectively covering the response semantics even without an output schema. The usage guidance completes the picture. Nothing essential is missing for an agent to invoke it correctly.
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 has zero parameters and 100% schema description coverage, so there are no parameters requiring additional explanation. With no parameters, the baseline is 4, and the description appropriately focuses on what the tool returns rather than input semantics.
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 starts with a specific verb ('Return live statistics') and names the exact resource (Workers' Rights corpus), then enumerates the precise data points returned. This clearly distinguishes the tool from sibling tools like search_rulings or find_similar_cases, which are query-oriented rather than aggregate statistics.
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 explicitly states when to use this tool: to establish scale/credibility or answer questions about data volume and currency. It doesn't mention exclusions or alternatives, but the use cases are clear enough that an agent would know when this tool is appropriate rather than a more specific legal tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eeoc_processExplain the EEOC charge processARead-onlyInspect
Plain-English guide to the 9 stages of an EEOC discrimination/retaliation charge, from pre-filing through resolution. Call with no arguments for an overview of all stages with typical durations; call with a stage number (1-9) for a deep-dive on that stage: what to expect, how long it takes, the key tip, and do/don't guidance. Use this whenever someone asks what happens after filing with the EEOC, how long the process takes, what a position statement or rebuttal is, or what to do at the stage they are currently in. Covers private-sector and state/local government workers; federal employees follow a separate EEO process with a much shorter deadline (45 days to contact their agency's EEO counselor).
| Name | Required | Description | Default |
|---|---|---|---|
| stage | No | Stage number 1-9 for a deep-dive on one stage. Omit for an overview of all nine stages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only mark the tool read-only/open-world; the description goes well beyond by explaining that calls return either a stage overview with typical durations or a stage deep-dive with tips and do/don'ts. It also discloses the coverage boundary (private-sector/state/local) and the separate federal EEO process, so an agent won't misuse it for federal employees.
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?
Four sentences each carry distinct information: what the tool is, how to invoke it for overview vs deep-dive, when to use it, and its scope/exclusion. Information is front-loaded and there is no fluff or repetition of the title.
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 single-optional-parameter informational tool with no output schema, this description is complete: it covers invocation modes, return content, use triggers, and a key scope exclusion. Nothing an agent needs to decide whether to call it or how to call it is missing.
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 schema already fully documents the optional stage parameter and the omit-for-overview behavior, so the description adds little new parameter syntax. It does enrich the mental model by describing what a stage deep-dive returns, but baseline 3 is appropriate because the schema covers the actual parameter semantics.
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 names a specific resource ('EEOC discrimination/retaliation charge') and a clear action ('Plain-English guide to the 9 stages'), and immediately distinguishes the two invocation modes (overview vs stage deep-dive). This makes the tool's job unambiguous and distinct from the rights/attorney sibling tools.
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?
'Use this whenever someone asks what happens after filing with the EEOC' gives explicit trigger conditions, and the federal-employee caveat tells the agent when this tool is not appropriate. While no sibling is named, the when-to-use and when-not-to-use guidance is sufficiently explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_employer_track_recordGet an employer's litigation track recordARead-onlyInspect
Given an employer/company name, return distinct federal cases and trusted published opinions that involve that employer, the breakdown of outcomes (employee wins, employer wins, settlements, dismissals), the most notable recent opinions, AND the count of federal docket records on file (cases that may not have a written opinion). Use this when a user names their employer and wants that company's litigation history + footprint.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of example published opinions to return (1–25). The total count and outcome breakdown reflect the full corpus, not just these examples. | |
| employer | Yes | Employer/company name to look up, e.g. "Walmart", "Acme Corporation". Common suffixes like Inc/Corp/LLC are ignored when matching. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true and destructiveHint=false, annotations already establish safety. The description adds useful behavioral context: it covers only federal cases and trusted published opinions, includes docket records without opinions, and distinguishes the example limit from the full-corpus totals. This goes beyond the annotations without contradicting them.
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 concise and front-loaded with the core purpose, and the usage trigger is a single final sentence. It packs many output components into one long sentence, but there is no wasted wording or repetition of schema details.
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?
Without an output schema, the description carries the burden of listing return values, and it does so thoroughly: cases, opinions, outcome breakdown, notable opinions, and docket counts. It also clarifies scope (federal, trusted, published) and when to call it, making the tool actionable for an agent.
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?
Schema description coverage is 100%, so the schema already documents employer and limit, including suffix-matching behavior and the limit range. The description reinforces that the tool takes an employer/company name, but does not add substantial new parameter-level meaning beyond the schema.
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 names a specific verb (return) and resource (an employer's litigation track record), and enumerates the exact outputs: distinct federal cases, trusted published opinions, outcome breakdown, notable opinions, and docket count. The phrase 'when a user names their employer' clearly separates it from sibling tools like get_attorney_track_record.
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?
'Use this when a user names their employer and wants that company's litigation history + footprint' gives explicit invocation context. It does not name alternatives or state when not to use it, but the trigger condition is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_evidence_preservation_checklistEvidence preservation checklist (before losing access)ARead-onlyInspect
Concrete checklist for a worker who senses termination coming or is in a deteriorating work situation: what to save (emails, chat DMs, performance reviews, HR records, pay records), in what order, and how to do it without crossing lines — preserving your own employment record is legal; taking company IP is not. Use this whenever someone says they think they are about to be fired, fears retaliation is escalating, mentions a PIP or sudden access changes, or asks what to do before reporting discrimination. Sections: 'today' (highest-leverage, minutes matter), 'this-week', 'quiet' (low-priority prep). Time-sensitive — employers often revoke system access during the termination call itself.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | Checklist section for a focused list: 'today' (highest-leverage, do first), 'this-week', or 'quiet' (lower-priority quiet prep). Omit for the full checklist. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, open-world, and non-destructive; the description adds relevant context like time-sensitivity and the legal boundary, but it does not describe the tool's own operational behavior beyond returning a checklist. No annotation contradiction exists.
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 dense but not padded: it front-loads the core purpose, then gives triggers, section mapping, and urgency. There is mild redundancy with the schema's enum descriptions, but every sentence earns its place.
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 tool with one optional parameter and a read-only annotation profile, the description is complete: it tells the agent when to use it, what it returns, how sections map to urgency, and why time matters. The schema covers the remaining parameter detail, so nothing essential is missing.
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 single optional group parameter is fully described in the schema with its enum values, section meanings, and omission behavior. The tool description mostly restates those section priorities rather than adding new parameter semantics, so the baseline 3 applies.
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 a specific deliverable—a concrete evidence-preservation checklist—and defines its audience and content: emails, chat DMs, performance reviews, HR records, and pay records. Although it does not name sibling tools, its checklist focus is clearly distinct from the legal-research and rights-explanation siblings.
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?
It gives explicit trigger conditions: someone fears termination, retaliation is escalating, a PIP or sudden access changes, or asks what to do before reporting discrimination. It lacks an explicit when-not-to-use or named alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_rulingsSearch employment-law rulingsARead-onlyInspect
Search published employment-law rulings from our research corpus by keyword, law, court, federal circuit, state, outcome, and date. Returns published opinions with citations, outcomes, procedural stage, employers, claim types, damages, and links to the full opinion. Use this to ground any claim about how employment cases have been decided. Results are quality-filtered (low-confidence and junk rows excluded).
| Name | Required | Description | Default |
|---|---|---|---|
| law | No | Filter by a related law id, e.g. "title-vii", "adea", "ada", "fmla", "flsa". | |
| court | No | Filter by CourtListener court id, e.g. "scotus", "ca11" (11th Circuit). | |
| limit | No | Max rulings to return (1–25). | |
| query | No | Free-text search across case name and opinion snippet (e.g. "pregnancy discrimination retaliation"). | |
| state | No | Two-letter US state code the case was filed in, e.g. "FL", "CA". | |
| circuit | No | Filter to a federal appeals circuit (the appeals court plus its district courts). Preferred values: first-circuit, second-circuit, third-circuit, fourth-circuit, fifth-circuit, sixth-circuit, seventh-circuit, eighth-circuit, ninth-circuit, tenth-circuit, eleventh-circuit, dc-circuit, federal-circuit. Display forms like "Eleventh Circuit" or "11th" are also accepted. | |
| date_to | No | Latest filing date (YYYY-MM-DD). | |
| outcome | No | Filter to a specific case outcome. | |
| date_from | No | Earliest filing date (YYYY-MM-DD). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the bar is lower. The description adds behavioral value by specifying return fields ('citations, outcomes, procedural stage...') and the quality filter ('low-confidence and junk rows excluded'), which is not visible in annotations or schema.
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?
Three sentences, each carrying distinct information: scope and filters, return fields, and usage context plus quality filtering. No redundant phrasing, and the most identifying action verb is front-loaded.
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 description covers the tool's purpose, filter dimensions, return content, use case, and quality behavior, which is sufficient for a 9-parameter search tool with no output schema. It does not delineate sorting or filter combination semantics, but the schema already covers parameter formats and limits, so those gaps are minor.
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?
Schema description coverage is 100%, so the parameters are already well-documented. The description reiterates the filter dimensions but adds no syntax or format details beyond the schema; it earns the baseline 3 for no gaps to compensate.
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 opens with a specific verb and resource: 'Search published employment-law rulings from our research corpus,' and enumerates the filter dimensions. The clause 'Use this to ground any claim about how employment cases have been decided' positions it clearly against siblings like explain_my_rights or find_similar_cases.
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?
It explicitly states when to use the tool: 'Use this to ground any claim about how employment cases have been decided.' It does not explicitly name alternatives or exclusion conditions, but the context is clear enough for an agent to select it for case-law search rather than for procedural guidance or attorney matching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
explain_my_rights1 field changed- added
Input schema / properties / employer_sectorAdded value: +{ + "description": "Whether the employer is private, state/local government, or a federal agency.", + "enum": [ + "private", + "government", + "federal_government" + ], + "type": "string" +}
9 tool updates
- Changed
explain_my_rights1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
find_employment_attorney1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
find_similar_cases1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_attorney_track_record1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_corpus_stats1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_eeoc_process1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_employer_track_record1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_evidence_preservation_checklist1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
search_rulings1 field changed- added
Input schema / additionalPropertiesAdded value: +false
1 tool update
- Changed
find_employment_attorney4 fields changed- changed
Input schema / properties / contingency_fee / descriptionPrevious value: -"Filter source-supported attorney fee data; Google office listings are excluded."New value: +"Filter on attorney-supplied fee data. Most listings are public office records that do not publish it; when none in range do, the tool returns total 0 with unsupported_filters rather than implying no attorneys are nearby." - changed
Input schema / properties / free_consultation / descriptionPrevious value: -"Filter source-supported attorney fee data; Google office listings are excluded."New value: +"Filter on attorney-supplied fee data. Most listings are public office records that do not publish it; when none in range do, the tool returns total 0 with unsupported_filters rather than implying no attorneys are nearby." - changed
Input schema / properties / language / descriptionPrevious value: -"Filter source-supported attorney language data; Google office listings are excluded."New value: +"Filter on attorney-supplied language data. Most listings are public office records that do not publish it; when none in range do, the tool returns total 0 with unsupported_filters rather than silently implying no attorneys are nearby." - changed
Input schema / properties / min_rating / descriptionPrevious value: -"Minimum individual-profile rating; Google office ratings are excluded."New value: +"Minimum individual-profile rating. Office/business ratings are never treated as an attorney rating, so this matches only hand-managed profiles and returns nothing where none exist."
1 tool update
- Changed
find_similar_cases18 fields changed- removed
Input schema / properties / claim_types / defaultRemoved value: -[] - added
Input schema / properties / claim_types / items / maxLengthAdded value: +80 - added
Input schema / properties / claim_types / items / minLengthAdded value: +1 - added
Input schema / properties / claim_types / maxItemsAdded value: +20 - added
Input schema / properties / employer_name / minLengthAdded value: +1 - changed
Input schema / properties / industry / maxLengthPrevious value: -60New value: +80 - added
Input schema / properties / industry / minLengthAdded value: +1 - removed
Input schema / properties / law_ids / defaultRemoved value: -[] - added
Input schema / properties / law_ids / items / maxLengthAdded value: +80 - added
Input schema / properties / law_ids / items / minLengthAdded value: +1 - added
Input schema / properties / law_ids / maxItemsAdded value: +20 - removed
Input schema / properties / protected_classes / defaultRemoved value: -[] - added
Input schema / properties / protected_classes / items / maxLengthAdded value: +80 - added
Input schema / properties / protected_classes / items / minLengthAdded value: +1 - added
Input schema / properties / protected_classes / maxItemsAdded value: +20 - removed
Input schema / properties / state / maxLengthRemoved value: -2 - removed
Input schema / properties / state / minLengthRemoved value: -2 - added
Input schema / properties / state / patternAdded value: +"^[A-Za-z]{2}$"
1 tool update
- Changed
get_employer_track_record1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Number of example cases to return (1–25). The total count and outcome breakdown reflect the full corpus, not just these examples."New value: +"Number of example published opinions to return (1–25). The total count and outcome breakdown reflect the full corpus, not just these examples."
1 tool update
- Changed
find_employment_attorney4 fields changed- changed
Input schema / properties / contingency_fee / descriptionPrevious value: -"Only attorneys who work on contingency (no upfront fee)."New value: +"Filter source-supported attorney fee data; Google office listings are excluded." - changed
Input schema / properties / free_consultation / descriptionPrevious value: -"Only attorneys offering a free initial consultation."New value: +"Filter source-supported attorney fee data; Google office listings are excluded." - changed
Input schema / properties / language / descriptionPrevious value: -"Filter to attorneys who speak this language, e.g. \"Spanish\"."New value: +"Filter source-supported attorney language data; Google office listings are excluded." - changed
Input schema / properties / min_rating / descriptionPrevious value: -"Minimum star rating (0–5)."New value: +"Minimum individual-profile rating; Google office ratings are excluded."
1 tool update
- Added
get_evidence_preservation_checklist
8 tool updates
- Changed
explain_my_rights1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
find_employment_attorney2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / requiredRemoved value: -[ - "min_rating", - "radius_miles", - "limit" -]
- Changed
find_similar_cases2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / requiredRemoved value: -[ - "claim_types", - "protected_classes", - "law_ids" -]
- Changed
get_attorney_track_record2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / requiredPrevious value: -[ - "attorney", - "limit" -]New value: +[ + "attorney" +]
- Changed
get_corpus_stats1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get_eeoc_process1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Changed
get_employer_track_record2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / requiredPrevious value: -[ - "employer", - "limit" -]New value: +[ + "employer" +]
- Changed
search_rulings2 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / requiredRemoved value: -[ - "limit" -]
1 tool update
- Changed
search_rulings1 field changed- added
Input schema / properties / circuitAdded value: +{ + "description": "Filter to a federal appeals circuit (the appeals court plus its district courts). Preferred values: first-circuit, second-circuit, third-circuit, fourth-circuit, fifth-circuit, sixth-circuit, seventh-circuit, eighth-circuit, ninth-circuit, tenth-circuit, eleventh-circuit, dc-circuit, federal-circuit. Display forms like \"Eleventh Circuit\" or \"11th\" are also accepted.", + "maxLength": 40, + "type": "string" +}
1 tool update
- Added
get_attorney_track_record
1 tool update
- Added
get_eeoc_process
6 tool updates
- First observed
explain_my_rights - First observed
find_employment_attorney - First observed
find_similar_cases - First observed
get_corpus_stats - First observed
get_employer_track_record - First observed
search_rulings
Related MCP Connectors
Source-linked research on U.S. judges, courts, cases, and judicial analytics.
Read-only access to your Citlyze workspace: AI search visibility, citations, and recommendations.
Verified U.S. legal research: case search, statutes, good-law checks; metered per call.
Read-only opt-out guides, removal routes for 950+ data brokers, and privacy library search.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying labor lawsuits by employer from the official MTE source, with read-only access.MIT
- AlicenseNot gradedqualityCmaintenanceEnables official-source lookup of Brazilian labor court (TRT5) legal proceedings through natural language, offering read-only access with pay-per-query prepaid credit.MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying labor lawsuits (processos trabalhistas) in Brazilian Regional Labor Courts (TRT) using CPF or CNPJ, with read-only access and pay-per-use credits.MIT
- AlicenseNot gradedqualityBmaintenanceEnables querying concluded U.S. Department of Labor Wage & Hour Division enforcement cases, including employer search, case histories, back-wage totals, and dataset coverage.347 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.