schrodinger-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SCHRODINGER | No | Install root of Schrödinger Suites (autodetected if not set) | |
| SCHRODINGER_MCP_HOME | No | Directory for job files, scratch, and registry | ~/.local/share/schrodinger-mcp |
| SCHRODINGER_MCP_MAX_JOBS | No | Advisory limit on concurrent heavy jobs | 2 |
| SCHRODINGER_MCP_SYNC_TIMEOUT | No | Seconds before a synchronous operation suggests going async | 120 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| detect_installationA | Report the Schrödinger installation: root path, release/build, licensed products, configured job hosts, and GPU availability. Call this first to confirm the suite is found and to see which workflows are licensed. GPU-accelerated workflows (Desmond MD, FEP+) require an NVIDIA GPU and are unavailable on Apple Silicon. |
| fetch_pdbA | Download an experimental structure from the RCSB PDB by its 4-character ID (e.g. '1HSG'). Returns the path to the downloaded .pdb file. Use protein_prepwizard afterward to prepare it for docking. |
| convert_structureA | Convert a structure file between formats (mae, maegz, sdf, pdb, mol2, smi, cif). Schrödinger infers the input format from its extension. Returns the output path. |
| structure_infoA | Inspect a structure file: number of structures, per-structure atom/bond counts, title, formal charge, molecular weight, chains/residues, and a sample of named properties (e.g. docking scores). Works on any format Schrödinger reads. |
| smiles_to_3dA | Generate single-conformer 3D structures from a list of SMILES strings and write them to one file. Good for quick 3D embedding; for full ligand preparation (ionization, tautomers, stereoisomer enumeration) use the ligprep tool instead. Returns per-molecule results and the output path. |
| split_structuresB | Split a multi-structure file into one file per structure. Returns the list of written files with their titles. |
| merge_structuresC | Concatenate several structure files into one multi-structure file. |
| ligprepA | Prepare ligands for docking: add hydrogens, generate ionization/tautomeric states (via Epik), enumerate stereoisomers, and produce optimized 3D structures. Accepts .smi/.csv/.sdf/.mae. Long-running — returns a job_id. Prepared ligands are written to in the job directory (fetch the path with get_job_results). |
| protein_prepwizardA | Prepare a protein structure for docking with the Protein Preparation Wizard: assign bond orders, add/optimize hydrogens, set het-group protonation states (Epik), optionally fill missing side chains/loops (Prime), and restrained-minimize. Accepts .pdb/.mae/.cif. Long-running — returns a job_id; prepared structure is . |
| epikB | Enumerate protonation/tautomeric states and estimate pKa for ligands with Epik. Accepts a structure file (.mae/.maegz/.sdf — non-Maestro inputs are auto-converted). Long-running — returns a job_id; states with pKa/penalty properties in . |
| confgenA | Generate a conformer ensemble for ligands with ConfGen. Input must contain explicit hydrogens (run ligprep first). Accepts .mae/.maegz/.mol2/.sdf. Long-running — returns a job_id; conformers are written to -out.maegz in the job directory. |
| generate_glide_gridA | Build a Glide docking grid from a prepared receptor. Specify the binding-site
center either explicitly via |
| glide_dockA | Dock prepared ligands into a Glide grid and score them. |
| summarize_dockingA | Parse a Glide pose-viewer file (*_pv.maegz) into a ranked table of GlideScores and key terms per ligand. Returns the best poses sorted by score (lower is better). |
| qikpropA | Predict ~50 ADMET properties (aqueous solubility, Caco-2/MDCK permeability, logP, logBB, CNS activity, HERG, etc.) for ligands with QikProp. Accepts most structure formats. Long-running — returns a job_id; results land as a .CSV plus structures annotated with QP* properties. Use structure_info on the output .mae to read them. |
| compute_descriptorsA | Compute 2D physicochemical molecular descriptors (MW, logP, TPSA, H-bond donors/acceptors, rotatable bonds, ring counts, etc.) with Canvas. Synchronous — returns the path to a CSV of descriptors, one row per molecule. |
| sitemapA | Detect and score potential ligand-binding sites on a protein with SiteMap. Accepts a prepared protein structure (.mae). Long-running — returns a job_id; site maps and SiteScore/Dscore are written to _out.maegz and per-site files. |
| shape_screenA | Shape-based similarity screen: rank the 3D structures in |
| prime_mmgbsaA | Rescore a receptor-ligand complex (or Glide pose-viewer file) with Prime MM-GBSA to estimate binding free energy (dG bind). Accepts a *_pv.maegz or a complex .mae. Long-running — returns a job_id; the output structures carry r_psp_MMGBSA_dG_Bind. |
| jaguar_qmA | Run a Jaguar quantum-mechanics calculation on a small molecule. |
| render_2d_structureB | Render molecules as a 2D structure image (PNG) shown inline. Provide either a list
of |
| analyze_interactionsA | Analyze protein-ligand interactions (hydrogen bonds, salt bridges, pi-pi stacking,
pi-cation) in a complex or Glide pose-viewer (*_pv.maegz) file. For a pose-viewer the
first entry is the receptor and |
| ligand_interaction_diagramA | Render a 2D ligand-interaction diagram (PNG, shown inline) for a protein-ligand complex or Glide pose-viewer file: the ligand drawn in 2D with the atoms that make interactions highlighted by type (blue=H-bond, red=salt bridge, green=pi-pi, orange=pi-cation) and a legend mapping them to protein residues. Also writes the PNG. |
| generate_2d_reportA | Build a 2D structure report (PDF or HTML) of every structure in a file, each drawn
in 2D and labeled with properties (e.g. docking scores from a pose-viewer). Great for
sharing docking/screening results. |
| get_job_statusA | Check a submitted job. Returns state (submitted/running/completed/failed/ canceled), elapsed time, exit code, and a tail of the job log. Poll this after submitting any long-running workflow. |
| get_job_resultsA | Fetch a finished job's outputs: the list of produced files (poses, prepped structures, logs) and its final state. For docking jobs, follow up with summarize_docking on the produced pose-viewer (*_pv.maegz) file for a ranked table. |
| cancel_jobB | Stop a running job. Terminates the job's process group; the job directory and any partial outputs are left in place. |
| list_jobsA | List known async jobs, most recent first. Optionally filter by state (submitted/running/completed/failed/canceled). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| installation_resource | Schrödinger installation summary: root, version, licensed products, hosts, GPU. |
| jobs_resource | Listing of all known async jobs and their states. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nimieeee/schrodinger-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server