search
Search biomedical literature, clinical trials, and genetic variants using unified or domain-specific queries. Access data from PubMed/PubTator3, ClinicalTrials.gov, and MyVariant.info for precise, cross-domain research.
Instructions
Search biomedical literature, clinical trials, and genetic variants.
⚠️ IMPORTANT: Have you used the 'think' tool first? If not, STOP and use it NOW!
The 'think' tool is REQUIRED for proper research planning and should be your FIRST step.
This tool provides access to biomedical data from PubMed/PubTator3, ClinicalTrials.gov,
and MyVariant.info. It supports two search modes:
## 1. UNIFIED QUERY LANGUAGE
Use the 'query' parameter with field-based syntax for precise cross-domain searches.
Syntax:
- Basic: "gene:BRAF"
- AND logic: "gene:BRAF AND disease:melanoma"
- OR logic: "gene:PTEN AND (R173 OR Arg173 OR 'position 173')"
- Domain-specific: "trials.condition:melanoma AND trials.phase:3"
Common fields:
- Cross-domain: gene, disease, variant, chemical/drug
- Articles: pmid, title, abstract, journal, author
- Trials: trials.condition, trials.intervention, trials.phase, trials.status
- Variants: variants.hgvs, variants.rsid, variants.significance
Example:
```
await search(
query="gene:BRAF AND disease:melanoma AND trials.phase:3",
max_results_per_domain=20
)
```
## 2. DOMAIN-SPECIFIC SEARCH
Use the 'domain' parameter with specific filters for targeted searches.
Domains:
- "article": Search PubMed/PubTator3 for research articles and preprints ABOUT genes, variants, diseases, or chemicals
- "trial": Search ClinicalTrials.gov for clinical studies
- "variant": Search MyVariant.info for genetic variant DATABASE RECORDS (population frequency, clinical significance, etc.) - NOT for articles about variants!
Example:
```
await search(
domain="article",
genes=["BRAF", "NRAS"],
diseases=["melanoma"],
page_size=50
)
```
## DOMAIN SELECTION EXAMPLES:
- To find ARTICLES about BRAF V600E mutation: domain="article", genes=["BRAF"], variants=["V600E"]
- To find VARIANT DATA for BRAF mutations: domain="variant", gene="BRAF"
- To find articles about ERBB2 p.D277Y: domain="article", genes=["ERBB2"], variants=["p.D277Y"]
- Common mistake: Using domain="variant" when you want articles about a variant
## IMPORTANT NOTES:
- For complex research questions, use the separate 'think' tool for systematic analysis
- The tool returns results in OpenAI MCP format: {"results": [{"id", "title", "text", "url"}, ...]}
- Search results do NOT include metadata (per OpenAI MCP specification)
- Use the fetch tool to get detailed metadata for specific records
- Use get_schema=True to explore available search fields
- Use explain_query=True to understand query parsing (unified mode)
- Domain-specific searches use AND logic for multiple values
- For OR logic, use the unified query language
- NEW: Article search keywords support OR with pipe separator: "R173|Arg173|p.R173"
- Remember: domain="article" finds LITERATURE, domain="variant" finds DATABASE RECORDS
## RETURN FORMAT:
All search modes return results in this format:
```json
{
"results": [
{
"id": "unique_identifier",
"title": "Human-readable title",
"text": "Summary or snippet of content",
"url": "Link to full resource"
}
]
}
```
Input Schema
Name | Required | Description | Default |
---|---|---|---|
call_benefit | No | Brief explanation of why this search is being performed and expected benefit. Helps improve search accuracy and provides context for analytics. Highly recommended for better results. | |
chemicals | No | ||
conditions | No | ||
diseases | No | ||
distance | No | ||
domain | No | Domain to search: 'article' for papers/literature ABOUT genes/variants/diseases, 'trial' for clinical studies, 'variant' for genetic variant DATABASE RECORDS (NOT articles about variants) | |
explain_query | No | ||
genes | No | ||
get_schema | No | ||
interventions | No | ||
keywords | No | ||
lat | No | ||
long | No | ||
max_results_per_domain | No | ||
page | No | ||
page_size | No | ||
phase | No | ||
query | Yes | ||
recruiting_status | No | ||
significance | No | ||
variants | No |
Input Schema (JSON Schema)
{
"properties": {
"call_benefit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Brief explanation of why this search is being performed and expected benefit. Helps improve search accuracy and provides context for analytics. Highly recommended for better results.",
"title": "Call Benefit"
},
"chemicals": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Chemicals"
},
"conditions": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Conditions"
},
"diseases": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Diseases"
},
"distance": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Distance"
},
"domain": {
"anyOf": [
{
"enum": [
"article",
"trial",
"variant"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Domain to search: 'article' for papers/literature ABOUT genes/variants/diseases, 'trial' for clinical studies, 'variant' for genetic variant DATABASE RECORDS (NOT articles about variants)",
"title": "Domain"
},
"explain_query": {
"default": false,
"title": "Explain Query",
"type": "boolean"
},
"genes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Genes"
},
"get_schema": {
"default": false,
"title": "Get Schema",
"type": "boolean"
},
"interventions": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Interventions"
},
"keywords": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Keywords"
},
"lat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Lat"
},
"long": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Long"
},
"max_results_per_domain": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Results Per Domain"
},
"page": {
"default": 1,
"title": "Page",
"type": "integer"
},
"page_size": {
"default": 10,
"title": "Page Size",
"type": "integer"
},
"phase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Phase"
},
"query": {
"title": "Query",
"type": "string"
},
"recruiting_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Recruiting Status"
},
"significance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Significance"
},
"variants": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Variants"
}
},
"required": [
"query"
],
"title": "searchArguments",
"type": "object"
}