Skip to main content
Glama

ligprep

Prepare ligands for docking by adding hydrogens, generating ionization/tautomeric states via Epik, enumerating stereoisomers, and producing optimized 3D structures. Accepts .smi, .csv, .sdf, .mae files.

Instructions

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 <output_name> in the job directory (fetch the path with get_job_results).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
input_pathYes
use_epikNo
phNo
ph_toleranceNo
max_stereoisomersNo
output_nameNoligprep_out.maegz
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the asynchronous nature (long-running, returns job_id) and that output is written to a file in the job directory. This is sufficient for an agent to understand the tool's behavior, though it could mention if any destructive actions occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, well-organized with critical information front-loaded. Every sentence adds value: first sentence explains the process, second sentence clarifies the asynchronous behavior and output retrieval.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, but the description explains the return value (job_id) and how to locate results (via get_job_results). It covers the main aspects, though more detail on the output file format or structure would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It mentions input_path by format, use_epik, ph, ph_tolerance, max_stereoisomers, and output_name implicitly through the description of preparation steps and output handling. However, it does not explicitly explain each parameter's role or default behavior, leaving room for ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: prepare ligands for docking by adding hydrogens, generating ionization/tautomeric states, enumerating stereoisomers, and producing optimized 3D structures. It also lists accepted input formats (.smi/.csv/.sdf/.mae), distinguishing it from siblings like epik or confgen that focus on specific sub-steps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes the tool is long-running and returns a job_id, with output retrievable via get_job_results. While it doesn't explicitly state when to use or not use alternatives, the context implies usage before docking, and the reference to get_job_results guides the agent on next steps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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