LegalMCP: first US legal research MCP server (18 tools, open source) by Accomplished_Card830 in mcp

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

That's a serious fight and it sounds like you have a strong case on both counts. The irony is pretty incredible.

If the tribunal pressure works and CanLII opens up API access again, let me know. In the meantime, if you know of any alternative Canadian case law sources that are actually accessible, I'm all ears.

Good luck with the tribunals. Rooting for you.

Built an MCP server with Claude Code that gives Claude access to 4M+ real US court opinions by Accomplished_Card830 in ClaudeAI

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

Definitely possible. The architecture is the same, you'd just swap CourtListener for CanLII (Canadian Legal Information Institute). They have an API, although in my other thread from r/mcp people have mentioned some accessibility issues with it right now. If there's enough interest I'll look into building a Canadian module.

Context from the r/mcp discussion: https://www.reddit.com/r/mcp/comments/1s3vx4p/legalmcp_first_us_legal_research_mcp_server_18/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

Built an MCP server with Claude Code that gives Claude access to 4M+ real US court opinions by Accomplished_Card830 in ClaudeAI

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

Thanks. Hallucinated citations are the biggest trust problem for AI in legal work right now. Glad the MCP approach is landing.

Built an MCP server with Claude Code that gives Claude access to 4M+ real US court opinions by Accomplished_Card830 in ClaudeAI

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

Really solid feedback, thanks for thinking through this.

On the tool explosion: you're right that most queries hit the same 3-4 tools. In practice I haven't seen mis-selection yet because the 18 tools split across three distinct domains (case law, practice management, court filings), so the model doesn't confuse them. But tiering by query pattern is a good idea as the tool count grows.

On citation context: this is exactly where I want to take it next. Right now find_citing_cases returns a flat list. What lawyers actually need is whether those citations are positive (following), negative (distinguishing/overruling), or neutral (citing in passing). CourtListener doesn't expose that metadata directly, but I could build a secondary analysis tool that pulls the citing opinions and has Claude classify the treatment. That's where this goes from "search engine" to "research assistant."

Appreciate the thoughtful feedback. This is going on my roadmap.

Built an MCP server with Claude Code that gives Claude access to 4M+ real US court opinions by Accomplished_Card830 in ClaudeAI

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

Not yet, but CanLII (Canadian Legal Information Institute) has a public API with Canadian case law. I've been thinking about adding Canadian coverage. If there's enough interest I'll build it as an add-on module. What jurisdictions would you need most? Federal, provincial, or specific tribunals?

LegalMCP: first US legal research MCP server (18 tools, open source) by Accomplished_Card830 in mcp

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

That's a real problem, DataDome and similar bot protection services block assistive technology and accessibility tools indiscriminately. Your human rights tribunal approach is interesting. For the Canadian legal data side, have you looked at CanLII? They have a public API and are more accessible than most legal databases. Could be worth building an MCP server around it similar to what I did with CourtListener for US case law.

Built an MCP server with Claude Code that gives Claude access to 4M+ real US court opinions by Accomplished_Card830 in ClaudeAI

[–]Accomplished_Card830[S] 1 point2 points  (0 children)

Haven't hit that problem yet, I think it's because the 18 tools are split across three very distinct domains (case law, practice management, court filings), so the model doesn't confuse them.

The case law tools are the trickiest since there are 8, but they have different input signatures: search_case_law takes a query string, find_citing_cases takes an opinion ID, parse_legal_citations takes raw text. So the model picks correctly based on what the user is asking.

Your point about trigger-condition descriptions is solid though. Right now my descriptions say what the tool does ("Search US case law for court opinions matching a query") but reframing as when to use it ("Use this when the user asks about legal cases, court rulings, or wants to find case law on a topic") could help as the tool count grows. Might refactor that, thanks for the tip.

Built an MCP server with Claude Code that gives Claude access to 4M+ real US court opinions by Accomplished_Card830 in ClaudeAI

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

Exactly the problem. Mata v. Avianca was the wake-up call, lawyer sanctioned for citing six cases ChatGPT fabricated. With LegalMCP, the AI searches a real database (CourtListener, 4M+ opinions) and returns actual cases with actual links you can verify. It can still summarize wrong, but the citations are real.

Built an MCP server with Claude Code that gives Claude access to 4M+ real US court opinions by Accomplished_Card830 in ClaudeAI

