Skip to main content
Glama

contact_report

Lists residue contacts between two selections, including distances and interaction types (salt bridges, H-bonds, hydrophobic, pi-stacking). Identifies residues holding a ligand or forming an interface.

Instructions

Lists the residues in contact across two selections, with distances and types.

This is the numeric counterpart to ligand_view and interface_view: instead of drawing the interactions, it reports them — which residue pairs touch, how close they get, and whether the contact is a salt bridge, hydrogen bond, hydrophobic packing or pi-stacking. Use it to answer "what holds this ligand in the pocket" or "which residues form this interface".

Classification uses heavy-atom distance criteria, since crystal structures usually have no hydrogens: salt bridge <= 4.0 A between formally charged sidechain tips, hydrogen bond <= 3.5 A between N/O pairs, hydrophobic <= 4.5 A between C/S pairs, pi-stacking <= 5.5 A between aromatic ring centroids (classified parallel or T-shaped by interplanar angle). A reported hydrogen bond is therefore a donor-acceptor pair with plausible geometry, not one verified against a hydrogen position.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cutoffNoMaximum heavy-atom separation to count as a contact, in Angstrom. 4.0 captures the interactions above; raise toward 5.0 for a looser survey.
max_pairsNoHow many residue pairs to list, closest first. The count of any omitted pairs is always reported.
selection1YesOne side, e.g. "1hsg and resn MK1" (a ligand).
selection2YesThe other side, e.g. "1hsg and polymer".
include_waterNoInclude waters, for water-mediated contacts. Off by default, as ordered waters otherwise dominate the list.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It openly states the tool relies on heavy-atom distance criteria, elaborates on the lack of hydrogens, and cautions that hydrogen bonds are 'plausible geometry' rather than verified. It also explains the default exclusion of water. This is richly transparent behaviorally.

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 concise but information-dense, front-loaded with the main action, then distinguishing context, use cases, and technical criteria. Each sentence earns its place, and the structure flows logically from what to when to how. No wasted words.

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

Completeness5/5

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

Given the tool's complexity and the presence of a rich output schema, the description covers all necessary aspects: purpose, alternatives, parameter semantics, classification details, and limitations. It is completely adequate for an agent to select and invoke the tool correctly without ambiguity.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining how the cutoff relates to the classification thresholds (e.g., '4.0 captures the interactions above') and by explaining why include_water defaults to off. However, most parameter details are already well covered in the schema, so this is a modest enhancement rather than a full compensation.

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 opens with a specific verb+resource: 'Lists the residues in contact across two selections, with distances and types.' It clearly distinguishes itself from sibling tools by calling itself the 'numeric counterpart to ligand_view and interface_view' and provides concrete use cases. This fully satisfies purpose clarity.

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

Usage Guidelines5/5

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

The description explicitly contrasts with drawing tools: 'instead of drawing the interactions, it reports them' and names the alternatives. It also gives question-based use cases ('what holds this ligand in the pocket') and explains the classification criteria, which helps the agent decide when this tool is appropriate. This is strong usage guidance.

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/chemrich/MCPymol'

If you have feedback or need assistance with the MCP directory API, please join our Discord server