ChEMBL Molecule Search by Name or Keyword
chembl/molecule-search
Searches ChEMBL molecules by name, synonym or keyword (for example aspirin, insulin, imatinib) and returns a compact, relevance-ordered page: ChEMBL id, preferred name, molecule type, highest clinical phase, first approval year, therapeutic and withdrawn flags and calculated properties such as molecular formula and weight. Up to 25 results per page, with offset paging. Use molecule-lookup on a returned id for the full record. ChEMBL data, CC BY-SA 3.0, served by Eden Engine; not an official ChEMBL or EMBL-EBI product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Data from ChEMBL, EMBL-EBI, licensed under CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/). Served by Eden Engine; not an official ChEMBL or EMBL-EBI product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "chembl/molecule-search" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "chembl/molecule-search" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "chembl/molecule-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "chembl/molecule-search", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Search text: a drug or compound name, synonym, or keyword, for example aspirin or tyrosine kinase inhibitor. Two to 100 characters."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Records per page, 1 to 25. Defaults to 10."
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Records to skip for paging; use the `next` path in `page_meta` as a guide. Leave out for the first page."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"molecules",
"page_meta"
],
"properties": {
"molecules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"max_phase": {
"type": [
"string",
"null"
]
},
"pref_name": {
"type": [
"string",
"null"
]
},
"molecule_type": {
"type": [
"string",
"null"
]
},
"first_approval": {
"type": [
"integer",
"null"
]
},
"withdrawn_flag": {
"type": [
"boolean",
"null"
]
},
"therapeutic_flag": {
"type": [
"boolean",
"null"
]
},
"molecule_chembl_id": {
"type": "string"
},
"molecule_properties": {
"type": [
"object",
"null"
],
"properties": {
"hba": {
"type": [
"integer",
"null"
]
},
"hbd": {
"type": [
"integer",
"null"
]
},
"psa": {
"type": [
"string",
"null"
]
},
"rtb": {
"type": [
"integer",
"null"
]
},
"alogp": {
"type": [
"string",
"null"
]
},
"full_mwt": {
"type": [
"string",
"null"
]
},
"ro3_pass": {
"type": [
"string",
"null"
]
},
"heavy_atoms": {
"type": [
"integer",
"null"
]
},
"mw_freebase": {
"type": [
"string",
"null"
]
},
"qed_weighted": {
"type": [
"string",
"null"
]
},
"aromatic_rings": {
"type": [
"integer",
"null"
]
},
"full_molformula": {
"type": [
"string",
"null"
]
},
"np_likeness_score": {
"type": [
"string",
"null"
]
},
"num_ro5_violations": {
"type": [
"integer",
"null"
]
}
},
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "Matching molecules, most relevant first, in compact form (no structures, synonyms or cross-references); a query with no match returns an empty list."
},
"page_meta": {
"type": "object",
"required": [
"limit",
"offset",
"total_count"
],
"properties": {
"next": {
"type": [
"string",
"null"
],
"description": "Relative path of the next page, null on the last page."
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
},
"previous": {
"type": [
"string",
"null"
],
"description": "Relative path of the previous page, null on the first page."
},
"total_count": {
"type": "integer"
}
},
"description": "Paging block. `next` is a relative path on the ChEMBL service, or null on the last page; `total_count` is the number of matching records.",
"additionalProperties": true
}
},
"description": "Matching molecules, most relevant first, in compact form (no structures, synonyms or cross-references); a query with no match returns an empty list.",
"additionalProperties": true
}