Workers' Rights
REMOTE · WWW.WORKERS-RIGHTS.COM · SCANNED AUG 4
Read-only employment-law research: 140K+ rulings, employer track records, rights & EEOC guides.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2063 tokens (~229/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · www.workers-rights.com
claude mcp add --transport http com-workers-rights-employment-law https://www.workers-rights.com/api/mcp
[mcp_servers.com-workers-rights-employment-law] url = "https://www.workers-rights.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-workers-rights-employment-law": {
"type": "remote",
"url": "https://www.workers-rights.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add com-workers-rights-employment-law --url https://www.workers-rights.com/api/mcp --transport streamable-http
mcp_servers:
com-workers-rights-employment-law:
url: "https://www.workers-rights.com/api/mcp" {
"mcpServers": {
"com-workers-rights-employment-law": {
"type": "http",
"url": "https://www.workers-rights.com/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_attorney_track_record” rewrote its description, which is the text the model reads security
- Tool “search_rulings” rewrote its description, which is the text the model reads security
- Tool “find_employment_attorney” rewrote its description, which is the text the model reads security
- “find_employment_attorney” reworded the description of “free_consultation” cosmetic
- “find_employment_attorney” reworded the description of “language” cosmetic
- “find_employment_attorney” reworded the description of “min_rating” cosmetic
- “find_employment_attorney” reworded the description of “contingency_fee” cosmetic
- 31 Jul 26 +4
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 67
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Probed https://www.workers-rights.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=www.workers-rights.com | CN=YR1,O=Let's Encrypt,C=US | 29 Jun 2026 | 27 Sept 2026 | RSA 2048 | SHA256-RSA | 5d4d857a75371974ddfc590a823e42277ef |
| SANs: www.workers-rights.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of www.workers-rights.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| workers-rights.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; frame-ancestors 'none'; form-action 'self'; script-src 'self' 'unsafe-inline' https://maps.googleapis.com https://js.stripe.com https://www.googletagmanager.com https://www.google-analytics.com https://vercel.live; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: blob: https://maps.googleapis.com https://maps.gstatic.com https://*.googleapis.com https://*.googleusercontent.com https://*.supabase.co https://www.google-analytics.com https://www.googletagmanager.com; connect-src 'self' https://api.anthropic.com https://*.supabase.co https://maps.googleapis.com https://accounts.google.com https://api.stripe.com https://www.google.com https://www.google-analytics.com https://*.google-analytics.com https://*.analytics.google.com https://www.googletagmanager.com; worker-src 'self' blob:; frame-src 'self' https://accounts.google.com https://login.microsoftonline.com https://js.stripe.com https://checkout.stripe.com; obje |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(self) |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.workers-rights.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://www.workers-rights.com/api/mcp | HTTPS enforced | 308 | https://www.workers-rights.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
explain_my_rights Explain applicable employment-law rights ~257
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 | Type | Req | Description |
|---|---|---|---|
| issue | string | — | Type of workplace issue, e.g. "discrimination", "harassment", "retaliation", "wrongful termination", "unpaid wages", "disability accommodation". |
| protected_class | string | — | Protected characteristic involved, e.g. "race", "sex", "age", "disability", "religion", "national origin", "pregnancy". |
| state | string | — | US state (2-letter code or full name) to include state-specific protections and the correct EEOC filing deadline. |
No output schema declared.
No examples provided.
find_employment_attorney Find an employment attorney ~284
Find employment-law attorneys near a US location from a public directory of 9,500+ attorneys. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | Optional city to tighten the search center (e.g. "Tampa"). |
| contingency_fee | boolean | — | Filter source-supported attorney fee data; Google office listings are excluded. |
| free_consultation | boolean | — | Filter source-supported attorney fee data; Google office listings are excluded. |
| language | string | — | Filter source-supported attorney language data; Google office listings are excluded. |
| lat | number | — | Optional precise latitude. Overrides city/state when paired with lng. |
| limit | integer | — | Max attorneys to return (1–25). |
| lng | number | — | Optional precise longitude. Overrides city/state when paired with lat. |
| min_rating | number | — | Minimum individual-profile rating; Google office ratings are excluded. |
| radius_miles | integer | — | Search radius. Defaults to 100mi for broad statewide coverage. |
| state | string | — | US state — 2-letter code or full name (e.g. "FL" or "Florida"). Required unless lat/lng given. |
No output schema declared.
No examples provided.
find_similar_cases Find how similar cases were decided ~280
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 | Type | Req | Description |
|---|---|---|---|
| claim_types | array | — | Claim types alleged, snake_case, e.g. ["retaliation","wrongful_termination","discrimination","harassment"]. The single highest-value signal. |
| employer_name | string | — | Employer / defendant name, e.g. "Union Pacific Railroad". Used for a fuzzy match. |
| industry | string | — | Employer industry, e.g. "healthcare", "retail", "transportation". |
| law_ids | array | — | Related law ids, e.g. ["title-vii","adea","ada","fmla","flsa"]. |
| protected_classes | array | — | Protected classes at issue, e.g. ["sex","race","age","disability","pregnancy","national_origin"]. |
| state | string | — | Two-letter US state code the situation arose in, e.g. "FL", "CA". |
No output schema declared.
No examples provided.
get_attorney_track_record Get an employment attorney's case track record ~152
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.
| Name | Type | Req | Description |
|---|---|---|---|
| attorney | string | yes | Employment attorney full name (e.g. "Jane Doe") or their workers-rights.com profile slug. |
| limit | integer | — | Number of example cases to return (1–25). Counts reflect all cases on file, not just these. |
No output schema declared.
No examples provided.
get_corpus_stats Get corpus size and freshness ~87
Return live statistics about the Workers' Rights corpus: total number of employment-law court rulings, number of attorneys in the directory, 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'.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_eeoc_process Explain the EEOC charge process ~196
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 | Type | Req | Description |
|---|---|---|---|
| stage | integer | — | Stage number 1-9 for a deep-dive on one stage. Omit for an overview of all nine stages. |
No output schema declared.
No examples provided.
get_employer_track_record Get an employer's litigation track record ~166
Given an employer/company name, return how many employment-law rulings in the corpus involve that employer, the breakdown of outcomes (employee wins, employer wins, settlements, dismissals), the most notable recent cases, AND the count of federal docket filings on record (active/filed cases that may not have a written opinion yet). Use this when a user names their employer and wants that company's litigation history + footprint.
| Name | Type | Req | Description |
|---|---|---|---|
| employer | string | yes | Employer/company name to look up, e.g. "Walmart", "Acme Corporation". Common suffixes like Inc/Corp/LLC are ignored when matching. |
| limit | integer | — | Number of example cases to return (1–25). The total count and outcome breakdown reflect the full corpus, not just these examples. |
No output schema declared.
No examples provided.
get_evidence_preservation_checklist Evidence preservation checklist (before losing access) ~200
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 | Type | Req | Description |
|---|---|---|---|
| group | string | — | Checklist section for a focused list: 'today' (highest-leverage, do first), 'this-week', or 'quiet' (lower-priority quiet prep). Omit for the full checklist. |
No output schema declared.
No examples provided.
search_rulings Search employment-law rulings ~364
Search a 140,000+ U.S. court-ruling research corpus by keyword, law, court, federal circuit, state, outcome, and date. Returns real cases with citations, outcomes, case 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 | Type | Req | Description |
|---|---|---|---|
| circuit | string | — | 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… |
| court | string | — | Filter by CourtListener court id, e.g. "scotus", "ca11" (11th Circuit). |
| date_from | string | — | Earliest filing date (YYYY-MM-DD). |
| date_to | string | — | Latest filing date (YYYY-MM-DD). |
| law | string | — | Filter by a related law id, e.g. "title-vii", "adea", "ada", "fmla", "flsa". |
| limit | integer | — | Max rulings to return (1–25). |
| outcome | string | — | Filter to a specific case outcome. |
| query | string | — | Free-text search across case name and opinion snippet (e.g. "pregnancy discrimination retaliation"). |
| state | string | — | Two-letter US state code the case was filed in, e.g. "FL", "CA". |
No output schema declared.
No examples provided.