MCP Server

Redra

io.github.sacrosaunt/redra
Legal & Compliance Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Searches current class-action settlements using structured filters and returns settlement records with official source links.

get_dataset_info
Get dataset information
Return source, license, freshness, counts, and hosted aggregate metrics.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_dataset_infoArguments', 'properties': {}}
Output schema
{'type': 'object', 'title': 'get_dataset_infoDictOutput', 'additionalProperties': True}
get_settlement
Get a settlement
Return the complete stored record and official source links for one settlement ID produced by a search.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_settlementArguments', 'required': ['settlement_id'], 'properties': {'settlement_id': {'type': 'string', 'title': 'Settlement Id', 'maxLength': 200, 'minLength': 1, 'description': 'Exact settlement identifier returned by a search.'}}}
Output schema
{'type': 'object', 'title': 'get_settlementDictOutput', 'additionalProperties': True}
get_settlements
Get settlements
Return complete stored records and official source links for up to 20 settlement IDs produced by search.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_settlementsArguments', 'required': ['settlement_ids'], 'properties': {'settlement_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'title': 'Settlement Ids', 'maxItems': 20, 'minItems': 1, 'description': 'Settlement identifiers returned by search to retrieve together.'}}}
Output schema
{'type': 'object', 'title': 'get_settlementsDictOutput', 'additionalProperties': True}
search_settlements
Search settlements
Search one settlement angle using logical AND keywords and structured status, type, state, proof, and deadline filters. Status defaults to open. Results include source metadata and quality flags.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'search_settlementsArguments', 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum records returned, from 1 to 50.'}, 'state': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2}, {'type': 'null'}], 'title': 'State', 'default': None, 'description': 'Optional two-letter US postal abbreviation, such as CA.'}, 'status': {'enum': ['open', 'upcoming'], 'type': 'string', 'title': 'Status', 'default': 'open', 'description': 'Public lifecycle filter: open or upcoming. Defaults to open. Upcoming records are not yet claimable and must be presented as a separate watchlist.'}, 'keywords': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 20}, {'type': 'null'}], 'title': 'Keywords', 'default': None, 'description': 'Required logical-AND terms for specific companies, brands, products, employers, services, or incidents. Use separate queries for alternatives and settlement_type for taxonomy.'}, 'deadline_after': {'anyOf': [{'type': 'string', 'format': 'date'}, {'type': 'null'}], 'title': 'Deadline After', 'default': None, 'description': 'Include deadlines on or after this ISO 8601 date.'}, 'proof_required': {'anyOf': [{'enum': ['yes', 'no', 'unknown'], 'type': 'string'}, {'type': 'null'}], 'title': 'Proof Required', 'default': None, 'description': 'Whether proof is required: yes, no, or unknown.'}, 'deadline_before': {'anyOf': [{'type': 'string', 'format': 'date'}, {'type': 'null'}], 'title': 'Deadline Before', 'default': None, 'description': 'Include deadlines on or before this ISO 8601 date.'}, 'settlement_type': {'anyOf': [{'enum': ['class_action_settlement', 'consumer_product_settlement', 'data_breach_settlement', 'financial_fee_settlement', 'government_refund', 'other_consumer_compensation', 'privacy_settlement', 'regulatory_compensation_program', 'state_ag_refund'], 'type': 'string'}, {'type': 'null'}], 'title': 'Settlement Type', 'default': None, 'description': 'Exact settlement taxonomy filter. Prefer this over keywords for type concepts such as data breaches, privacy, refunds, financial fees, or consumer products.'}}}
Output schema
{'type': 'object', 'title': 'search_settlementsDictOutput', 'additionalProperties': True}
search_settlements_batch
Search settlements in a batch
Run up to 50 independent settlement searches and deduplicate records across queries. Results include matched_query_indices, and executed_query_count reports the number of searches performed. Use when several unrelated search angles should be evaluated together.
Read only Idempotent
Input schema
{'type': 'object', '$defs': {'SearchQuery': {'type': 'object', 'title': 'SearchQuery', 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum results for this independent query, from 1 to 50.'}, 'state': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2}, {'type': 'null'}], 'title': 'State', 'default': None, 'description': 'Optional two-letter US postal abbreviation, such as CA.'}, 'status': {'enum': ['open', 'upcoming'], 'type': 'string', 'title': 'Status', 'default': 'open', 'description': 'Public lifecycle filter: open or upcoming. Defaults to open. Upcoming records are not yet claimable and belong in a separate watchlist.'}, 'keywords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'title': 'Keywords', 'maxItems': 20, 'description': 'Terms combined with logical AND. Put unrelated companies, products, or alternatives in separate batch query objects.'}, 'deadline_after': {'anyOf': [{'type': 'string', 'format': 'date'}, {'type': 'null'}], 'title': 'Deadline After', 'default': None, 'description': 'Include deadlines on or after this ISO 8601 date.'}, 'proof_required': {'anyOf': [{'enum': ['yes', 'no', 'unknown'], 'type': 'string'}, {'type': 'null'}], 'title': 'Proof Required', 'default': None, 'description': 'Whether proof is required: yes, no, or unknown.'}, 'deadline_before': {'anyOf': [{'type': 'string', 'format': 'date'}, {'type': 'null'}], 'title': 'Deadline Before', 'default': None, 'description': 'Include deadlines on or before this ISO 8601 date.'}, 'settlement_type': {'anyOf': [{'enum': ['class_action_settlement', 'consumer_product_settlement', 'data_breach_settlement', 'financial_fee_settlement', 'government_refund', 'other_consumer_compensation', 'privacy_settlement', 'regulatory_compensation_program', 'state_ag_refund'], 'type': 'string'}, {'type': 'null'}], 'title': 'Settlement Type', 'default': None, 'description': 'Exact settlement taxonomy filter. Use this instead of keywords for type concepts such as privacy, data breaches, or financial fees.'}}, 'additionalProperties': False}}, 'title': 'search_settlements_batchArguments', 'required': ['queries'], 'properties': {'queries': {'type': 'array', 'items': {'$ref': '#/$defs/SearchQuery'}, 'title': 'Queries', 'maxItems': 50, 'minItems': 1, 'description': 'Independent settlement searches. Each query retains logical-AND keyword semantics; unrelated alternatives belong in separate query objects.'}, 'max_total_results': {'type': 'integer', 'title': 'Max Total Results', 'default': 50, 'maximum': 100, 'minimum': 1, 'description': 'Maximum unique settlement records returned across the whole batch after cross-query deduplication. This caps output, not the number of independent searches performed.'}}}
Output schema
{'type': 'object', 'title': 'search_settlements_batchDictOutput', 'additionalProperties': True}
Added
get_dataset_info
Sept. 17, 2026, 12:49 p.m.
Added
get_settlements
Sept. 17, 2026, 12:49 p.m.
Added
get_settlement
Sept. 17, 2026, 12:49 p.m.
Added
search_settlements_batch
Sept. 17, 2026, 12:49 p.m.
Added
search_settlements
Sept. 17, 2026, 12:49 p.m.