MCP App Store
Productivity
Midpage Legal Research icon

Midpage Legal Research

by Midpage

Overview

Connect Claude to a database of case law. With the Midpage MCP, Claude can conduct complex legal research, review opinions, and craft high quality work product. Everything is hyperlinked to real sources for easy verification.

Tools

analyzeDocketFiling

ChatGPT
Analyze one docket filing selected from analyzeDocketReport and answer a focused question using passages from that filing. Use this when the user needs to understand what a specific filing says. This tool answers from the filing text, not from the docket entry description. INPUT: - caseId: The caseId returned by analyzeDocketReport case.caseId. - entryNumber: The docket entry number returned by analyzeDocketReport relevantEntries[].entryNumber. - attachmentNumber: Optional attachment number returned by analyzeDocketReport relevantEntries[].attachmentNumber. Omit for the main filing on the docket entry. - question: The question to answer about this specific filing. RETURNS: - status: "ok" or a specific resolution/analysis error. - filing: Resolved filing metadata, including entryNumber, optional attachmentNumber, dateFiled, suggestedFileName, and a downloadable Midpage file URL for the filing. - answer: Direct answer based only on the filing text. - supportingPassages: Passages from the filing that support the answer, with passage and relevance. - doesNotAddress: Specific parts of the question that the filing text does not answer. Check this before relying on the answer. CITATION RULES: - When using filing content in an answer, cite the filing with the format below. - Every citation must be a markdown hyperlink to filing.url. - The ECF No. suffix is important and should be included in filing citations. - Use a descriptive filing name, then any real page/pin/paragraph if available, followed by this suffix: ECF No. {filing.entryNumber} ({filing.dateFiled formatted as "Mar. 3, 2020"}). - Example: [Pl.'s Mot. for Summ. J. 5, ECF No. 30 (Mar. 3, 2020)]({filing.url}) - If filing.dateFiled is unavailable, omit the parenthetical date rather than inventing one. - Never use short cites such as "id." or "supra"; repeat the full linked filing citation. DOWNLOAD GUIDELINES: - If the user asks to download or save the filing, use filing.suggestedFileName as the filename.

analyzeDocketReport

ChatGPT
Analyze a federal docket report and answer a docket-level question. Use this for case snapshots, recent activity, procedural posture, service, complaint history, motion history, deadlines, and identifying relevant filings. This tool answers from the docket sheet only; use analyzeDocketFiling when the text of a specific filing is needed. INPUT: - court: Federal court. Prefer Bluebook-style abbreviations such as "N.D. Cal.", "S.D.N.Y.", "D. Del.", "Bankr. D. Del.", "9th Cir.", or "Fed. Cir."; full federal court names are also accepted. - docketNumber: Federal case docket number. Prefer full district/bankruptcy numbers with office or division prefix when known, such as "4:24-cv-04722"; appellate numbers look like "24-1234". - caseName: Optional case caption/name, such as "Musk v. Altman". Include it when available, especially if the docket number is incomplete. - forceFetch: Optional. Set true only when the user explicitly needs the latest official PACER docket instead of available cached or RECAP data. - question: The docket-level question to answer. RETURNS: - status: "ok" or a specific resolution/analysis error. - case: Resolved case metadata, including caseId for analyzeDocketFiling. - docketReport: Docket report metadata, including suggested filename and a downloadable Midpage file URL when one is available. - answer: Direct answer based only on the docket sheet. - relevantEntries: Docket entries or attachments supporting or relevant to the answer. Use case.caseId plus relevantEntries[].entryNumber and optional relevantEntries[].attachmentNumber with analyzeDocketFiling when the filing text is needed. - doesNotAddress: Specific parts of the question that the docket entries do not answer. Check this before relying on the answer. - warnings: Important source or parsing limitations, when present. DOWNLOAD GUIDELINES: - If the user asks to download or save the docket report, use docketReport.suggestedFileName as the filename.

analyzeOpinion

ChatGPT
Reviews and annotates a legal opinion, returns key takeaways, holdings, details, excerpts, and tells you how you can use this case in your response. REQUIRED before citing a case. This tool returns what the case ACTUALLY supports (not necessarily what you asked about). Use this to: 1. Find out what propositions this case actually supports 2. Extract verified quotes 3. Understand the scope/limitations of each proposition 4. Know what the case does NOT address (to avoid misattribution) DOCUMENT IDENTIFICATION (provide exactly ONE — omit the others): - opinionId: Midpage document ID from search results (e.g., "7228818", "c4efd75e-22e7-471f-8bda-95e10a13e588"). OMIT this field if you don't have a Midpage ID. - reporterCitation: Bluebook citation (e.g., "556 U.S. 662", "123 F.3d 456") — NOT WL/LEXIS - docket: For cases without reporter citations: - courtAbbreviation: e.g., "S.D.N.Y.", "9th Cir." - docketNumber: e.g., "12-cv-20100" (omit "No." prefix) HOW TO CHOOSE: 1. If you have an opinionId from search results, use ONLY opinionId (fastest) 2. If you have a reporter citation like "556 U.S. 662", use ONLY reporterCitation (omit opinionId) 3. If you only have a docket number (e.g., "No. 20-16900 (9th Cir.)"), use ONLY docket tuple 4. NEVER use WL or LEXIS citations — use docket tuple instead 5. NEVER pass "0" or placeholder values — omit fields you don't have INPUT: - question: The legal question you want answered. Be specific about the legal element. RETURNS: - supportedPropositions: Array of propositions this case supports, each with: - proposition: Cite-ready statement of what the case holds (USE THIS TEXT when citing) - quote: Verbatim quote supporting the proposition - scope: Limitations, conditions, what it does NOT apply to - centrality: "core_holding" (strongest), "supporting_analysis" (strong), "secondary_matter" (medium), or "background" (weakest) - doesNotAddress: Topics from your question the case does NOT address. CHECK THIS BEFORE CITING. - summary: Brief summary of what the case is actually about - jurisdiction: Court and jurisdiction - treatment: Citator status and citation count HOW TO USE THE OUTPUT: 1. Check doesNotAddress first - if your intended use is listed, DO NOT cite this case for that purpose 2. Find a supported proposition that matches your intended use 3. Use the proposition text (or close paraphrase) when citing - it's verified to match the quote 4. Include scope limitations when relevant (especially qualifiers) 5. Prefer "core_holding" and "supporting_analysis" over "secondary_matter" or "background" for stronger authority EXAMPLE: If you ask "Is expert testimony required to prove truth as a defense to a defamation claim?" and the case mentions that an expert testified in such a case in passing: - supportedPropositions will contain "An expert testified in order to prove truth of the matter asserted" as background - doesNotAddress will contain "Whether expert testimony is REQUIRED" (what you asked about) - You should NOT cite this case to say that such testimony is REQUIRED just because the testimony was provided in this one case. WRITING RULES: 1. FAVOR paragraph-driven writing: Write like an attorney with clear topic sentences, crisp rule statements with hyperlinked citations, and thoughtful analysis. 2. FAVOR direct, concise answers: Keep answers short. Answer the question asked, not an expanded version. 3. FAVOR embedded-quotes in prose: Weave quotes into paragraphs (modify with brackets [] or ellipsis ... while keeping verbatim). 4. LIMIT lists and bullet points: Use sparingly or unless asked. 5. AVOID block quotes: Don't dump quotes in block format. 6. AVOID repetition/summaries. 7. AVOID emojis. CITATION RULES: - ALWAYS include a citation after each quoted passage - ALWAYS mention relevant scope limitations when citing if relevant - OFTEN add parentheticals after citations beginning with "ing" words or quotes. CITATION FORMAT: Every citation must be a markdown hyperlink using the returned fields: [{citation}]({url}) Example: International Shoe Co. v. Washington, 326 U.S. 310 (1945) - Use the exact citation string returned by the tool—never abbreviate or modify - NEVER use short cites (id., supra)—always full citation with link - NEVER use pin cites. You currently cannot verify their accuracy, so it is best to avoid them - NEVER cite to LEXIS or WL citations; always cite to the exact bluebook citation provided (which may be a docket-number citation in liue of a reporter for unpublished cases) - Include a citation after every legal proposition or quote

findInOpinion

ChatGPT
Find quotable passages within a single opinion using keyword search. Fast, free, no AI. WHEN AND HOW TO USE THIS TOOL: - This tool is optional but recommended. - Use this tool after a search, or directly if the user gives you a citation. - Check if a search result is actually relevant (sort of like double clicking into a result) - To decide which cases are worth the AI cost of analyzeOpinion (only the most relevant!) HOW NOT TO USE THIS TOOL: - Do not use this tool alone. If you intend to cite a case, you must use analyzeOpinion. - Do not use this tool unless the user has specifically provided a citation to a case. Default to the search tool. DOCUMENT IDENTIFICATION (provide exactly ONE — omit the others): - opinionId: Midpage document ID from search results (e.g., "7228818", "c4efd75e-22e7-471f-8bda-95e10a13e588"). OMIT this field if you don't have a Midpage ID. - reporterCitation: Bluebook citation (e.g., "556 U.S. 662", "123 F.3d 456") — NOT WL/LEXIS - docket: For cases without reporter citations: - courtAbbreviation: e.g., "S.D.N.Y.", "9th Cir." - docketNumber: e.g., "12-cv-20100" (omit "No." prefix) HOW TO CHOOSE: 1. If you have an opinionId from search results, use ONLY opinionId (fastest) 2. If you have a reporter citation like "556 U.S. 662", use ONLY reporterCitation (omit opinionId) 3. If you only have a docket number (e.g., "No. 20-16900 (9th Cir.)"), use ONLY docket tuple 4. NEVER use WL or LEXIS citations — use docket tuple instead 5. NEVER pass "0" or placeholder values — omit fields you don't have QUERY INPUT: - query: Key terms to match, NOT a full question - GOOD: "personal jurisdiction minimum contacts purposeful availment" - BAD: "Does this case establish personal jurisdiction?" (questions don't work well) RETURNS: - snippets: Verbatim passages from the opinion (can be quoted directly) LIMITATIONS: - Keyword-based only—may miss relevant passages with different wording - Easy to take things out of context because you only see a snippet - Does NOT tell you if the case supports or contradicts your proposition - Does NOT identify qualifiers/exceptions NEXT STEP: Use analyzeOpinion() on promising cases to get analysis, qualifiers, and verified quotes before citing.

analyzeOpinion

Claude

findInOpinion

Claude

App Stats

8

Tools

1

Prompts

Apr 25, 2026

First seen

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily