Skip to main content
Glama

contact_report

Read-onlyIdempotent

Lists contacting residue pairs between two selections, reporting distances and interaction types to show what holds a ligand in a pocket or forms 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

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

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.1

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the readOnly/idempotent annotations, it discloses the classification thresholds (salt bridge 4.0 Å, H-bond 3.5 Å, hydrophobic 4.5 Å, pi-stacking 5.5 Å) and an important caveat that H-bonds are geometry-plausible donor-acceptor pairs, not hydrogen-verified. It does not discuss invalid selections, cost, or how multi-model/altloc structures are handled.

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

Conciseness4/5

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

Front-loaded with purpose, then alternatives, then methodology. It is dense but each paragraph carries distinct information; the only mild redundancy is restating 'instead of drawing the interactions, it reports them' after already naming the sibling views.

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?

With an output schema present, return shape needn't be described, and the description covers what an agent still needs: what is compared, how contacts are classified, and the classification caveat. Nothing essential for correct invocation is missing.

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 100% and the schema already explains cutoff, max_pairs, and include_water thoroughly. The description adds only indirect meaning (the thresholds imply why 4.0 is the default cutoff) and says nothing about selection1/selection2 syntax beyond what the schema examples provide.

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 opening sentence names a specific verb and resource ('Lists the residues in contact across two selections, with distances and types') and the second sentence explicitly positions it against siblings ligand_view and interface_view as the numeric/reporting counterpart rather than the drawing one.

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?

It states when to use it ('what holds this ligand in the pocket', 'which residues form this interface') and names the alternatives plus the condition that selects them (drawing vs. reporting). It also flags the include_water pitfall (ordered waters dominate the list), which is real usage guidance.

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