Skip to main content
Glama

search_pdb_entity

Search PDBj for structures, chemical components, or BIRD molecules using keywords and structured filters such as experimental method, resolution, ligand, formula, or SMILES.

Instructions

Search PDBj for structures, chemical components, or BIRD molecules.

Returns rich, named fields per hit (not just the title) — for pdb, each result carries the experimental method, resolution, bound ligands, and citation; for cc, the formula, SMILES, and InChI.

Args: db (str): The database to search in. Allowed values are: - "pdb" (Protein Data Bank, macromolecular structures) - "cc" (Chemical Component Dictionary, ligands / small molecules) - "prd" (BIRD, Biologically Interesting Reference Molecule Dictionary, mostly peptides). query (str): Free-text keywords. May be empty when at least one structured filter is supplied. Accepts aliases: search, term, keyword, keywords, search_term, name. If both query and an alias are given with different values, this raises ValueError (pass only one). limit (int): Max results to return, in [0, 500]. Default 20. offset (int): Number of leading results to skip (server-side pagination). Default 0.

Structured filters for db="pdb" (combine freely with `query`):
    method (str): Experimental method — one of "xray", "nmr", "em"
        (cryo-EM), "neutron", "fiber", "electron-crystallography",
        "solid-state-nmr".
    res_min / res_max (float): Resolution bounds in Å.
    source (str): Source organism (e.g. "Homo sapiens").
    ligand (str): Keep entries whose ligand list contains this string.
        Matching is a substring, not an exact CCD code — `ATP` also
        matches `dATP`. Pass the exact ligand name for precision.

Structured filters for db="cc" (chemical search):
    formula (str): Molecular formula in the canonical spaced,
        element-counted form (e.g. "C8 H10 N4 O2"). The unspaced form
        ("C8H10N4O2") is not matched by PDBj.
    smiles (str): SMILES substructure query.

Note: PDBj search hits multiple fields (title, authors, keywords, citation metadata), not just the title — an entry can match even when its title does not contain the query. Verify relevance against the returned fields. Filters that don't apply to the chosen db are ignored.

Returns: str: JSON string {"total": int | null, "results": [ {…fields…} ]}. total is null when PDBj does not provide a count (typical for structured-filter searches) — it is not zero and does not mean "no results"; consult results directly in that case.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dbYes
nameNo
termNo
limitNo
queryNo
ligandNo
methodNo
offsetNo
searchNo
smilesNo
sourceNo
formulaNo
keywordNo
res_maxNo
res_minNo
keywordsNo
search_termNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations, the description carries full burden. It effectively discloses key behaviors: rich return fields per hit, search matching multiple fields, total being null not zero, conflict error if multiple query aliases used, and filter ignoring. However, it omits potential side effects like network calls, rate limits, or authentication needs, which prevents a 5.

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?

The description is well-structured with clear sections (main purpose, Args by db, structured filters, Note, Returns). It is slightly long but every sentence adds value; no redundancy. The front-loading of the purpose aids quick understanding. It could be trimmed slightly but remains efficient.

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 high parameter count (17), no annotations, and an output schema described in text, the description leaves no gap. It covers all parameters, edge cases (total null, conflict error), return format, and includes a helpful note on matching. The output schema is described, satisfying completeness.

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

Parameters5/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 entirely. It does so comprehensively: every parameter is explained with allowed values, defaults, meaning, and nuances (e.g., ligand substring matching, formula spacing, query aliases). No parameter is left undocumented, making this exemplary.

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: 'Search PDBj for structures, chemical components, or BIRD molecules.' It specifies the verb (Search), the resource (PDBj), and differentiates among three database types (pdb, cc, prd) with explanations. This is specific and distinguishes it from siblings that search other sources.

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

Usage Guidelines3/5

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

The description provides detailed context for using the tool's parameters and structured filters, and notes when certain filters are ignored. However, it does not explicitly direct an agent when to use this tool versus sibling tools like ncbi_esearch or search_chembl_*, leaving the decision implicit. There are no 'when not to use' or alternative suggestions.

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/dbcls/togomcp'

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