Patsnap Pharma Intelligence

Pharmaceutical intelligence across drugs, targets, diseases, clinical trials, patents, deals, papers, labels, epidemiology, and news.

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeRead-only

What it can do

  • Ls Clinical Guideline Vector Search: Search clinical guidelines with vector similarity. Use semantic similarity to search clinical guidelines. This is useful for complex natural-language queries. It c
  • Ls Clinical Trial Search: Search clinical trial information. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wa
  • Ls Clinical Trial Vector Search: Search clinical trials with vector similarity. Use semantic similarity to search clinical trials. This is useful for complex natural-language queries. It calls the uni

What data it sees

Do you need an account

An API key from the service settings is required

Pharmaceutical intelligence across drugs, targets, diseases, clinical trials, patents, deals, papers, labels, epidemiology, and news.

Server tool list (30)

Raw names from tools/list. Only developers need these.

ls_clinical_guideline_vector_searchSearch clinical guidelines with vector similarity. Use semantic similarity to search clinical guidelines. This is useful for complex natural-language queries. It calls the unified vector search interface and returns relevant text chunks. Args: query: Natural-language search query. Must NOT include meta-words like "literature", "paper", "review", "report", "patent", "drug development" or other over-generalizing terms. Only use biology, chemistry, and pharmaceutical-related terms. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Vector search response data, including: - result: matched guideline list, each item contains `_text_display`, `_text`, `doc_type`, `doc_type_detail`, `url`, and `reference`. The `reference` field preserves the legacy Java-formatted reference ID in `docType:docId` format.
ls_clinical_trial_searchSearch clinical trial information. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wants to retrieve registered clinical trials by study drug, control drug, target, disease, sponsor organization, phase, or geography. It is suitable for structured trial filtering such as "Phase 2 EGFR trials in US" or "PD-1 studies sponsored by Merck". Args: drug: List[str]. Main study drug name list, representing the primary investigational drug in the trial. control_drug: List[str]. Control drug name list for comparator-arm filtering. target: List[str]. Target name list for mechanism- or biology-focused trial retrieval. drug_type: List[str]. Drug type filter. mechanism_action: List[str]. Mechanism of action name list for pharmacology-level filtering. disease: List[str]. Disease name list used to restrict the trial population or indication context. therapeutic_area: List[str]. Therapeutic area name list for broader disease-area filtering. Allowed values: ["cardiovascular_diseases", "congenital_disorders", "digestive_system_disorders", "endocrinology_and_metabolic_disease", "eye_diseases", "hemic_and_lymphatic_diseases", "immune_system_diseases", "infectious_diseases", "mouth_and_tooth_diseases", "neoplasms", "nervous_system_diseases", "otorhinolaryngologic_diseases", "respiratory_diseases", "skin_and_musculoskeletal_diseases", "urogenital_diseases", "other_diseases"]. organization: List[str]. Sponsor or collaborator organization name list. Use this for sponsor-level trial monitoring. phase: List[str]. Clinical phase filter based on the registered trial phase. Common values include ["early_phase_1", "phase_1", "phase_1_2", "phase_2", "phase_2_3", "phase_3", "phase_4", "not_applicable"]. study_status: List[str]. Trial status filter for the current recruitment or execution state. Allowed values: ["not_yet_recruiting", "recruiting", "enrolling_by_invitation", "active_not_recruiting", "suspended", "terminated", "completed", "withdrawn"]. dosage_form: List[str]. Dosage form filter. route_of_administration: List[str]. Route of administration filter. country: List[str]. Country or region code list, such as the study site or registered geography. The input must use country codes. register_number: str. Trial registration number, such as an NCT number. study_identifier: str. Sponsor study code or internal study identifier. brief_title: str. Clinical trial title or brief public title. study_first_posted_date_from: str. Start date for the first posted date, which represents the first public registration date. Use YYYY-MM-DD format. study_first_posted_date_to: str. End date for the first posted date. Use YYYY-MM-DD format. offset: int. Pagination offset. limit: int. Page size. Examples: ✔ ls_clinical_trial_search(drug=["pembrolizumab"], phase=["phase_3"], country=["US"], limit=20) ✔ ls_clinical_trial_search(target=["EGFR"], disease=["non-small cell lung cancer"], limit=20) ✔ ls_clinical_trial_search(organization=["Novartis"], study_status=["recruiting"], limit=20) Returns: items: List[Dict[str, Any]]. Matched clinical trial records. Each item contains fields such as `clinical_trial_id`, `trial_title`, `trial_status`, and `reference`. The `reference` field preserves the legacy Java-formatted reference ID in `docType:docId` format. total: int. Total number of matched records. query: Dict[str, Any]. Actual executed query conditions. warnings: List[str]. Warning messages at the same level as `query`, such as unrecognized entities or no-result hints.
ls_clinical_trial_vector_searchSearch clinical trials with vector similarity. Use semantic similarity to search clinical trials. This is useful for complex natural-language queries. It calls the unified vector search interface and returns relevant text chunks. Args: query: Natural-language search query. Must NOT include meta-words like "literature", "paper", "review", "report", "patent", "drug development" or other over-generalizing terms. Only use biology, chemistry, and pharmaceutical-related terms. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Vector search response data, including: - result: matched clinical trial list, each item contains `_text_display`, `_text`, `doc_type`, `doc_type_detail`, `url`, `reference`, `clinical_trial_id`, `trial_status`, and `clinical_phase`. The `reference` field preserves the legacy Java-formatted reference ID in `docType:docId` format.
ls_clinical_trial_fetchFetch clinical trial details in batch IMPORTANT: You must provide either `trial_ids` OR `registration_number`, NOT both as null. Batch fetch full detail records by clinical trial IDs or registration numbers. Args: trial_ids: Clinical trial ID list in UUID format. registration_number: Optional clinical trial registration number list. When provided, the Java MCP service resolves the numbers to IDs through ner_nor before fetching details. Returns: List[Dict[str, Any]] | Dict[str, Any]: Response body: { "result": [ { "clinical_trial_id": "ea542da83205839382499eae954e2922", "registration_number": "NCT07422779", "trial_title": "...", "reference": "clinical_trial:ea542da83205839382499eae954e2922" } ] }
ls_clinical_trial_result_searchSearch clinical trial result information. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wants to retrieve published or indexed clinical trial results by drug, target, disease, sponsor, or phase. It is useful for result-centric questions such as "Phase 3 PD-1 trial results in melanoma" or "EGFR trial readouts after 2022". Args: drug: List[str]. Main study drug name list for the treated cohort. control_drug: List[str]. Control drug name list for comparator-arm result filtering. target: List[str]. Target name list for mechanism-centered result retrieval. drug_type: List[str]. Drug type filter. mechanism_action: List[str]. Mechanism of action name list for more specific pharmacology matching. disease: List[str]. Disease name list for the trial population or indication. therapeutic_area: List[str]. Therapeutic area name list used for broader portfolio-level filtering. Allowed values: ["cardiovascular_diseases", "congenital_disorders", "digestive_system_disorders", "endocrinology_and_metabolic_disease", "eye_diseases", "hemic_and_lymphatic_diseases", "immune_system_diseases", "infectious_diseases", "mouth_and_tooth_diseases", "neoplasms", "nervous_system_diseases", "otorhinolaryngologic_diseases", "respiratory_diseases", "skin_and_musculoskeletal_diseases", "urogenital_diseases", "other_diseases"]. organization: List[str]. Sponsor or collaborator organization name list. Use this when the user asks for results tied to a company or institution. phase: List[str]. Clinical phase filter from the underlying trial. Common values include ["early_phase_1", "phase_1", "phase_1_2", "phase_2", "phase_2_3", "phase_3", "phase_4", "not_applicable"]. study_code: str. Study code or sponsor trial identifier. register_number: str. Registration number, such as an NCT number. published_date_from: str. Start date for the result publication date range. Use YYYY-MM-DD format. published_date_to: str. End date for the result publication date range. Use YYYY-MM-DD format. offset: int. Pagination offset. limit: int. Page size. Examples: ✔ ls_clinical_trial_result_search(drug=["pembrolizumab"], phase=["phase_3"], limit=20) ✔ ls_clinical_trial_result_search(disease=["melanoma"], phase=["phase_3"], limit=20) Returns: Dict[str, Any]: Response body: { "total": 3886, "items": [ { "ct_result_id": "8aee22a2ed44ee225d48502e8d29de2d", "ct_result_title": "...", "phase": "Phase 2", "main_drugs": ["Pembrolizumab", "Rituximab"], "reference": "clinical_trial_result:8aee22a2ed44ee225d48502e8d29de2d" } ], "query": {"offset": 0, "limit": 1, "...": "..."} }
ls_clinical_trial_result_fetchFetch clinical trial result details in batch Batch fetch full detail records by clinical trial result IDs. Args: result_ids: Clinical trial result ID list in UUID format. Returns: List[Dict[str, Any]] | Dict[str, Any]: Response body: { "result": [ { "ct_result_id": "8aee22a2ed44ee225d48502e8d29de2d", "ct_result_title": "...", "phase": "Phase 2", "results": ["..."], "reference": "clinical_trial_result:8aee22a2ed44ee225d48502e8d29de2d" } ] }
ls_disease_fetchFetch disease details in batch IMPORTANT: You must provide either `disease_ids` OR `disease`, NOT both as null. Batch fetch full detail records by disease IDs or disease names. Args: disease_ids: Disease ID list in UUID format. disease: Optional disease name list. When provided, the Java MCP service resolves the names to IDs before fetching details. Returns: List[Dict[str, Any]] | Dict[str, Any]: Response body: { "result": [ { "disease_id": "e2fd9bda4aeb4a7b9fa53a2560126d24", "display_name_en": "Lung Cancer", "mesh_id": "D008175", "umls_cui": ["C0024121"], "reference": "disease:e2fd9bda4aeb4a7b9fa53a2560126d24" } ] }
ls_drug_deal_searchSearch drug deal information. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wants to find licensing, collaboration, acquisition, or option deals related to a drug, target, disease, or company. It is useful for structured business development queries such as "ADC licensing deals in US after 2021" or "Phase 2 KRAS deals involving Novartis". Args: drug: List[str]. Drug name list used to find transactions related to a specific therapeutic asset. drug_type: List[str]. Drug type filter. target: List[str]. Target name list for target-specific business development searches. mechanism_action: List[str]. Mechanism of action name list to narrow by pharmacology or modality behavior. drug_disease: List[str]. Drug indication name list for the asset itself. deal_disease: List[str]. Deal indication name list used in the transaction description or rights scope. licensor: List[str]. Licensor organization name list. licensee: List[str]. Licensee organization name list. phase: List[str]. Highest development phase at the time of the deal, representing the asset maturity when rights changed hands. Common values include ["discovery", "preclinical", "ind_application", "ind_approval", "clinical", "early_phase_1", "phase_1", "phase_1_2", "phase_2", "phase_2_3", "phase_3", "nda_bla", "approved", "phase_4", "discontinued", "suspended", "withdrawn"]. deal_type: List[str]. Deal type filter, such as licensing, option, or acquisition. Allowed values: ["collaboration", "option", "investment", "asset_acquisition", "merger_and_acquisition", "license"]. country: List[str]. Rights territory code list, for example the markets covered by the transaction. The input must use country codes. deal_date_from: str. Start date for the deal date range. The input is in yyyy-MM-dd format and is converted to a millisecond timestamp during search. deal_date_to: str. End date for the deal date range. The input is in yyyy-MM-dd format and is converted to a millisecond timestamp during search. offset: int. Pagination offset. limit: int. Page size. Examples: ✔ ls_drug_deal_search(drug=["trastuzumab"], deal_type=["license"], country=["US"], limit=20) ✔ ls_drug_deal_search(licensee=["Novartis"], phase=["phase_3"], limit=20) ✔ ls_drug_deal_search(drug=["BBI-608"], deal_type=["acquisition"], limit=20) Returns: Dict[str, Any]: Response body: { "total": 79, "items": [ { "deal_id": "283e83ee55d52a5852a28ae4e94a89aa", "deal_title": "...", "deal_status": {"display_name_en": "Active"}, "deal_time": "2024-10-14", "url": "http://.../news-detail/...", "reference": "drug_deal:283e83ee55d52a5852a28ae4e94a89aa" } ], "query": {"offset": 0, "limit": 1, "...": "..."} }
ls_drug_deal_fetchFetch drug deal details in batch Batch fetch full detail records by drug deal IDs. Args: drug_deal_ids: Drug deal ID list in UUID format. Returns: List[Dict[str, Any]] | Dict[str, Any]: Response body: { "result": [ { "deal_id": "283e83ee55d52a5852a28ae4e94a89aa", "deal_title": "...", "principle_organization": [{"display_name_en": "Exelixis, Inc."}], "partner_organization": [{"display_name_en": "Merck & Co., Inc."}], "reference": "drug_deal:283e83ee55d52a5852a28ae4e94a89aa" } ] }
ls_drug_searchSearch drug information. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wants to find drug assets by drug name, target, disease, organization, development phase, or milestone date. It is well suited for structured pipeline filtering, such as "PD-1 drugs in Phase 3 in China" or "approved drugs from a specific company". Args: drug: List[str]. Drug name list used to locate specific assets. target: List[str]. Target name list for target-centric drug discovery or development queries. disease: List[str]. In-development disease name list, mapped to the drug disease field used for pipeline filtering. organization: List[str]. R&D organization name list mapped to `DEV_ORG_ID_ONEID`, typically used for sponsor, originator, or active developer filtering. drug_type: List[str]. Drug type filter. action_type: List[str]. Action type filter for the high-level activity mode of the drug. mechanism_action: List[str]. Mechanism of action filter used for more specific pharmacology matching. atc_code: List[str]. ATC code filter for therapy-area or class-based retrieval. modification: List[str]. Chemical modification ID filter for modified molecule searches. highest_phase: List[str]. Global highest development status filter, representing the furthest worldwide milestone reached by the drug. Allowed values include ["discovery", "preclinical", "ind_application", "ind_approval", "clinical", "early_phase_1", "phase_1", "phase_1_2", "phase_2", "phase_2_3", "phase_3", "nda_bla", "approved", "phase_4", "discontinued", "suspended", "withdrawn", "pending", "unknown", "not_applicable", "other", "inactive"]. dev_status: List[str]. Current development status filter, used for the latest active status rather than the historical highest phase. Allowed values include ["discovery", "preclinical", "ind_application", "ind_approval", "clinical", "early_phase_1", "phase_1", "phase_1_2", "phase_2", "phase_2_3", "phase_3", "nda_bla", "approved", "phase_4", "discontinued", "suspended", "withdrawn", "pending", "unknown", "not_applicable", "other", "inactive"]. org_type: List[str]. Organization type filter applied to the related R&D organizations. Allowed values: ["company", "university_institution", "other"]. highest_phase_date_from: str. Start date for the drug's highest-phase milestone. Use YYYY-MM-DD format. The input is converted to a timestamp internally. highest_phase_date_to: str. End date for the drug's highest-phase milestone. Use YYYY-MM-DD format. The input is converted to a timestamp internally. country: List[str]. Country or region code list, such as the market or development geography used by the underlying query. The input must use country codes. offset: int. Pagination offset. limit: int. Page size. Examples: ✔ ls_drug_search(drug=["pembrolizumab"], limit=20) ✔ ls_drug_search(target=["PD-1"], highest_phase=["approved"], limit=20) ✔ ls_drug_search(disease=["non-small cell lung cancer"], organization=["Roche"], highest_phase=["phase_3"], limit=20) Returns: Dict[str, Any]: Response body: { "total": 1, "items": [ { "drug_id": "494cfb9a825645f4a2caa343d3261850", "display_name_cn": "阿司匹林", "display_name_en": "Aspirin", "drug_type_view": [{"id": "...", "display_name_en": "Small molecule drug"}], "reference": "drug:494cfb9a825645f4a2caa343d3261850" } ], "query": {"offset": 0, "limit": 1, "...": "..."} } - total: total number of matched records. - items: matched drug summaries. - query: executed backend query payload.
ls_drug_fetchFetch drug details in batch IMPORTANT: You must provide either `drug_ids` OR `drug`, NOT both as null. Batch fetch full detail records by drug IDs or drug names. Args: drug_ids: Drug ID list in UUID format. drug: Optional drug name list. When provided, the Java MCP service resolves the names to IDs before fetching details. Returns: Dict[str, Any]: Response body: { "items": [ { "drug_id": "494cfb9a825645f4a2caa343d3261850", "display_name_en": "Aspirin", "target_id_view": [{"id": "...", "display_name_en": "COX-1 x COX-2"}], "global_highest_dev_status_view": {"display_name_en": "Approved"}, "reference": "drug:494cfb9a825645f4a2caa343d3261850" } ] } - items: detailed drug records for the requested IDs/names.
ls_epidemiology_vector_searchSearch epidemiology data with vector similarity. Use semantic similarity to search epidemiology content. This is useful for complex natural-language queries. It calls the unified vector search interface and returns relevant text chunks. Args: query: Natural-language search query. Must NOT include meta-words like "literature", "paper", "review", "report", "patent", "drug development" or other over-generalizing terms. Only use biology, chemistry, and pharmaceutical-related terms. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Response body: { "result": [ { "id": "epidemiology:...", "_text_display": "Global Cancer Statistics, 2002", "doc_type": "website", "doc_type_detail": "epidemiology", "url": "http://dx.doi.org/10.3322/canjclin.55.2.74", "reference": "epidemiology:..." } ] }
ls_fda_label_vector_searchSearch FDA labels with vector similarity. Use semantic similarity to search FDA drug labels. This is useful for complex natural-language queries. It calls the unified vector search interface and returns relevant text chunks. Args: query: Natural-language search query. Must NOT include meta-words like "literature", "paper", "review", "report", "patent", "drug development" or other over-generalizing terms. Only use biology, chemistry, and pharmaceutical-related terms. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Response body: { "result": [ { "id": "fda_label:...", "_text": "Lebrikizumab - CONTRAINDICATIONS ...", "doc_type": "website", "doc_type_detail": "fda_label", "url": "https://www.accessdata.fda.gov/...", "reference": "fda_label:..." } ] }
ls_financial_report_vector_searchSearch financial reports with vector similarity. Use semantic similarity to search financial reports and prospectuses. This is useful for complex natural-language queries. It calls the unified vector search interface and returns relevant text chunks. Args: query: Natural-language search query. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Response body: { "result": [ { "id": "financial_report:...", "_text_display": "PFIZER INC - 2023 Annual report", "doc_type": "website", "doc_type_detail": "financial_report", "url": "https://www.sec.gov/...", "reference": "financial_report:..." } ] }
ls_news_vector_searchSearch news with vector similarity. Use semantic similarity to search news content and return the most relevant text chunks. This is suitable for natural-language queries and can match semantic intent rather than only keywords. Args: query: Natural-language search query. Must NOT include meta-words like "literature", "paper", "review", "report", "patent", "drug development" or other over-generalizing terms. Only use biology, chemistry, and pharmaceutical-related terms. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Response body: { "result": [ { "id": "news_or_doc_id", "_text_display": "...", "_text": "...", "doc_type": "news", "url": "https://...", "reference": "news:..." } ] } - result: matched news chunks; may be an empty list when no hit.
ls_news_fetchFetch news details in batch Batch fetch full detail records by news IDs. Args: news_ids: News ID list in UUID format. Returns: List[Dict[str, Any]]: News detail records for the requested news IDs. Typical item keys include `news_id`, `title`, `content`, `url`, and `reference` (`docType:docId` format).
ls_organization_fetchFetch organization details in batch IMPORTANT: You must provide either `organization_ids` OR `organization`, NOT both as null. Batch fetch full detail records by organization IDs or organization names. Args: organization_ids: Organization ID list in UUID format. organization: Optional organization name list. When provided, the Java MCP service resolves the names to IDs before fetching details. Returns: List[Dict[str, Any]] | Dict[str, Any]: Response body: { "result": [ { "entity_id": "9597e75ba30c9958d4331f586407d7cf", "display_name_en": "Pfizer Inc.", "website": "http://www.pfizer.com", "stock_symbol": "PFE", "reference": "organization:9597e75ba30c9958d4331f586407d7cf" } ] }
ls_paper_searchSearch academic papers. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wants to find papers by drug, target, disease, organization, journal, author, or publication year. It is effective for evidence-finding queries such as "recent Nature Medicine papers about KRAS inhibitors" or "papers from Dana-Farber on PD-1". Args: drug: List[str]. Drug name list used for evidence gathering around a specific therapy. target: List[str]. Target name list for target-centric literature retrieval. disease: List[str]. Disease name list used to constrain the therapeutic context of the literature search. drug_type: List[str]. Drug type filter for modality-level narrowing. organization: List[str]. Organization name list, typically matching author affiliations or institution metadata. journal: List[str]. Journal name list. authors: List[str]. Author name list. inchi_keys: List[str]. InChIKey list used to filter papers by related compound structures. sequence_numbers: List[long]. Sequence number list used to filter papers by related sequences. year_from: str. Start publication date boundary. Use YYYY-MM-DD format. year_to: str. End publication date boundary. Use YYYY-MM-DD format. offset: int. Pagination offset. limit: int. Page size. Examples: ✔ ls_paper_search(target=["STAT3"], disease=["pancreatic cancer"], limit=20) ✔ ls_paper_search(drug=["napabucasin"], limit=20) ✔ ls_paper_search(journal=["Nature Medicine"], disease=["breast cancer"], limit=20) Returns: Dict[str, Any]: Response body: { "total": 73410, "items": [ { "id": "26b6fcb0-2bce-3e38-8aaf-7415f7eb03f0", "title": "...", "journal": "JOURNAL OF BIOLOGICAL CHEMISTRY", "doi": "10.1074/jbc.m205142200", "reference": "paper:26b6fcb0-2bce-3e38-8aaf-7415f7eb03f0" } ], "query": {"offset": 0, "limit": 1, "...": "..."} }
ls_paper_vector_searchSearch academic papers with vector similarity. Use semantic similarity to search academic papers. This is useful for complex natural-language queries. It calls the unified vector search interface and returns relevant text chunks. Args: query: Natural-language search query. Must NOT include meta-words like "literature", "paper", "review", "report", "patent", "drug development" or other over-generalizing terms. Only use biology, chemistry, and pharmaceutical-related terms. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Response body: { "result": [ { "id": "0439713e-18fe-4c87-bfde-c3d97c5d6622", "title": "...", "journal": "Biomarkers in cancer", "author": ["..."], "reference": "paper:0439713e-18fe-4c87-bfde-c3d97c5d6622" } ] }
ls_paper_fetchFetch paper details in batch Batch fetch full detail records by paper IDs. Args: paper_ids: Paper ID list in UUID format. Returns: List[Dict[str, Any]] | Dict[str, Any]: Response body: { "result": [ { "paper_id": "26b6fcb0-2bce-3e38-8aaf-7415f7eb03f0", "title": "...", "doi": "10.1074/jbc.m205142200", "reference": "paper:26b6fcb0-2bce-3e38-8aaf-7415f7eb03f0" } ] }
ls_patent_searchSearch patent information. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wants to retrieve patent records by drug, target, disease, applicant organization, patent category, or publication time. It is useful for structured patent landscaping queries such as "ADC patents in CN after 2020" or "PD-1 related patents from Merck". Args: drug: List[str]. Drug name list used to find patents associated with a specific therapeutic asset. drug_type: List[str]. Drug type filter. patent_core_type: List[str]. Patent classification filter used to narrow the invention type. Allowed values: ["product_compound", "sequence", "drug_combination", "formulation", "product_derivative", "crystal_form", "process", "new_use", "dosage_form", "device", "diagnostic_analysis_assay"]. target: List[str]. Target name list for target-centered patent landscaping. disease: List[str]. Disease name list used for disease-area patent retrieval. organization: List[str]. Applicant or organization name list, mapped to the assignee/applicant side of the patent. patent_technology: List[str]. Patent technology type filter used to group technical routes or modalities. Allowed values: ["Antibody drug conjugate (ADC)", "Monoclonal antibody (mAb)", "Antibody", "Enzyme", "Adeno-associated virus (AAV)", "Antibody Fragment-Drug Conjugate (FDC)", "Nano-lipid-particles", "Small molecule-drug conjugate (SMDC)", "Bispecific monoclonal antibody", "CRISPR/Cas"]. applicant_type: List[str]. Applicant type filter mapped to `ANCS_TYPE`. Allowed values: ["academy", "company", "government", "person", "hospital", "bank"]. legal_status: List[str]. Legal status filter for patent lifecycle state. Allowed values: ["inactive", "active", "pending", "pct_designated_stage", "pct_designated_stage_expired"]. country: List[str]. Country or region code list used directly by the patent query. The input must use country codes. application_date_from: str. Start date for the application date range. Use YYYY-MM-DD format. The input is converted to YYYYMMDD during search. application_date_to: str. End date for the application date range. Use YYYY-MM-DD format. The input is converted to YYYYMMDD during search. publication_date_from: str. Start date for the publication date range. Use YYYY-MM-DD format. The input is converted to YYYYMMDD during search. publication_date_to: str. End date for the publication date range. Use YYYY-MM-DD format. The input is converted to YYYYMMDD during search. expiry_date_from: str. Start date for the expiry date range. Use YYYY-MM-DD format. The input is converted to YYYYMMDD during search. expiry_date_to: str. End date for the expiry date range. Use YYYY-MM-DD format. The input is converted to YYYYMMDD during search. patent_number: str. Patent number filter. The value is matched against both `PN` and `APNO`. inventors: List[str]. Inventor name list. inchi_keys: List[str]. InChIKey list used to filter patents by related compound structures. sequence_numbers: List[long]. Sequence number list used to filter patents by related sequences. offset: int. Pagination offset. limit: int. Page size. Examples: ✔ ls_patent_search(drug=["trastuzumab"], patent_technology=["Antibody drug conjugate (ADC)"], country=["US"], limit=20) ✔ ls_patent_search(target=["EGFR"], organization=["Merck"], limit=20) ✔ ls_patent_search(patent_core_type=["product_compound"], disease=["lung cancer"], limit=20) Returns: Dict[str, Any]: Response body: { "total": 1521, "items": [ { "id": "efc64f57-5fa9-42fe-8ad7-56ef95010b72", "title": "...", "pn": "CN105853996A", "simple_legal_status": {"display_name_en": "Inactive"}, "reference": "patent:efc64f57-5fa9-42fe-8ad7-56ef95010b72" } ], "query": {"offset": 0, "limit": 1, "...": "..."} } - total: total number of matched records. - items: matched patent summaries. - query: executed backend query payload.
ls_patent_vector_searchSearch patents with vector similarity. Use semantic similarity to search patents. This is useful for complex natural-language queries. It calls the unified vector search interface and returns relevant text chunks. Args: query: Natural-language search query. Must NOT include meta-words like "literature", "paper", "review", "report", "patent", "drug development" or other over-generalizing terms. Only use biology, chemistry, and pharmaceutical-related terms. top_k: Maximum number of matched chunks to return. Defaults to 20. lang: Required parameter. Language code for vector retrieval. Allowed values: ["CN", "EN"]. IMPORTANT: Do NOT use "chinese", "zh-CN", "中文", "english", etc. Returns: Dict[str, Any]: Response body: { "result": [ { "id": "e9d1eacf-2da4-466e-bf66-95aaf2cbd666", "title": "...", "content": "...", "pn": "EP4353747A2", "simple_legal_status": {"display_name_en": "Pending"}, "reference": "patent:e9d1eacf-2da4-466e-bf66-95aaf2cbd666" } ] }
ls_patent_fetchFetch patent details in batch Batch fetch full detail records by patent IDs or patent numbers. Args: patent_ids: Patent ID list in UUID format. pn: Optional patent number list. When provided, the Java MCP service resolves the numbers to IDs through ner_nor before fetching details. optional_fields: Optional list of extra response field names in snake_case. Multiple fields are supported, for example: ["exdt", "isdt", "apno"]. Allowed values are first-level Synapse patent detail fields only; nested object keys are not enumerated. Allowed values: ["patent_id", "pn", "apno", "country", "patent_type", "application_type", "sub_type", "apdt", "pbdt", "exdt", "isdt", "family_original", "family_inpadoc", "drug_id", "drug_id_view", "disease_id", "disease_id_view", "target_id", "target_id_view", "original_assignee", "current_assignee", "inventor", "inventor_other", "simple_legal_status", "legal_status", "event_status", "first_pbdt", "title", "title_translation", "abst", "abst_translation", "images", "pdf", "cited_by_count", "patent_image", "patent_image120", "simple_family_jurisdiction", "inpadoc_family_jurisdiction", "simple_family_count", "inpadoc_family_count", "patent_type_id", "patent_type_id_view", "patent_technology_id", "patent_technology_id_view", "curation", "phs_drug_patent_types", "patent_type_source", "patent_type_source_view", "extension"]. These fields are passed through to the Synapse MCP service and returned when the backend patent detail model has a matching non-null getter value. Returns: List[Dict[str, Any]] | Dict[str, Any]: Response body: { "result": [ { "patent_id": "efc64f57-5fa9-42fe-8ad7-56ef95010b72", "title": [{"lang": "EN", "text": "..."}], "pn": "CN105853996A", "current_assignee": [{"display_name_en": "SHANDONG JIANKE BIOTECH CO LTD"}], "reference": "patent:efc64f57-5fa9-42fe-8ad7-56ef95010b72" } ] }
ls_target_fetchFetch target details in batch IMPORTANT: You must provide either `target_ids` OR `target`, NOT both as null. Batch fetch full detail records by target IDs or target names. Args: target_ids: Target ID list in UUID format. target: Optional target name list. When provided, the Java MCP service resolves the names to IDs before fetching details. Returns: List[Dict[str, Any]]: Target detail records for the requested target IDs or names. Each item includes `reference` in the legacy `docType:docId` format.
ls_translational_medicine_searchSearch translational medicine information. IMPORTANT: You must provide at least ONE search parameter (e.g., drug, target, disease, organization, etc.). Use this tool when the user wants to find translational medicine records by drug, target, disease, sponsor organization, or publication window. It works well for structured follow-up queries after entity extraction, such as narrowing results to a specific disease area, sponsor, or publication window. Args: drug: List[str]. Drug name list used to narrow translational studies to a specific therapy. target: List[str]. Target name list for biology- or mechanism-oriented translational queries. disease: List[str]. Disease name list used to constrain the clinical or biological context. drug_type: List[str]. Drug type filter. mechanism_action: List[str]. Mechanism of action name list for more specific pharmacology matching. organization: List[str]. Organization name list, typically representing the research institution or sponsor. published_date_from: str. Start date for the publication date range. Use YYYY-MM-DD format. The input is converted to the YYYYMMDD format used by the underlying query. published_date_to: str. End date for the publication date range. Use YYYY-MM-DD format. The input is converted to the YYYYMMDD format used by the underlying query. offset: int. Pagination offset. limit: int. Page size. Examples: ✔ ls_translational_medicine_search(drug=["pembrolizumab"], limit=20) ✔ ls_translational_medicine_search(target=["KRAS"], disease=["pancreatic cancer"], limit=20) Returns: items: List[Dict[str, Any]]. Matched translational medicine records. Each item contains fields such as `translational_medicine_id`, `title`, `abstract_text`, `url`, and `reference`. The `url` field is either the raw source URL or `/literature-detail/{patsnap_id}` for paper milestone sources, and is returned without Java response-body encryption. The `reference` field preserves the legacy Java-formatted reference ID in `docType:docId` format. total: int. Total number of matched records. query: Dict[str, Any]. Actual executed query conditions. warnings: List[str]. Warning messages at the same level as `query`, such as unrecognized entities or no-result hints.
ls_translational_medicine_fetchFetch translational medicine details in batch Batch fetch full detail records by translational medicine IDs. Args: translational_medicine_ids: Translational medicine ID list in UUID format. Returns: List[Dict[str, Any]]: Translational medicine detail records for the requested IDs. The `url` field is either the raw source URL or `/literature-detail/{patsnap_id}` for paper milestone sources, and is returned without Java response-body encryption. Each item also includes `reference` in the legacy `docType:docId` format.
ls_web_searchSearch the web for current information. Use this tool when the user wants to search the web for current information on a specific topic. It returns a list of relevant web results. Args: query: str. Search query string. Returns: str. Response body example (plain text): "Recent developments in the field of PD-1 antibodies ... Key developments and trends: ..." The output is a single formatted text block that may include: - a generated summary paragraph - bullet-style sections - embedded URLs or source references
ls_ner_nor_normalizeNormalize entities from user query text. Identify and normalize entities such as targets, drugs, diseases, companies, drug types, mechanisms of action, action types, patent numbers, and clinical trial numbers from the input text. Runs NER-NOR API and LLM keyword extraction in parallel, then merges and deduplicates the results via autocomplete. When to call: - At the start of each conversation turn, call this tool with the user's raw input. - In multi-turn conversations, call again whenever new entities appear (new target, new drug, new disease, new patent number, etc.). - Pass user_input exactly as received — do not modify or preprocess it. Args: user_input: str. The user's raw query text. Must not be modified or preprocessed before passing to this tool. Returns: Dict[str, Any]: Result containing: - entities_standardize_info: JSON string. Schema: { "type": "array", "items": { "type": "object", "properties": { "data_type": {"type": "string", "description": "Entity type: Drug / Target / Disease / Company / Patent / Clinical_Trial etc."}, "original_name": {"type": "string", "description": "Original entity name as it appears in the text"}, "start_index": {"type": "integer", "description": "Start position in the text; -1 for autocomplete-only hits"}, "end_index": {"type": "integer", "description": "End position in the text; -1 for autocomplete-only hits"}, "normalized_id": {"type": "string", "description": "Standardized entity ID"} } } } Good Case: ✔ ls_ner_nor_normalize(user_input="查找PD-1抑制剂类的单克隆抗体药物") <- called at the start of a turn with the raw user input ✔ ls_ner_nor_normalize(user_input="Pfizer的pembrolizumab治疗肺癌的临床试验") <- multi-entity query; returns Drug + Company + Disease entities Bad Case: ❌ ls_ner_nor_normalize(user_input="drug") <- too generic; pass the full original user query, not a single keyword ❌ ls_ner_nor_normalize(user_input="请帮我查一下") <- no entities to extract; skip calling this tool for pure intent queries
ls_drug_milestone_fetchFetch drug R&D milestone history records. Use this tool when the user wants to retrieve the research and development milestone timeline for a specific drug, such as IND filings, phase transitions, approvals, or other key development events. Provide either drug_id or drug name. Args: drug_id: str. Drug ID in UUID format. Use this when the drug ID is already known for precise lookup. drug: str. Drug name. Used when drug_id is not available; the service resolves the name to an ID internally. Provide either drug_id or drug, not both. offset: int. Pagination offset, starting from 0. Defaults to 0. limit: int. Page size. Defaults to 10. Returns: Dict[str, Any]: Response body: { "total": 127, "items": [ { "milestone_id": "9afa1d585a8539c1b37fe1dcc2640673", "drug_id": "2838b95ade834c96b17ac8bcd2b68c27", "event": "APPROVAL", "event_date_ts": 1736985600000, "country": [{"display_name_en": "United States", "display_name_cn": "美国"}], "org": [{"display_name_en": "Amgen, Inc."}], "sub_event_view": [{"display_name_en": "Approved"}], "disease_id_view": [{"display_name_en": "KRAS G12C mutant Colorectal Cancer"}], "description": { "display_name_en": "Sotorasib‘s indications including KRAS G12C mutant Colorectal Cancer are approved in United States." }, "major_region_code": ["US"] } ] } - total: total milestone records for the query. - items: paged milestone rows (clinical, approval, patent, etc.). Good Case: ✔ ls_drug_milestone_fetch(drug_id="494cfb9a-8256-45f4-a2ca-a343d3261850", limit=20) <- fetch milestone timeline by known drug ID ✔ ls_drug_milestone_fetch(drug="imatinib", limit=10) <- fetch milestone timeline by drug name Bad Case: ❌ ls_drug_milestone_fetch() <- must provide either drug_id or drug
ls_organization_pipeline_fetchFetch drug pipeline records for an organization. Use this tool when the user wants to retrieve the drug development pipeline of a specific organization, including drugs under development, their targets, disease indications, and development status by country. Provide either organization_id or organization name. Args: organization_id: str. Organization ID in UUID format. Use this when the organization ID is already known for precise lookup. organization: str. Organization name. Used when organization_id is not available; the service resolves the name to an ID internally. Provide either organization_id or organization, not both. limit: int. Page size. Defaults to 5. offset: int. Pagination offset, starting from 0. Defaults to 0. Returns: Dict[str, Any]: Response body: { "total": 2890, "items": [ { "id": "85b8d3f5b9094da8a5d67358e5c6b1f3", "display_name_en": "Marstacimab-hncq", "targets": [{"display_name_en": "TFPI"}], "status_tables": [{"disease_id_view": {"display_name_en": "Hemophilia A"}}] } ] } Good Case: ✔ ls_organization_pipeline_fetch(organization_id="ee3f62ab873c539d75e06f49cc09d7fc", limit=5) <- fetch pipeline by known organization ID ✔ ls_organization_pipeline_fetch(organization="Johnson & Johnson", limit=10) <- fetch pipeline by organization name Bad Case: ❌ ls_organization_pipeline_fetch() <- must provide either organization_id or organization
Patsnap Pharma Intelligence: connect to Claude, ChatGPT, Cursor · Connectors.fun