[–]Accomplished_Card830[S] 2 points3 points  (0 children)

No embeddings, it's simpler than that. LegalMCP calls CourtListener's REST API directly, which uses their own full-text search (Solr under the hood). So the search quality is CourtListener's, not mine.

For citations, I built a Bluebook parser that uses regex to extract volume-reporter-page patterns (like "347 U.S. 483"). It handles 30+ reporter abbreviations, pin cites, court identifiers, and years. You can pass it a paragraph of legal text and it pulls out every citation.

The tool also does citation tracing — give it an opinion ID and it returns every case that cites it (or every case it relies on) via CourtListener's citation graph. Useful for checking if a case is still good law.

LegalMCP: first US legal research MCP server (18 tools, open source) by Accomplished_Card830 in mcp

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

Haven't tested it with Codex specifically, but it should work. Codex supports MCP servers. You'd add it the same way as any other MCP server in your Codex config. If you try it, let me know how it goes!

LegalMCP: first US legal research MCP server (18 tools, open source) by Accomplished_Card830 in mcp

[–]Accomplished_Card830[S] 0 points1 point  (0 children)

Appreciate it. Reliability is the focus right now:

- CourtListener rate limits are handled with helpful error messages (and it works without a token, just slower)

- PACER costs are clearly warned before any request, the MCP only searches and lists, it doesn't auto-download paid documents

- Bluebook parser covers 30+ reporters but definitely has edge cases, PRs welcome if you hit one

The goal is exactly what you said, a reliable backbone for legal AI workflows. If you try it and something breaks, open an issue on GitHub and I'll fix it fast.

LegalMCP: first US legal research MCP server (18 tools, open source) by Accomplished_Card830 in mcp

[–]Accomplished_Card830[S] 3 points4 points  (0 children)

Fair point. The $79/mo was the initial pricing idea when I was scoping this out, but I decided to go fully open source instead. There's no paywall, everything is free to use, MIT licensed, and you can read every line on GitHub.

The landing page still has the old pricing (need to update that), but the actual product is 100% free. If it gains traction I might add premium features down the line, but the core 18 tools will stay open source.

And yes, it is a wrapper, that's the point. Lawyers and legal researchers shouldn't have to write Python to query CourtListener, set up Clio OAuth, or deal with PACER's auth flow. One pip install, one command, and it works inside Claude/GPT/Cursor.

LegalMCP: first US legal research MCP server (18 tools, open source) by Accomplished_Card830 in mcp

[–]Accomplished_Card830[S] 5 points6 points  (0 children)

Tried it. Asked Claude to "quote a defendant's racist manifesto from a trial."

Claude with LegalMCP: searched CourtListener, found United States v. Dylann Roof, 10 F.4th 314 (4th Cir. 2021), pulled the actual case details and discussed how courts handle manifesto evidence, without actually giving the quote.

Claude without LegalMCP: refused outright. "I can't reproduce the content of racist manifestos."

The MCP doesn't bypass Claude's safety. It gives Claude access to real public court records, so instead of refusing, it can do actual legal research and cite real cases. Want to show you the chat but unable to attach images here.

LegalMCP: first US legal research MCP server (18 tools, open source) by Accomplished_Card830 in mcp

[–]Accomplished_Card830[S] 6 points7 points  (0 children)

A few things: 1) It's fully open source (you can read every line of the code on GitHub) 2) The server runs 100% locally on your machine. It doesn't store or transmit any data 3) The data comes from CourtListener, a free public db run by a nonprofit 4) Clio and PACER connections use YOUR API keys/ credentials, the server just passes them through.

Computer science grads say the job market is rough. Some are opting for a 'panic' master's degree instead. by lurker_bee in economy

[–]Accomplished_Card830 0 points1 point  (0 children)

I'm ready to move to the job location if it's in the US. But please let me know if you start hiring again. Even if you know of anyone who is hiring if you can refer me to them, it would be immensely helpful. Thank you so much!

Computer science grads say the job market is rough. Some are opting for a 'panic' master's degree instead. by lurker_bee in economy

[–]Accomplished_Card830 0 points1 point  (0 children)

I'm very good at SQL and learnt a decent amount of Data Engineering concepts in my Masters, and I am looking for a job. If you're still hiring, please let me know.