Workers' Rights MCP
A read-only MCP server providing AI agents with access to a 145,000+ court-ruling research corpus, public-source attorney directories, and federal/state employment law data. It supports tools for searching rulings, finding similar cases, checking employer/attorney track records, explaining rights, and accessing EEOC process guides.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://www.workers-rights.com/api/mcpWhat its tools do
9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to workers-rights.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search published employment-law rulings by claim type, state, or industry
- Find similar legal cases based on specific employment disputes
- Retrieve employer track records from public court dockets
- Explain worker rights under specific federal statutes like Title VII or ADA
Source and maintenance
Protocol and capabilities
- Server
- workers-rights 1.0.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
search_rulings — Search employment-law rulings
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, recorded monetary amounts, 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).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"law": {
"type": "string",
"maxLength": 40,
"description": "Filter by a stored law association (not a verified holding), e.g. \"title-vii\", \"adea\", \"ada\", \"fmla\", \"flsa\"."
},
"court": {
"type": "string",
"maxLength": 40,
"description": "Filter by CourtListener court id, e.g. \"scotus\", \"ca11\" (11th Circuit)."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Max rulings to return (1–25)."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Lexical search across case name, opinion excerpt, stored summary and employer. Every word must match; a match does not verify a claim or holding."
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter US state code the case was filed in, e.g. \"FL\", \"CA\"."
},
"circuit": {
"type": "string",
"maxLength": 40,
"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."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Latest filing date (YYYY-MM-DD)."
},
"outcome": {
"enum": [
"plaintiff_win",
"defendant_win",
"settlement",
"dismissed",
"mixed",
"remanded"
],
"type": "string",
"description": "Filter to a specific case outcome."
},
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest filing date (YYYY-MM-DD)."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}find_similar_cases — Find how similar cases were decided
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 topics courts discussed most in opinions employees won vs. lost, and a few representative example cases. Counts are returned at three levels (nationwide, the federal courts of the state's region, and the state) with a detailed breakdown for one level: who won, award amounts, what happened at each stage, and topics. Relay which level a figure describes. A level with few opinions returns counts without a win rate. Each example says what happened and why it matched. Topic rows record what opinions discussed, not what courts found. Educational statistics from published opinions: never present a historical percentage as this person’s probability of winning. Not a prediction or legal advice. In structured stages: won and wonPct count opinions the worker won in whole or in part (wonPct leaves rulings sent back out of its base), and sentBack counts rulings sent back to a lower court. wentForward and wentForwardPct include rulings sent back to a lower court and are kept for compatibility.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"level": {
"enum": [
"national",
"circuit",
"state"
],
"type": "string",
"default": "national",
"description": "Which level the detailed breakdown and examples describe: \"national\" (default), \"circuit\" (federal courts of the state's region), or \"state\". All three levels' counts are returned either way."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code the situation arose in, e.g. \"FL\", \"CA\"."
},
"law_ids": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 20,
"description": "Related law ids, federal or state, e.g. [\"title-vii\",\"adea\",\"ada\",\"fmla\",\"flsa\",\"fl-fcra\",\"ca-feha\"]."
},
"industry": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Employer industry, e.g. \"healthcare\", \"retail\", \"transportation\"."
},
"claim_types": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 20,
"description": "Claim types alleged, snake_case, e.g. [\"retaliation\",\"wrongful_termination\",\"discrimination\",\"harassment\"]. The single highest-value signal."
},
"employer_name": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Employer / defendant name, e.g. \"Union Pacific Railroad\". Used for a fuzzy match."
},
"narrow_to_laws": {
"type": "boolean",
"default": false,
"description": "Only count opinions that mention one of law_ids (a federal law or its state analogue). Default false: every opinion sharing the claim type, under any law."
},
"protected_classes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 20,
"description": "Protected classes at issue, e.g. [\"sex\",\"race\",\"age\",\"disability\",\"pregnancy\",\"national_origin\"]."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_employer_track_record — Get an employer's litigation track record
Given an employer/company name, return distinct federal cases and trusted published employment 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"employer"
],
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 25,
"minimum": 1,
"description": "Number of example published opinions to return (1–25). The total count and outcome breakdown reflect the full corpus, not just these examples."
},
"employer": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Employer/company name to look up, e.g. \"Walmart\", \"Acme Corporation\". Common suffixes like Inc/Corp/LLC are ignored when matching."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_attorney_track_record — Get an employment attorney's case track record
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"attorney"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Number of example cases to return (1–25). Counts reflect all cases on file, not just these."
},
"attorney": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Employment attorney full name (e.g. \"Jane Doe\") or their workers-rights.com profile slug."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}explain_my_rights — Explain applicable employment-law rights
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"issue": {
"type": "string",
"maxLength": 80,
"description": "Type of workplace issue, e.g. \"discrimination\", \"harassment\", \"retaliation\", \"wrongful termination\", \"unpaid wages\", \"disability accommodation\"."
},
"state": {
"type": "string",
"maxLength": 40,
"description": "US state (2-letter code or full name) to include state-specific protections and the correct EEOC filing deadline."
},
"employer_sector": {
"enum": [
"private",
"government",
"federal_government"
],
"type": "string",
"description": "Whether the employer is private, state/local government, or a federal agency."
},
"protected_class": {
"type": "string",
"maxLength": 60,
"description": "Protected characteristic involved, e.g. \"race\", \"sex\", \"age\", \"disability\", \"religion\", \"national origin\", \"pregnancy\"."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_eeoc_process — Explain the EEOC charge process
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).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"stage": {
"type": "integer",
"maximum": 9,
"minimum": 1,
"description": "Stage number 1-9 for a deep-dive on one stage. Omit for an overview of all nine stages."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_evidence_preservation_checklist — Evidence preservation checklist (before losing access)
Concrete checklist for a worker who senses termination coming or is in a deteriorating work situation: what to write down, which records are already theirs to gather (pay records, documents they were given), and how to list everything else so an attorney can ask the employer to preserve it. It does not advise copying or forwarding material from an employer’s systems. 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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"group": {
"enum": [
"today",
"this-week",
"quiet"
],
"type": "string",
"description": "Checklist section for a focused list: 'today' (highest-leverage, do first), 'this-week', or 'quiet' (lower-priority quiet prep). Omit for the full checklist."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}find_employment_attorney — Find an employment attorney
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.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lat": {
"type": "number",
"description": "Optional precise latitude. Overrides city/state when paired with lng."
},
"lng": {
"type": "number",
"description": "Optional precise longitude. Overrides city/state when paired with lat."
},
"city": {
"type": "string",
"maxLength": 60,
"description": "Optional city to tighten the search center (e.g. \"Tampa\")."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Max attorneys to return (1–25)."
},
"state": {
"type": "string",
"maxLength": 40,
"description": "US state — 2-letter code or full name (e.g. \"FL\" or \"Florida\"). Required unless lat/lng given."
},
"language": {
"type": "string",
"maxLength": 40,
"description": "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": {
"type": "number",
"default": 0,
"maximum": 5,
"minimum": 0,
"description": "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": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 5,
"description": "Search radius. Defaults to 100mi for broad statewide coverage."
},
"contingency_fee": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"description": "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."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}get_corpus_stats — Get corpus size and freshness
Return live statistics about the Workers' Rights corpus: total number of collected court records 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 reportable outcomes before the employment browse filter. Use this to establish scale/credibility or to answer 'how much data do you have / how current is it'.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 512 ms
- 95th percentile latency
- 512 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 512 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http workers-rights-mcp https://www.workers-rights.com/api/mcpCodex
codex mcp add workers-rights-mcp --url https://www.workers-rights.com/api/mcpCursor
{
"mcpServers": {
"workers-rights-mcp": {
"url": "https://www.workers-rights.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"workers-rights-mcp": {
"type": "streamableHttp",
"url": "https://www.workers-rights.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"workers-rights-mcp": {
"type": "http",
"url": "https://www.workers-rights.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http workers-rights-mcp https://www.workers-rights.com/api/mcpClaude Desktop
https://www.workers-rights.com/api/mcpWindsurf
{
"mcpServers": {
"workers-rights-mcp": {
"serverUrl": "https://www.workers-rights.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like Workers' Rights MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other documentation and reference servers
Do you run Workers' Rights MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.