{"name":"Kosmos MCP Server","version":"1.0.0","description":"Patent data and court decisions via Model Context Protocol","documentation":"https://studio.kosmos.wunderip.cloud/mcp","endpoints":{"mcp":"/","health":"/health"},"tool_count":26,"tools":[{"name":"list_collections","description":"List all available document collections in the Kosmos database.\nShows what data sources are available for searching."},{"name":"get_collection_info","description":"Get detailed information about a specific collection.\nShows schema, statistics, and sample documents."},{"name":"resolve_citation","description":"Parse and resolve any patent or case citation.\nAutomatically identifies the type (patent, UPC case, BoA case, etc.) and retrieves the data.\n\nSupported formats:\n- UPC case numbers: \"ORD_595627/2023\", \"UPC_CFI_1/2023\", \"ACT_459050/2023\"\n- BoA case numbers: \"T 0001/21\", \"T0001/21\", \"G 0001/19\"\n- BGH case numbers: \"X ZR 123/20\"\n- BPatG case numbers: \"4 Ni 1/20\"\n- Patent numbers: \"EP1234567\", \"EP 1234567 A1\", \"WO2023123456\""},{"name":"parse_citation","description":"Parse a citation to identify its type and normalize the format.\nDoes not fetch the actual document - use this to understand what type of citation you have."},{"name":"lookup_source","description":"Resolve a single raw citation string to structured patent/decision data.\n\nThis is the JSON-returning sibling of resolve_citation, designed for the\natlas bescheid-runner: given examiner-cited references like\n\"US 2010/224831 A1\", \"D1 — EP 3 412 900 A1\" or \"Smith (US 2015/0123456 A1)\",\nreturns parsed type, normalized form, and (when found in Kosmos) the full\npatent record. Returns a JSON string in the text content.\n\nUse this BEFORE get_patent / query_patents — it handles the citation\nnormalization that those tools don't."},{"name":"lookup_sources_bulk","description":"Resolve an array of raw citation strings in one round-trip.\n\nSame logic as lookup_source but parallelised server-side, so a bescheid\nwith 5+ cited references resolves in roughly the time of one. Returns a\nJSON array of LookupResult objects."},{"name":"search_npl","description":"Search non-patent literature (journal articles, conference papers,\nbooks) via Google Scholar. Use when lookup_source returned recognized:false\nor the LLM classifier flagged a citation as NPL.\n\nInput is the most distinctive substring of the citation — typically the\ntitle, optionally combined with first author. Returns the top hits with\ntitle, authors, year, journal, DOI, and a snippet so the caller can\npick the best match."},{"name":"query_upc_decisions","description":"Query the local database of Unified Patent Court (UPC) court decisions.\nSupports semantic search, structured filters, and browsing — use any combination.\nContains ONLY court decisions (orders, judgments, procedural documents).\nDoes NOT contain opt-out filings, registry data, or patent applications.\n\nUsage patterns:\n- Semantic search: provide \"query\" for natural language search\n- Patent lookup: provide \"patent_number\" to find decisions involving a specific patent\n- Party lookup: provide \"party\" to find decisions involving a specific company (exact name match)\n- Case reference: provide \"case_reference\" to find all decisions related to a UPC case (e.g., \"UPC_CFI_54/2023\")\n- Browse recent: omit \"query\", set \"order_by\" to \"date_desc\"\n- Legal provision: provide \"legal_ref\" to filter by cited articles (e.g., \"EPC Art. 54\", \"UPCA Art. 32\")\n- Combined: provide \"query\" + any filters for refined semantic search\n\nExamples:\n- { query: \"injunction for patent infringement\" }\n- { patent_number: \"EP1234567\" }\n- { party: \"Nokia Technologies Oy\", decision_type: \"Judgment\" }\n- { case_reference: \"UPC_CFI_54/2023\" }\n- { order_by: \"date_desc\", limit: 10 }\n- { query: \"novelty analysis\", legal_ref: \"EPC Art. 54\" }\n- { query: \"FRAND licensing\", court: \"CFI Munich\" }"},{"name":"get_upc_decision","description":"Retrieve a specific UPC decision by its case number or case reference.\nReturns the complete decision text and all metadata.\nAccepts registry numbers (ORD_/ACT_) and case references (UPC_CFI_/UPC_CoA_).\n\nExample case numbers:\n- \"ORD_595627/2023\"\n- \"UPC_CFI_54/2023\"\n- \"ACT_459050/2023\""},{"name":"query_boa_decisions","description":"Query the local database of EPO Board of Appeal (BoA) decisions.\nSupports semantic search, structured filters, and browsing — use any combination.\nContains technical and legal board rulings on patent applications and oppositions.\nDoes NOT contain EPO register data, patent applications, or external website content.\n\nUsage patterns:\n- Semantic search: provide \"query\" for natural language search\n- Case number lookup: provide \"case_number\" to find a specific decision (e.g., \"T 0001/21\")\n- Board filter: provide \"board_type\" to filter by Technical/Legal/Enlarged Board\n- Legal provision: provide \"legal_ref\" to filter by cited articles (e.g., \"Art. 54 EPC\", \"Art. 56 EPC\")\n- Keyword search: provide \"keyword\" to filter by indexed keywords (e.g., \"novelty\", \"inventive step\")\n- Browse recent: omit \"query\", set \"order_by\" to \"date_desc\"\n- Combined: provide \"query\" + any filters for refined semantic search\n\nExamples:\n- { query: \"novelty destroyed by prior art document\" }\n- { case_number: \"T 0001/21\" }\n- { query: \"inventive step problem-solution approach\", board_type: \"Technical Board\" }\n- { legal_ref: \"Art. 56 EPC\" }\n- { keyword: \"novelty\", language: \"en\", order_by: \"date_desc\" }\n- { order_by: \"date_desc\", limit: 10 }"},{"name":"get_boa_decision","description":"Retrieve a specific EPO Board of Appeal decision by its case number.\nReturns the complete decision text and all metadata.\n\nExample case numbers:\n- \"T 0001/21\"\n- \"T0001/21\"\n- \"G 0001/19\""},{"name":"query_patents","description":"Query the local database of patent bibliographic data (EPO DOCDB).\nSupports full-text search, structured filters, and browsing — use any combination.\nContains patent titles, abstracts, classifications (IPC/CPC), applicants, inventors, citations, and family data.\nDoes NOT contain full claims or description text.\n\nUsage patterns:\n- Full-text search: provide \"query\" for keyword search across titles and abstracts\n- Patent number lookup: provide \"patent_number\" to find a specific patent (e.g., \"EP-1234567-A1\")\n- Applicant search: provide \"applicant\" to find all patents by a company\n- Inventor search: provide \"inventor\" to find patents by inventor name\n- Representative search: provide \"representative\" to find patents represented by a law firm or patent attorney\n- Classification: provide \"ipc_class\" or \"cpc_class\" to filter by patent classification\n- Patent family: provide \"family_id\" to find all members of a patent family\n- Citation search: provide \"cited_patent\" to find patents that cite a specific patent\n- Browse recent: omit \"query\", set \"order_by\" to \"date_desc\"\n- Combined: provide \"query\" + any filters for refined search\n\nExamples:\n- { query: \"machine learning image recognition\" }\n- { patent_number: \"EP-1234567-A1\" }\n- { applicant: \"SIEMENS AKTIENGESELLSCHAFT\" }\n- { representative: \"Grünecker Patent- und Rechtsanwälte\" }\n- { query: \"battery electrolyte\", country: \"EP\", cpc_class: \"H01M\" }\n- { family_id: \"12345678\" }\n- { cited_patent: \"EP1234567\" }\n- { country: \"EP\", order_by: \"date_desc\", limit: 10 }"},{"name":"get_patent","description":"Retrieve full details of a specific patent by its publication number.\nReturns all bibliographic data: title, abstract, classifications, applicants, inventors, citations, priority claims, and family info.\n\nExample patent numbers:\n- \"EP-1234567-A1\"\n- \"US-20210001234-A1\"\n- \"WO-2023001234-A1\""},{"name":"suggest_patents","description":"Typeahead suggester for patent numbers or applicant names.\nReturns up to 10 closest matches ranked by column priority\n(id → doc_number → app_number → applicant). Use for autocompleting a\npatent-number input or resolving a partial reference before calling\n`get_patent`.\n\nAccepts partial publication numbers (\"EP4401\"), full publication numbers\nwith or without kind/separator (\"EP-4401662-A1\", \"EP 4401662\"),\nEP-style application numbers with or without the trailing check digit\n(\"23853730\" or \"23853730.2\"), pure digit runs (\"4401662\"), or\napplicant-name fragments (\"Siemens AG\").\n\nExamples:\n- { query: \"EP4401\" }\n- { query: \"23853730\" }\n- { query: \"Siemens\", limit: 5 }\n- { query: \"US10123\", country: \"US\" }"},{"name":"query_bgh_decisions","description":"Query the local database of Bundesgerichtshof (BGH — German Federal Court of Justice) decisions.\nSupports semantic search, structured filters, and browsing — use any combination.\nContains court decisions from various senates, including IP-relevant X. Zivilsenat (patent) and I. Zivilsenat (trademark/copyright).\nAll decisions are in German.\n\nUsage patterns:\n- Semantic search: provide \"query\" for natural language search (German terms work best)\n- Case lookup: provide \"case_number\" to find a specific case (e.g., \"X ZR 12/21\")\n- Senate filter: provide \"senate\" to filter by senate (e.g., \"X. Zivilsenat\" for patent cases)\n- Browse recent: omit \"query\", set \"order_by\" to \"date_desc\"\n- Legal provision: provide \"legal_ref\" to filter by cited articles (e.g., \"PatG §139\", \"EPC Art. 54\")\n- Combined: provide \"query\" + any filters for refined semantic search\n\nExamples:\n- { query: \"Patentverletzung Unterlassung\" }\n- { case_number: \"X ZR 12/21\" }\n- { senate: \"X. Zivilsenat\", order_by: \"date_desc\", limit: 10 }\n- { query: \"erfinderische Tätigkeit\", legal_ref: \"PatG §4\" }\n- { query: \"Markenverletzung Verwechslungsgefahr\", senate: \"I. Zivilsenat\" }"},{"name":"get_bgh_decision","description":"Retrieve a specific BGH (Bundesgerichtshof) decision by its case number.\nReturns the complete decision text and all metadata.\n\nExample case numbers:\n- \"X ZR 12/21\" (patent case)\n- \"I ZR 153/17\" (trademark case)\n- \"2 StR 350/24\" (criminal case)"},{"name":"query_bpatg_decisions","description":"Query the local database of Bundespatentgericht (BPatG — German Federal Patent Court) decisions.\nSupports semantic search, structured filters, and browsing — use any combination.\nContains court decisions across all IP subject areas: Patent, Trademark (Marke), Utility Model (Gebrauchsmuster), Design, Plant Variety (Sortenschutz).\nAll decisions are in German.\n\nUsage patterns:\n- Semantic search: provide \"query\" for natural language search (German terms work best)\n- Case lookup: provide \"case_number\" to find a specific case\n- Subject area: provide \"subject_area\" (e.g., \"Patent\", \"Marke\", \"Gebrauchsmuster\")\n- Browse recent: omit \"query\", set \"order_by\" to \"date_desc\"\n- Legal provision: provide \"legal_ref\" to filter by cited articles (e.g., \"PatG §4\", \"MarkenG §14\")\n- Leitsatz only: set \"is_leitsatz\" to true for leading decisions only\n- Combined: provide \"query\" + any filters for refined semantic search\n\nExamples:\n- { query: \"Patentfähigkeit erfinderische Tätigkeit\" }\n- { subject_area: \"Patent\", order_by: \"date_desc\", limit: 10 }\n- { query: \"Verwechslungsgefahr\", subject_area: \"Marke\" }\n- { is_leitsatz: true, subject_area: \"Patent\", order_by: \"date_desc\" }\n- { patent_number: \"EP1234567\" }\n- { query: \"Neuheit Stand der Technik\", legal_ref: \"PatG §3\" }"},{"name":"get_bpatg_decision","description":"Retrieve a specific BPatG (Bundespatentgericht) decision by its case number.\nReturns the complete decision text and all metadata.\n\nExample case numbers:\n- \"4 Ni 10/20\" (patent nullity)\n- \"29 W (pat) 1/21\" (trademark)\n- \"10 W (pat) 50/19\" (patent)"},{"name":"query_inpadoc_status","description":"Query the INPADOC patent legal status database (EPO worldwide legal events).\nSupports structured filters and browsing.\nContains legal status information: grant dates, expiry dates, current status, legal events.\n\nUsage patterns:\n- Status filter: provide \"current_status\" to filter (e.g., \"granted\", \"expired\", \"lapsed\", \"pending\")\n- Country filter: provide \"country\" to filter by country code (e.g., \"EP\", \"DE\", \"US\")\n- Grant date range: provide \"date_from\" and/or \"date_to\"\n- Browse: set filters and browse results\n\nExamples:\n- { country: \"EP\", current_status: \"granted\", limit: 10 }\n- { current_status: \"expired\", country: \"DE\" }\n- { date_from: \"2020-01-01\", date_to: \"2023-12-31\" }"},{"name":"get_inpadoc_patent","description":"Retrieve the full INPADOC legal status and event history for a specific patent.\nReturns current status, grant/expiry dates, and all legal events.\n\nExamples:\n- { patent_id: \"EP-1234567\" }\n- { patent_id: \"DE-102019123456\" }"},{"name":"query_epc","description":"Query the local database of European Patent Convention (EPC) articles, rules, and protocols.\nSupports semantic search, structured filters, and browsing.\nContains the full text of EPC 2020: Articles 1-178, Implementing Regulations (Rules 1-165), and Protocols.\n\nUsage patterns:\n- Semantic search: provide \"query\" for natural language search (e.g., \"patentability of software\")\n- Article lookup: provide \"type\" and \"number\" (e.g., type: \"article\", number: \"52\")\n- Browse by type: provide \"type\" without \"query\" to list articles, rules, or protocols\n- Combined: provide \"query\" + filters for refined search\n\nExamples:\n- { query: \"patentability exclusions\" }\n- { type: \"article\", number: \"52\" }\n- { query: \"time limits filing\", type: \"rule\" }\n- { type: \"article\", part: \"II\" }\n- { query: \"unity of invention\" }"},{"name":"get_epc_article","description":"Retrieve a specific EPC article, rule, or protocol by its type and number.\nReturns the complete text and metadata.\n\nExamples:\n- { type: \"article\", number: \"52\" } — Patentable inventions\n- { type: \"rule\", number: \"42\" } — Content of the description\n- { type: \"article\", number: \"123\" } — Non-payment of fees"},{"name":"query_epo_guidelines","description":"Query the local database of EPO Guidelines for Examination.\nContains the full text of the Guidelines organized by Part (A-H), Chapter, and Section.\nSupports semantic search, structured filters, and browsing.\nDefaults to the current 2026 edition; pass \"edition\" to query an older one.\n\nPart overview:\n- A: Formalities examination\n- B: Search\n- C: Substantive examination (patentability, novelty, inventive step)\n- D: Opposition and limitation\n- E: General procedural matters\n- F: The European patent application (claims, description)\n- G: Patentability (biotechnology, computer-implemented inventions)\n- H: Amendments and corrections\n\nUsage patterns:\n- Semantic search: provide \"query\" (e.g., \"inventive step problem-solution approach\")\n- Browse by part: provide \"part\" (e.g., \"G\" for patentability)\n- Section lookup: provide \"full_reference\" (e.g., \"G-VII, 5.2\")\n- Combined: provide \"query\" + \"part\" for refined search\n\nExamples:\n- { query: \"computer-implemented inventions\" }\n- { part: \"G\" }\n- { full_reference: \"G-VII, 5.2\" }\n- { query: \"added matter\", part: \"H\" }\n- { query: \"novelty selection inventions\", part: \"G\" }\n- { query: \"fees\", edition: \"2025\" }  // query the previous edition explicitly"},{"name":"get_epo_guideline_section","description":"Retrieve a specific EPO Guidelines section by its full reference.\nReturns the complete text and metadata.\nDefaults to the current 2026 edition; pass \"edition\" for an older one.\n\nExample references:\n- \"G-VII, 5.2\" — Computer-implemented inventions\n- \"C-IV, 11.9\" — Selection inventions\n- \"F-IV, 4.3\" — Claims clarity"},{"name":"query_pct_guide","description":"Query the local database of the PCT Applicant's Guide (WIPO).\nContains international phase procedures, national phase requirements per country, and annexes.\nSupports semantic search, structured filters, and browsing.\n\nStructure:\n- international_phase: General PCT international phase procedures\n- national_phase: Country-specific national phase requirements (EP, US, CN, JP, KR, DE, etc.)\n- annex: Supplementary materials\n- general: Overview and general information\n\nUsage patterns:\n- Semantic search: provide \"query\" (e.g., \"time limits for entering national phase\")\n- Country lookup: provide \"code\" (e.g., \"EP\" for European Patent Office)\n- Phase filter: provide \"type\" (e.g., \"national_phase\")\n- Combined: provide \"query\" + \"type\" or \"code\" for refined search\n\nExamples:\n- { query: \"time limits national phase entry\" }\n- { type: \"national_phase\", code: \"EP\" }\n- { query: \"international search report\", type: \"international_phase\" }\n- { code: \"US\" }\n- { query: \"PCT fees transmittal\" }"},{"name":"get_pct_guide_section","description":"Retrieve a specific PCT Guide section by type and country/section code.\nReturns the complete text including deadlines, fees, and requirements.\n\nExamples:\n- { type: \"national_phase\", code: \"EP\" } — European Patent Office national phase\n- { type: \"national_phase\", code: \"US\" } — United States national phase\n- { type: \"international_phase\", code: \"GENERAL\" } — General international phase info"}],"usage":{"connect":"POST to this endpoint with MCP protocol messages","session_header":"mcp-session-id"}}