{
  "name": "EPO Patent Data MCP Server",
  "version": "2.0.0",
  "description": "MCP server providing access to EPO patent data, case law, and related resources",
  "tools": [
    {
      "name": "search_boa_decisions",
      "description": "Search EPO Boards of Appeal decisions using semantic search.\n\nUse this to find legal precedents, case law interpretations, and decisions on:\n- Patentability (novelty, inventive step, industrial applicability)\n- Patent claim interpretation\n- Procedural matters\n- Opposition and appeal proceedings\n\nReturns case number, date, ECLI, headnote/summary, and relevant excerpts."
    },
    {
      "name": "get_boa_decision",
      "description": "Get a specific BoA decision by its case number (e.g., \"T 0641/00\", \"G 0001/19\").\nReturns the full decision details including headnote, reasons, and order."
    },
    {
      "name": "search_upc_decisions",
      "description": "Search Unified Patent Court (UPC) decisions using semantic search.\n\nUse this to find UPC case law on:\n- Patent infringement across EU member states\n- Validity challenges and revocation actions\n- Preliminary injunctions and provisional measures\n- Jurisdiction and procedural matters under UPC Agreement\n- FRAND/SEP licensing disputes"
    },
    {
      "name": "get_upc_decision",
      "description": "Get a specific UPC decision by its case number (e.g., \"UPC_CFI_1/2023\", \"ACT_528738/2023\").\nReturns full decision details including parties, patents, and decision text."
    },
    {
      "name": "search_bgh_decisions",
      "description": "Search German Federal Court of Justice (Bundesgerichtshof - BGH) patent decisions using semantic search.\n\nUse this to find BGH patent case law on:\n- Patent infringement under German law\n- Validity and nullity proceedings\n- Claim construction and equivalents\n- Damages and injunctions\n- Procedural matters in German patent litigation"
    },
    {
      "name": "get_bgh_decision",
      "description": "Get a specific BGH decision by its case number (Aktenzeichen, e.g., \"X ZR 123/21\").\nReturns full decision details including the complete decision text."
    },
    {
      "name": "search_epc_articles",
      "description": "Search EPC Articles and Rules from the official EPO website (2024 edition)."
    },
    {
      "name": "search_epo_guidelines",
      "description": "Search EPO Guidelines for Examination (2025 edition)."
    },
    {
      "name": "search_pct_guide",
      "description": "Search PCT Applicant's Guide from WIPO."
    },
    {
      "name": "search_epc_law",
      "description": "Search European Patent Convention (EPC) legal texts, EPO Guidelines, National Law, and Applicant Guide.\n\nUse this to find:\n- EPC Articles and Rules\n- EPO examination guidelines and procedures\n- National law provisions relating to EPC\n- Legal requirements for patentability, filing, validation\n- Practical guidance for patent applicants\n\nReturns results with exact page numbers for citation."
    },
    {
      "name": "search_patents",
      "description": "Search worldwide patent bibliographic data (DOCDB).\n\nUse this to find patents by:\n- Technical subject matter\n- Invention descriptions\n- Patent titles and abstracts\n- Applicant/inventor names\n\nReturns publication numbers, titles, abstracts, and classification codes."
    },
    {
      "name": "search_legal_status",
      "description": "Search patent legal status and family data (INPADOC).\n\nUse this to find:\n- Patent legal events (grants, lapses, oppositions)\n- Patent family relationships\n- Designated states\n- Fee payments and renewals"
    },
    {
      "name": "get_patent_family",
      "description": "Get patent family information for a specific patent number.\nReturns all related applications and publications across different countries."
    },
    {
      "name": "ops_get_patent",
      "description": "Get full bibliographic details for a patent from EPO OPS. Returns title, abstract, inventors, applicants, IPC/CPC classes, and dates."
    },
    {
      "name": "ops_get_family",
      "description": "Get INPADOC patent family members for a patent. Returns all related patents across different jurisdictions."
    },
    {
      "name": "ops_get_legal_status",
      "description": "Get legal status events for a patent. Returns a timeline of legal events like grants, lapses, oppositions."
    },
    {
      "name": "ops_get_claims",
      "description": "Get the claims text of a patent from EPO OPS.\nReturns the list of claims that define the scope of protection.\n\nRequires a standard patent publication number (e.g., 'EP1234567', 'US10000000', 'WO2020123456').\nDo NOT pass Google Scholar IDs or other numeric identifiers."
    },
    {
      "name": "ops_search",
      "description": "Search patents using EPO OPS CQL query syntax. Supports field searches like: ti=(solar cell), pa=(Siemens), ic=(H01L), pd>=2020."
    },
    {
      "name": "ops_get_images",
      "description": "Get patent drawing/image information. Returns page count and URLs for patent drawings."
    },
    {
      "name": "ops_get_image_data",
      "description": "Fetch actual patent images (first page + drawings) from EPO OPS.\nReturns the actual image data as base64-encoded content that can be displayed.\n- First page: PNG format (cover/abstract page)\n- Drawings: PDF format (technical drawings)\n\nUse this when you want to SHOW the patent images to the user."
    },
    {
      "name": "search_google_patents",
      "description": "Search worldwide patents via Google Patents.\n\nUse this for:\n- Prior art searches across all patent offices worldwide\n- Finding patents by technical keywords, concepts, or descriptions\n- Searching by inventor or assignee/company name\n- Filtering by country, date range, or patent status\n\nEach result includes a 'patent_id' field (e.g., 'patent/US10000000B2/en').\nUse get_google_patent_details with this exact patent_id to fetch full details."
    },
    {
      "name": "get_google_patent_details",
      "description": "Get detailed information about a specific patent from Google Patents.\n\nReturns comprehensive patent data including:\n- Full abstract and description\n- All claims\n- Patent citations and cited-by references\n- Legal events and status\n- Classification codes (CPC/IPC)\n- Inventors and assignees\n\nIMPORTANT: Use the patent_id exactly as returned by search_google_patents in the 'patent_id' field.\nThe format is typically: 'patent/XX0000000X0/en' (e.g., 'patent/US10000000B2/en')\nDo NOT use just the publication number - include the full path with 'patent/' prefix and language suffix."
    },
    {
      "name": "search_scholar",
      "description": "Search Google Scholar for academic papers, articles, theses, and scholarly literature.\n\nUse this for:\n- Finding academic research on any topic\n- Discovering papers by author name\n- Finding citations and references\n- Research on technical, scientific, or legal topics\n- Locating prior art in academic literature\n\nUse get_scholar_author to explore a specific author's profile.\nUse get_scholar_cite to get citation formats for a specific paper."
    },
    {
      "name": "get_scholar_author",
      "description": "Get a Google Scholar author profile with publications, citations, and h-index.\n\nUse this to:\n- View an author's complete publication list\n- See citation metrics (total citations, h-index, i10-index)\n- Find an author's co-authors\n- Get citation history over time\n\nThe author_id can be found in search_scholar results or from a Google Scholar profile URL."
    },
    {
      "name": "get_scholar_cite",
      "description": "Get citation formats for a scholarly article from Google Scholar.\n\nReturns formatted citations in multiple styles:\n- MLA (Modern Language Association)\n- APA (American Psychological Association)\n- Chicago\n- Harvard\n- Vancouver\n- ISO 690\n\nAlso provides links to export to citation managers (BibTeX, EndNote, RefMan, RefWorks).\n\nThe data_cid can be found in search_scholar results."
    },
    {
      "name": "extract_document_content",
      "description": "Extract text content from a document (PDF, DOCX, DOC, images) using OCR.\n\n**IMPORTANT: When a user shares a URL to a PDF or document, ALWAYS use this tool to read it first before responding.**\n\nSupported formats: PDF (with OCR for scanned pages), DOCX, DOC, TXT, PNG, JPG, JPEG, TIFF, BMP\n\nReturns:\n- TOON-formatted summary optimized for LLM processing (default)\n- Page-by-page summaries showing what each page is about\n- Job ID for fetching specific pages later with get_document_page tool"
    },
    {
      "name": "get_document_page",
      "description": "Fetch a single page from a previously processed document.\n\nUse this tool after extract_document_content when you need the exact text from a specific page.\n\n**Parameters:**\n- job_id: The job_id returned from extract_document_content\n- page: The page number to fetch (e.g., 1, 5, 14)\n\n**Example usage:**\n1. First call extract_document_content with a document URL\n2. Note the job_id from the response\n3. Call get_document_page with that job_id and the page number you need"
    },
    {
      "name": "fetch_webpage",
      "description": "Fetch and extract readable text content from a webpage URL.\n\nUse this tool when:\n- User shares a link to a webpage and wants to know its content\n- You need to read an article, blog post, or documentation page\n- User asks about content on a specific URL\n\nSecurity: Only public https:// URLs are allowed. Private networks are blocked.\n\nFor PDFs or documents, use extract_document_content instead."
    },
    {
      "name": "get_data_statistics",
      "description": "Get statistics about all available EPO data collections.\nShows what data is indexed and available for search."
    },
    {
      "name": "list_available_data",
      "description": "List all downloaded EPO data files available on the server.\nShows what raw data has been downloaded and is ready for indexing or analysis."
    },
    {
      "name": "explain_patent_law",
      "description": "Explain EPO patent law concepts, EPC articles, and procedures. Searches BoA decisions, EPC, and Guidelines to provide comprehensive explanations."
    },
    {
      "name": "find_similar_patents",
      "description": "Find patents similar to a given patent or technical description.\nUseful for prior art searches and competitive analysis."
    },
    {
      "name": "resolve_citation",
      "description": "Resolve any legal or patent citation to structured data and links.\n\nSupports:\n- Patent numbers: EP1234567, US9876543B2, WO2020123456\n- EPO case numbers: T 0123/45, G 1/19, J 5/80\n- UPC case numbers: UPC_CFI_1/2023, ACT_528738/2023\n- BGH case numbers: X ZR 123/21\n- DOIs: 10.1000/xyz123\n- EPC articles: Art. 56 EPC, Rule 42\n- EU regulations: Regulation 1257/2012\n\nReturns structured data with title, type, dates, and direct links to sources."
    },
    {
      "name": "web_search",
      "description": "Search the web using Brave Search API.\n\n**Use this for general web searches when you need:**\n- Current information not in the patent databases\n- Company information, news, or background research\n- Technical documentation or standards\n- Regulatory information from official websites\n- Any general knowledge lookup\n\n**Note:** For patent-specific searches, prefer:\n- `search_patents` or `search_google_patents` for patent documents\n- `search_boa_decisions` for EPO case law\n- `search_scholar` for academic papers\n\nReturns title, URL, and snippet for each result."
    }
  ],
  "toolCount": 34,
  "capabilities": {
    "streaming": true,
    "authentication": "none"
  },
  "endpoints": {
    "mcp": "/mcp",
    "health": "/health",
    "info": "/",
    "citationApi": "/api/citations/*"
  }
}