Overview
NovoMCP is a computational chemistry engine intended for drug-discovery and materials-science workflows. Its MCP connector and REST API let clients request chemistry operations from a shared backend, while CLI and visual interfaces provide alternative access. The engine wraps scientific packages and services rather than replacing them: the README names RDKit, GROMACS, AutoDock-GPU, OpenFold, Chai, Boltz, Gnina, xTB, ANI-2x, AIMNet2, and MACE among its dependencies or integrations.
A documented starting workflow submits a SMILES string to get_molecule_profile. The described response includes molecular properties, structural alerts, and ADMET predictions when the relevant prediction service is connected. Local property calculations use RDKit; ADMET depends on wiring the addie-models service. Beyond profiling, the source describes literature and database searches, library screening, and optional docking, molecular dynamics, quantum calculations, and protein-structure prediction. A staged discovery funnel coordinates tool execution, with each call carrying a funnel_id and reaching an audit sink.
Availability depends on deployment configuration. A bare local installation exposes a subset of tools, while additional capabilities require optional services; the dashboard reports their status and configuration requirements. Local defaults omit authentication and credit accounting and write audit records to a file. Hosted deployments use separately configured authentication, metering, and auditing implementations. The excerpts provide setup and architecture descriptions, not scientific validation results. Repository code is available under split terms: most wrappers and interfaces use Apache-2.0, whereas the orchestration core currently uses Business Source License 1.1 with a specified future conversion.
Key Features
- MCP access for compatible clients and a curated REST interface using `POST /v1/tools/{name}`, with an OpenAPI description at `/v1/openapi.json`.
- SMILES-based molecular profiling through `get_molecule_profile`, with local RDKit properties and service-dependent ADMET predictions.
- Documented search tools for ChEMBL, clinical trials, bioRxiv, and PubMed literature, alongside library screening and molecular-dynamics pre-flight checks.
- Optional service wrappers for docking, molecular dynamics, quantum calculations, neural-network potentials, and protein-structure prediction.
- Discovery-funnel orchestration with `funnel_id` tagging and configurable audit sinks; local auditing writes JSON-lines to `~/.novo/audit.jsonl`.
- A Next.js dashboard for molecule profiles, engine and service status, and configuration of keys, compliance, observability, and data connectors.
Use Cases
- Suggested evaluation: submit known molecular SMILES to inspect property and structural-alert outputs, then assess separately configured ADMET predictions.
- Suggested evaluation: combine literature and ChEMBL searches with library screening to support early candidate triage.
- Suggested evaluation: connect docking or molecular-dynamics services and examine how their outputs fit into a staged discovery workflow.
- Suggested evaluation: inspect audit records to assess traceability of chemistry tool calls across an MCP-driven workflow.
How to Use
- Read the official README and choose local or hosted operation. It specifies Python 3.10–3.12 for the backend; treat this as a documented requirement, not independently tested compatibility.
- Obtain the code from the NovoMCP repository. Follow the README’s virtual-environment, dependency-installation, and
main_https.pystartup procedure. Its clone example contains an organization placeholder, so use the actual repository link. - Follow the README’s
get_molecule_profileexample with its supplied aspirin SMILES. Inspect properties and alerts, and check whether the ADMET service is connected before expecting prediction output. - Select MCP, REST, or the dashboard as your interface. Consult the README’s dashboard instructions and capability display before configuring optional scientific services.
- Evaluate outputs against appropriate reference cases and inspect local audit records. Before deployment or redistribution, read both the top-level license and core license, since their scopes and conditions differ.