Comprehensive US legal data in your AI workflow. Search Congress bills, Federal Register documents, court opinions, and committees. No API keys required (optional for enhanced access).
An MCP (Model Context Protocol) server that brings authoritative US legal information into AI coding environments like Cursor and Claude Desktop.
- π No API Keys Required β Works out of the box (optional keys for enhanced access)
- π― Jev High-Confidence Filter β Optional TypeSafe Jev scoring drops poor matches
- π Comprehensive Sources β Congress, Federal Register, CourtListener
- β‘ Easy Setup β One-click install in Cursor or simple manual setup
- π Multi-Source Search β Search across all legal sources simultaneously
- π Real-time Data β Recent bills, regulations, and court opinions
Ready to explore US legal data? Install in seconds:
Install in Cursor (Recommended):
π Install in Cursor
Or install manually:
npm install -g us-legal-mcp
# Or from source:
git clone https://github.com/JamesANZ/legal-mcp.git
cd legal-mcp && npm install && npm run buildsearch-congress-billsβ Search bills and resolutionsget-recent-billsβ Get recently introduced legislationget-congress-committeesβ List Congressional committees
search-federal-registerβ Search regulations and executive ordersget-recent-regulationsβ Get recently published documents
search-court-opinionsβ Search court opinions (federal and state)get-recent-court-opinionsβ Get recent court decisions
When TYPESAFE_API_KEY (or JEV_API_KEY) is set in the MCP server env, query-based search tools send each hit to Jev (TypeSafe System One) and only return high-confidence matches. Poor or low-confidence results are dropped. Without a key the server keeps its existing keyword scoring.
Filtered tools: search_congress_bills, search_federal_register, search_all_legal, search_court_opinions, search_regulator_news, search_digital_asset_regulation. Lookup tools (get_bill_details, recent lists, curated acts) are unchanged.
search-all-legalβ Comprehensive search across all sourcessearch_digital_asset_regulationβ Aggregate search (Congress + Federal Register + all regulator feeds) scoped to crypto/stablecoin topics
get_genius_act_infoβ Curated reference for the GENIUS Act (S.1582, 119th Cong., Pub. L. 119-27) β US payment stablecoin frameworkget_clarity_act_infoβ Curated reference for the Digital Asset Market CLARITY Act (H.R.3633, 119th Cong.) β SEC/CFTC digital-asset jurisdictionget_curated_actβ Fetch any curated act by slug (genius-act,clarity-act)get_bill_detailsβ Live Congress.gov metadata for any bill (bybillIdlikes1582-119orhr3633-119)get_bill_actionsβ Full chronological action history for a billget_bill_textβ All text versions (Introduced, Engrossed, Enrolledβ¦) with PDF/HTML/XML linksget_public_law_textβ GovInfo public law package + truncated full text (e.g.,119-27for GENIUS Act)
get_recent_regulator_newsβ Recent press releases from OCC, SEC, CFTC, Federal Reserve, Treasury, or FinCENsearch_regulator_newsβ Keyword search across any/all regulator press-release feeds
Click the install link above or use:
cursor://anysphere.cursor-deeplink/mcp/install?name=legal-mcp&config=eyJsZWdhbC1tY3AiOnsiY29tbWFuZCI6Im5weCIsImFyZ3MiOlsiLXkiLCJ1cy1sZWdhbC1tY3AiXX19
Requirements: Node.js 18+ and npm
# Clone and build
git clone https://github.com/JamesANZ/legal-mcp.git
cd legal-mcp
npm install
npm run build
# Run server
npm startAdd to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"us-legal-mcp": {
"command": "node",
"args": ["/absolute/path/to/legal-mcp/dist/index.js"],
"env": {
"CONGRESS_API_KEY": "",
"COURT_LISTENER_API_KEY": "",
"GOVINFO_API_KEY": "",
"TYPESAFE_API_KEY": ""
}
}
}
}Restart Claude Desktop after configuration.
In Cursor, the same optional TYPESAFE_API_KEY (or JEV_API_KEY) can be added under Settings β MCP β us-legal-mcp β env. Leave it blank to keep keyword-only ranking.
Find bills related to a specific topic:
{
"tool": "search-congress-bills",
"arguments": {
"query": "immigration",
"congress": 118,
"limit": 10
}
}Find regulations on a topic:
{
"tool": "search-federal-register",
"arguments": {
"query": "environmental protection",
"limit": 5
}
}Search across all sources simultaneously:
{
"tool": "search-all-legal",
"arguments": {
"query": "healthcare",
"limit": 20
}
}Find court decisions:
{
"tool": "search-court-opinions",
"arguments": {
"query": "immigration asylum",
"court": "scotus",
"limit": 10
}
}| Source | Description | API | Auth Required |
|---|---|---|---|
| Congress.gov | Bills, resolutions, committees, bill actions, bill text versions | https://api.congress.gov/v3 | Optional |
| Federal Register | Regulations, executive orders | https://www.federalregister.gov/api/v1 | No |
| CourtListener | Court opinions, decisions | https://www.courtlistener.com/api/ | Optional |
| GovInfo | Public laws, enrolled bill PDFs, XML | https://api.govinfo.gov | Optional (api.data.gov key) |
| OCC | Office of the Comptroller of the Currency news releases | https://www.occ.gov/rss/occ_news.xml | No |
| SEC | Securities and Exchange Commission press releases | https://www.sec.gov/news/pressreleases.rss | No |
| CFTC | Commodity Futures Trading Commission (general, enforcement, speeches) | https://www.cftc.gov/RSS/ | No |
| Federal Reserve | Federal Reserve Board press releases | https://www.federalreserve.gov/feeds/press_all.xml | No |
| Treasury | US Treasury press releases (HTML listing) | https://home.treasury.gov/news/press-releases | No |
| FinCEN | Financial Crimes Enforcement Network press releases (HTML listing) | https://www.fincen.gov/news/press-releases | No |
- Visit https://api.congress.gov/
- Sign up for a free account
- Get your API key
- Set
CONGRESS_API_KEYenvironment variable
- Visit https://www.courtlistener.com/api/
- Create a free account
- Get your API key from your profile
- Set
COURT_LISTENER_API_KEYenvironment variable
- Visit https://api.data.gov/signup/ to request a free key
- Set
GOVINFO_API_KEYenvironment variable. Without it the server falls back toDEMO_KEY(rate-limited).
Used to check whether each search hit actually matches the user's request. The server runs without this key. Add it in your MCP config env if you want high-confidence filtering.
- Create a key in the TypeSafe console (or use a compatible gateway)
- Set
TYPESAFE_API_KEYin the MCP server env (alias:JEV_API_KEY) - Optional overrides:
JEV_MIN_RELEVANCEβ keep threshold,0β1(default0.85)JEV_MODELβ defaultjev-latestTYPESAFE_BASE_URLβ defaulthttps://api.typesafe.ai
When the filter is on, search results include a Jev score (e.g. Jev 0.94) and a short note of how many poor matches were dropped. If Jev is unreachable, the server falls back to keyword scoring so tools still return data.
- Legal Researchers β Quick access to bills, regulations, and court opinions
- Policy Analysts β Track legislation and regulatory changes
- Lawyers β Reference tool for case law and regulations
- Developers β Build apps with authoritative legal data
Built with: Node.js, TypeScript, MCP SDK
Dependencies: @modelcontextprotocol/sdk, axios, fast-xml-parser, zod
Optional: Jev via TYPESAFE_API_KEY for high-confidence search filtering
Platforms: macOS, Windows, Linux
β If this project helps you, please star it on GitHub! β
Contributions welcome! Please open an issue or submit a pull request.
MIT License β see LICENSE file for details.
If you find this project useful, consider supporting it:
β‘ Lightning Network
lnbc1pjhhsqepp5mjgwnvg0z53shm22hfe9us289lnaqkwv8rn2s0rtekg5vvj56xnqdqqcqzzsxqyz5vqsp5gu6vh9hyp94c7t3tkpqrp2r059t4vrw7ps78a4n0a2u52678c7yq9qyyssq7zcferywka50wcy75skjfrdrk930cuyx24rg55cwfuzxs49rc9c53mpz6zug5y2544pt8y9jflnq0ltlha26ed846jh0y7n4gm8jd3qqaautqa
βΏ Bitcoin: bc1ptzvr93pn959xq4et6sqzpfnkk2args22ewv5u2th4ps7hshfaqrshe0xtp
Ξ Ethereum/EVM: 0x42ea529282DDE0AA87B42d9E83316eb23FE62c3f