Bounded public research
Caller quotas and a separate network backstop
Anonymous callers use the IP fallback: 20 tool requests per hour, 100 per day, and 50 newly accessed judge/court identities per day. OpenAI requests with _meta["openai/subject"] use 60 per hour, 300 per day, and 100 new identities per day. Changing conversation sessions does not reset that subject quota.
Recognized Claude requests use session context when available (60 per hour, 300 per day, 100 new identities per day), without assuming a durable user identity. Without a session, aggregate network controls apply. Recognized-provider network ceilings are 1,000 requests per hour, 10,000 per day, and 1,000 new identities per day; ordinary networks have 200 per hour, 1,000 per day, and 100 new identities per day. These are backstops, not individual entitlements.
Need a dataset or recurring feed? Contact us about bulk data access.
Connect
For AI clients with remote MCP support
- Open the client's connectors, integrations, or MCP settings.
- Add a custom remote MCP server at
https://mcp.knowjudges.com/mcp. - Choose Streamable HTTP if asked. No authorization header is required.
- Discover and enable the tools. If the catalog is stale, refresh it in the client.
{
"mcpServers": {
"know-your-judge": {
"url": "https://mcp.knowjudges.com/mcp"
}
}
}
Configuration names vary. Use the URL alone if that is what your client accepts. Live tools/list is authoritative; client catalogs and third-party listings may lag a release.
Available tools
Choose the tool for the question
find_judgesResolve a named judge and select the returned profile_url. Named matches may have historical or uncertain service. Required: query (at least 2 characters). Optional: state, court, county, limit (default 5; 1–10).get_judge_profileRetrieve identity, assignments, public profile information, sources, and scoped findings. Required: judge_url from find_judges. Use the biography or practice tool for focused questions; missing fields are unavailable information.get_judge_biographyRetrieve sourced birth details, education, professional career, and judicial service. Required: judge_url. Preserve date precision and sources; age is null unless a valid full birth date is known.get_courtroom_presentation_rulesAnswer a named judge’s practice question with relevant findings and underlying sources, without an unrelated court/roster lookup. Required: judge_url. Optional: topics (up to 10 strings). Broader rules are not personal preferences; conditional guidance remains conditional.find_ai_abuse_casesSearch reported legal-AI error cases by case name, error type, or recorded outcome. Sanctions and no sanctions are distinct. Provide meaningful query text or narrowing filters. Optional: query, state, court, judge, response, from_date, to_date, limit (default 5; 1–10). Dates are inclusive YYYY-MM-DD.get_recent_rule_changesRetrieve recorded profile/rule updates since an inclusive date; court filtering includes associated indexed judge profiles. Required: since (YYYY-MM-DD). Optional: judge_url, court_url, limit (default 10; 1–25). Empty results do not prove no earlier real-world changes.find_courtResolve court identity for court information or roster questions and select the returned court_url. Required: query (at least 2 characters). Optional: jurisdiction (2-letter code, e.g. GA, DC, US), state, limit (default 5; 1–10).get_courtRetrieve one court’s public identity, available metadata, and bounded indexed current-status roster. Required: court_url from find_court. Optional: limit (default 10; 1–10). Preserve roster_coverage, roster_truncated, and location-specific contact notes.get_immigration_analyticsRetrieve recorded outcomes for one immigration judge or court with source, denominator, and period coverage. Required: entity (judge or court), profile_url (canonical public judge or court URL). Optional: metric (asylum_denial_rate by default; proceeding_removal_rate only when requested), year (1950–2100), year_basis (calendar by default, or fiscal), nationality (2–100 characters), state (2-letter code).compare_immigration_analyticsCompare highest/lowest recorded judge or court rates jointly filtered by geography, nationality, and period. Required: entity (judge or court). Optional: metric, year, year_basis, nationality, state as above; order (ascending by default, or descending), minimum_decisions (default 1; 1–100000), limit (default 3; 1–10).
For judge search, state accepts a name or postal code. Court search also accepts a two-letter jurisdiction code. Dates use YYYY-MM-DD; immigration state filters require a two-letter code.
Judge workflow
Chain the returned public URL
find_judges({"query":"Amy Totenberg","state":"GA","limit":3})
→ select the matching results[i].profile_url
→ get_judge_profile({"judge_url": selectedProfileUrl})
OR get_judge_biography({"judge_url": selectedProfileUrl})
OR get_courtroom_presentation_rules({"judge_url": selectedProfileUrl})
Use the returned profile_url as judge_url. Pick the follow-up that answers the question; all three calls are not required. Do not construct URLs from names or use internal IDs, keys, or bare slugs. A practice question does not require a court roster lookup.
Court workflow
Preserve court identity and roster coverage
find_court({"query":"U.S. District Court for the Northern District of Georgia","state":"GA"})
→ select the matching results[i].court_url
→ get_court({"court_url": selectedCourtUrl,"limit":5})
→ get_recent_rule_changes({"since":"2026-10-01","court_url": selectedCourtUrl})
Pass the exact returned court_url, including its jurisdiction. Court counts cover indexed active, senior, recalled, or visiting profiles, not an independently verified complete bench. Keep roster_coverage and roster_truncated. Empty means no indexed current matches; a null count means unavailable roster data. Neither establishes that a court has no judges. Preserve location-specific contact notes.
Judge-specific change lookups use judge_url instead. Tracking starts at change_tracking_started_at; an empty change result is not proof no real-world rule changed.
Legal-AI cases
Keep the recorded outcome and link status
find_ai_abuse_cases({
"query": "AI hallucinations fabricated legal citations",
"response": "Monetary Sanctions",
"limit": 5
})
Preserve decision_link_status, dataset_source, and summary_note. Decision links may be verified destinations or labeled source fallbacks; a fallback is not a verified official court decision. Dataset inclusion alone does not establish a judicial finding of AI use. total_matches is not the number of supplied records; unavailable ruling counts are not zero.
Immigration outcomes
Show decision counts alongside rates
compare_immigration_analytics({
"entity": "judge", "nationality": "Brazil",
"state": "CA", "year": 2025,
"order": "ascending", "limit": 3
})
→ lowest recorded asylum denial rates
→ repeat with order: "descending" for highest rates
→ get_immigration_analytics({
"entity": "judge", "profile_url": returnedProfileUrl,
"nationality": "Brazil", "state": "CA", "year": 2025
})
Examples illustrate inputs, not guaranteed coverage for a nationality or year. Use an available, non-null returned public URL as profile_url. Calendar/fiscal years refer to proceeding completion. Asylum percentages use grants plus denials; procedural outcomes are separate. Samples below 35 decisions are labeled, not hidden; zero decisions mean no rate, not 0%.
Keep availability, message, denominator/geography definitions, source, coverage, and limitations. Historical rates do not predict an individual outcome or imply that a person can choose a judge.
Limits and request accounting
Focused queries rather than enumeration
Searches, court rosters, and immigration comparisons return at most 10 records; recent changes return at most 25. Practice filters accept up to 10 topics. No pagination, cursor, offset, batch enumeration, or bulk export is available. Empty, wildcard, one-character, jurisdiction-only judge/court searches, and all-judge/all-court requests are rejected. Provide identifying name/location text plus narrowing filters.
Sequential prefix/identifier harvesting is throttled. Revisiting an already counted judge/court does not consume another daily unique identity unit. Initialization, discovery, and control requests count toward the network backstop, not the normal tool quota. REST shares enforcement and uses anonymous fallback without MCP caller context. Limits can return HTTP 429 or a bounded MCP tool failure. Respect retry information; do not rotate identities to bypass controls.
Sources and verification
Keep evidence and uncertainty attached
Retain public KnowJudges URLs, source/official URLs, source titles, excerpts, scope/applicability, effective/revision dates, and last checked dates where returned. Judge-specific, courtwide, statewide, and nationally applicable federal/EOIR rules have different scopes. Broader rules are not personal preferences; conditional guidance remains conditional. Missing findings establish neither permission nor prohibition.
last_updated describes publication; last_verified or source_checked_at describes an evidence check. A publication update does not mean every source was checked that day. Preserve supported year-only dates and factual uncertainty. An assignment end date alone does not establish retirement or a senior-status transition. Missing data and tool failures are different states. Check the source and case-specific orders before relying on a requirement.
Updated on November 1, 2026.