Skip to main content
Glama
PDBeurope

PDBe MCP Servers

Official
by PDBeurope

PDBe MCP Servers

A set of Model Context Protocol (MCP) servers that provides seamless access to the Protein Data Bank in Europe (PDBe) API and PDBe Search. These servers expose PDBe's comprehensive structural biology data as MCP tools, enabling direct integration with any AI client that supports MCP.

The package also includes an advanced PDBe Graph server for users who run their own local PDBe-KB Neo4j graph database. PDBe does not provide a public running graph database instance for this MCP server to query, so most users should start with the API and Search servers.

Features:

  • PDBe API Server: Access core structural data through REST API endpoints

  • PDBe Search Server: Perform advanced Solr-based searches across structural data

  • PDBe Graph Server: Inspect the graph schema and, with a local PDBe-KB Neo4j setup, query complex relationships and molecular interactions

Prerequisites

  • Python 3.10+ - Required for the server runtime

  • uv - Fast Python package manager and dependency resolver

Related MCP server: Structural Biology MCP Server

Installation

Quick Start

Run directly from PyPI:

uvx pdbe-mcp-server

The tool is available on PyPI and can be run directly with uvx without any installation step.

Alternative: Local Development Installation

For development work or customization:

  1. Clone and navigate to the repository:

    git clone https://github.com/PDBeurope/PDBe-MCP-Servers.git
    cd PDBe-MCP-Servers
  2. Create a virtual environment:

    uv venv
  3. Install with uv:

    uv pip install .

AI Client Integration

Configuration

  1. Open your AI client's MCP configuration.

    MCP-compatible clients use different settings locations and file formats. Many JSON-based clients use an mcpServers object, while some clients provide commands or a settings UI for adding servers.

  2. Add the recommended PDBe MCP server configuration.

    For JSON-based clients that support mcpServers, add:

    For PyPI installation (recommended):

    {
      "mcpServers": {
        "PDBe API Server": {
          "command": "uvx",
          "args": [
            "pdbe-mcp-server",
            "--server-type",
            "pdbe_api_server"
          ]
        },
        "PDBe Search Server": {
          "command": "uvx",
          "args": [
            "pdbe-mcp-server",
            "--server-type",
            "pdbe_search_server"
          ]
        }
      }
    }

    For local development installation:

    {
      "mcpServers": {
        "PDBe API": {
          "command": "/usr/local/bin/uv",
          "args": [
            "run",
            "--directory",
            "/path/to/your/PDBe-MCP-Servers",
            "pdbe-mcp-server",
            "--server-type",
            "pdbe_api_server"
          ]
        },
        "PDBe Search": {
          "command": "/usr/local/bin/uv",
          "args": [
            "run",
            "--directory",
            "/path/to/your/PDBe-MCP-Servers",
            "pdbe-mcp-server",
            "--server-type",
            "pdbe_search_server"
          ]
        }
      }
    }

Note:

  • For the PyPI installation method, ensure uvx is available in your PATH (this comes with uv)

  • For local development, ensure that uv is installed and the /path/to/your/PDBe-MCP-Servers matches your actual directory

Add the graph server only if you have a local PDBe-KB Neo4j graph database configured. See Advanced Graph Server Configuration.

  1. Restart or reload your AI client to load the new configuration.

Antigravity Example

In Antigravity, open Manage MCP Servers and select View raw config, or edit ~/.gemini/antigravity/mcp_config.json, then add the PDBe server entries:

{
  "mcpServers": {
    "PDBe API Server": {
      "command": "uvx",
      "args": [
        "pdbe-mcp-server",
        "--server-type",
        "pdbe_api_server"
      ]
    },
    "PDBe Search Server": {
      "command": "uvx",
      "args": [
        "pdbe-mcp-server",
        "--server-type",
        "pdbe_search_server"
      ]
    }
  }
}

Codex Example

In Codex, add the PDBe MCP servers with the CLI:

codex mcp add pdbe-api -- uvx pdbe-mcp-server --server-type pdbe_api_server
codex mcp add pdbe-search -- uvx pdbe-mcp-server --server-type pdbe_search_server
codex mcp list

For a local development checkout, point Codex at the repository directory:

codex mcp add pdbe-api-local -- uv run --directory /path/to/your/PDBe-MCP-Servers pdbe-mcp-server --server-type pdbe_api_server
codex mcp add pdbe-search-local -- uv run --directory /path/to/your/PDBe-MCP-Servers pdbe-mcp-server --server-type pdbe_search_server

Using in an AI Client

Once configured, you can access PDBe tools directly in your AI client conversations:

  • Search for protein structures: "Find structures for UniProt accession P12345"

  • Query structure releases: "Show me all structures released this month grouped by experimental method"

  • Advanced search queries: "Find all X-ray crystal structures with resolution better than 2.0 Å from 2024"

The tools will appear in your AI client's tools interface, where you can enable or disable them as needed.

Server Types

  • pdbe_api_server: Core PDBe REST API access with essential structural data

  • pdbe_search_server: Advanced Solr-based search capabilities for complex structural queries and data analysis

  • pdbe_graph_server: Advanced/local server for inspecting the PDBe-KB graph schema and optionally executing read-only Cypher queries against a locally configured Neo4j database

Tool Reference

API Server Tools

The pdbe_api_server generates tools from the PDBe API OpenAPI specification. Use this server for core PDBe REST API data, such as entries, assemblies, molecules, ligands, publications, and validation information.

Search Server Tools

get_pdbe_search_schema

Retrieves the complete Solr search schema showing all available fields, data types, and descriptions. Use this to understand what fields you can search and filter on.

Example usage:

"Show me the search schema for PDBe structures"

run_pdbe_search_query

Execute Solr-style search queries with flexible field selection, filter queries, facets, grouping, sorting, and pagination options.

Parameters:

  • query (required): Raw Solr query string passed as q (e.g., *:*, pdb_id:1cbs, text:*kinase*, resolution:[0 TO 2.0])

  • fl (optional): Field list as a string or array of field names to include in results

  • filters (optional): Backwards-compatible alias for fl

  • fq (optional): Filter query string or array of filter query strings

  • sort (optional): Sort criteria (e.g., release_date desc, resolution asc)

  • start (optional): Starting index for pagination (default: 0)

  • rows (optional): Number of results to return (default: 10)

  • facet (optional): Enable Solr faceting

  • facet_fields (optional): Field facet string or array, sent as facet.field

  • facet_queries (optional): Query facet string or array, sent as facet.query

  • facet_limit, facet_mincount, facet_sort (optional): Common facet controls

  • group (optional): Enable Solr grouping

  • group_field (optional): Grouping field string or array, sent as group.field

  • group_limit, group_offset, group_sort (optional): Common grouping controls

  • params (optional): Object of additional Solr parameters for advanced use

Example queries:

{
  "query": "*:*",
  "fq": ["release_date:[2025-10-01T00:00:00Z TO 2025-10-31T23:59:59Z]"],
  "group": true,
  "group_field": "experimental_method",
  "rows": 0
}

{
  "query": "*:*",
  "fq": ["experimental_method:\"X-ray diffraction\"", "resolution:[0 TO 2.0]"],
  "fl": ["pdb_id", "title", "resolution", "experimental_method"],
  "sort": "resolution asc",
  "rows": 20
}

{
  "query": "text:*ATP*",
  "facet": true,
  "facet_fields": ["ligand_name", "experimental_method"],
  "facet_mincount": 1,
  "rows": 10
}

Search Field Examples

Common searchable fields include:

  • pdb_id: PDB entry identifier

  • experimental_method: Structure determination method

  • release_date: Structure release date

  • resolution: Structure resolution (Å)

  • molecule_type: Type of molecule (protein, DNA, RNA, etc.)

  • organism_scientific_name: Source organism

  • ligand_name: Bound ligands

  • title: Structure title/description

Use get_pdbe_search_schema to discover all available fields and their descriptions.

Development and Advanced Usage

Development Installation

For contributing or development work, first clone the repository and then install in editable mode:

git clone https://github.com/PDBeurope/PDBe-MCP-Servers.git
cd PDBe-MCP-Servers
uv sync --all-extras --dev

Node.js (optional) - For using the MCP Inspector development tool

Starting the Server Manually

Most users should run the API server, the Search server, or both.

PDBe API Server

Provides access to core PDBe REST API endpoints:

Using PyPI installation:

uvx pdbe-mcp-server --server-type pdbe_api_server --transport sse

Using local development:

uv run pdbe-mcp-server --server-type pdbe_api_server --transport sse

PDBe Search Server

Provides advanced Solr-based search and analytics capabilities:

Using PyPI installation:

uvx pdbe-mcp-server --server-type pdbe_search_server --transport sse

Using local development:

uv run pdbe-mcp-server --server-type pdbe_search_server --transport sse

The server will start at http://localhost:8000/sse by default.

Advanced Graph Server Configuration

The pdbe_graph_server is intended for users who have downloaded and configured the PDBe-KB graph database in their own environment. PDBe does not provide a public running Neo4j instance for this MCP server to query.

To set up the graph database locally, follow the PDBe-KB graph documentation: https://www.ebi.ac.uk/pdbe/pdbe-kb/graph

Once your local Neo4j database is running, set these environment variables before starting the graph server:

  • NEO4J_URL: The Neo4j database URL (e.g., bolt://localhost:7687)

  • NEO4J_USERNAME: The Neo4j username

  • NEO4J_PASSWORD: The Neo4j password

  • NEO4J_DATABASE (optional): The database name. When set, this is passed to the Neo4j driver for Neo4j 4+. For Neo4j 3.5 compatibility, omit this variable to use the default database.

The Neo4j driver is included in this package's dependencies.

MCP Client Graph Configuration

Add this server only when the environment variables above are available to your AI client.

For PyPI installation:

{
  "mcpServers": {
    "PDBe Graph Server": {
      "command": "uvx",
      "args": [
        "pdbe-mcp-server",
        "--server-type",
        "pdbe_graph_server"
      ],
      "env": {
        "NEO4J_URL": "bolt://localhost:7687",
        "NEO4J_USERNAME": "neo4j",
        "NEO4J_PASSWORD": "your-password"
      }
    }
  }
}

For local development installation:

{
  "mcpServers": {
    "PDBe Graph": {
      "command": "/usr/local/bin/uv",
      "args": [
        "run",
        "--directory",
        "/path/to/your/PDBe-MCP-Servers",
        "pdbe-mcp-server",
        "--server-type",
        "pdbe_graph_server"
      ],
      "env": {
        "NEO4J_URL": "bolt://localhost:7687",
        "NEO4J_USERNAME": "neo4j",
        "NEO4J_PASSWORD": "your-password"
      }
    }
  }
}

Codex example:

codex mcp add pdbe-graph \
  --env NEO4J_URL=bolt://localhost:7687 \
  --env NEO4J_USERNAME=neo4j \
  --env NEO4J_PASSWORD=your-password \
  -- uvx pdbe-mcp-server --server-type pdbe_graph_server

Starting the Graph Server Manually

Using PyPI installation:

uvx pdbe-mcp-server --server-type pdbe_graph_server --transport sse

Using local development:

uv run pdbe-mcp-server --server-type pdbe_graph_server --transport sse

Graph Server Tools

pdbe_graph_nodes

Retrieves metadata about all node types (labels) defined in the PDBe graph database schema. This uses the public graph schema and does not require local Neo4j credentials.

Example usage:

"Show me all node types in the PDBe graph database"

pdbe_graph_edges

Retrieves metadata about all relationship types (edges) defined in the PDBe graph database schema. This uses the public graph schema and does not require local Neo4j credentials.

Example usage:

"Show me all relationship types in the PDBe graph database"

pdbe_graph_node_relationships

Verifies selected node labels and returns the incoming, outgoing, and self-loop relationship patterns defined for each label. This uses the public graph schema and does not require local Neo4j credentials.

Parameters:

  • node_labels (required): List of exact, case-sensitive node labels to verify.

Example usage:

"Verify relationships for Entry, Entity, and UniProt"

pdbe_graph_example_queries

Retrieves example Cypher queries that demonstrate how to interact with the PDBe graph database. This uses the public graph schema and does not require local Neo4j credentials.

Example usage:

"Give me example Cypher queries for exploring the PDBe graph"

pdbe_run_cypher_query

Execute custom read-only Cypher queries against your configured Neo4j graph database. This tool is only available when Neo4j environment variables are configured.

Parameters:

  • cypher_query (required): The Cypher query to execute. Only MATCH and OPTIONAL MATCH queries are allowed.

Example usage:

"Execute query: MATCH (s:Structure) WHERE s.PDB_ID = '1abc' RETURN s.TITLE as title"
"Find ligands: MATCH (s:Structure)-[:HAS_LIGAND]->(l:Ligand) WHERE s.PDB_ID = '1abc' RETURN l.name"

Security: Only read-only queries are allowed (MATCH, OPTIONAL MATCH). Write operations (MERGE, CREATE, DELETE, REMOVE, SET, LOAD CSV, FOREACH) are blocked to prevent accidental data modification.

The tool response is formatted as JSON by default, but can be converted to TOON format by setting TOON_ENABLED=true.

Development and Testing

Explore available tools and test API responses:

npx @modelcontextprotocol/inspector

The MCP Inspector provides an interactive interface to browse tools, test queries, and validate responses before integrating with your application.

Server Configuration

Transport Options

  • stdio: Default mode - Optimal for direct MCP client integration

  • SSE (Server-Sent Events): --transport sse - Best for web-based clients and development

Experimental TOON Output

You can enable experimental TOON-formatted output for PDBe API tool responses and Neo4j Cypher query results by setting the environment variable TOON_ENABLED=true. See the TOON format specification at https://toonformat.dev/.

  • If TOON encoding fails for any reason, the server falls back to JSON output.

  • This feature is experimental and intended for opt-in usage only.

Troubleshooting

Common Issues

"Command not found" errors:

  • Ensure uv is installed and in your PATH

  • Verify the full path to uv in your AI client's MCP configuration

Missing tools in your AI client:

  • Restart or reload your AI client after configuration changes

  • Check your AI client's MCP server logs for errors

  • Verify JSON syntax in your configuration file

Resources

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.

Support

For questions, bug reports, or feature requests:

Available Tools

33 tools
get_annotations_api_pdb_entry_annotations__pdb_id___entity_iA
Read-only

Returns residue-level functional and biophysical annotations for a specified PDB Entity ID, aggregated from multiple PDBe-KB partner resources (e.g., SASA, hydrophobicity, disorder, flexibility, EM local resolution). Data returned includes annotation type, per-residue scores, confidence metrics, group labels, and the originating resource URL, as well as the Best Chain ID for the entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds behavioral context by detailing the returned data: annotation types, per-residue scores, confidence metrics, group labels, originating resource URL, and Best Chain ID. This goes beyond what annotations provide, though it does not discuss error handling or limits. No contradictions with annotations.

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 a single paragraph that efficiently conveys purpose, examples of data resources, and output fields. It is front-loaded with the main action. While informative, it is slightly dense; breaking into two sentences might improve scanability. Still, every part earns its place.

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?

Given no output schema, the description sufficiently explains what data is returned (annotation types, scores, confidence metrics, etc.). It mentions the aggregated nature and key fields like Best Chain ID. For a tool with two well-documented parameters and a clear read behavior, this is complete enough for an agent to understand the output. Minor missing details (e.g., pagination) are not critical.

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?

The input schema covers 100% of parameters (pdb_id and entity_id) with descriptions. The tool description adds minimal extra meaning: it mentions 'specified PDB Entity ID' which reinforces entity_id's role, but does not provide new constraints or formats beyond the schema. For high schema coverage, a baseline of 3 is appropriate.

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 'Returns residue-level functional and biophysical annotations for a specified PDB Entity ID', specifying the verb ('Returns'), resource ('annotations'), and scope ('residue-level', 'functional and biophysical'). It lists example annotation types (SASA, hydrophobicity, etc.) and mentions aggregation from multiple PDBe-KB resources. This distinguishes it from sibling tools like get_chains (which returns chain info) or get_variation (returns variation data).

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 implies usage for obtaining annotations for a PDB entity, but it does not explicitly state when to use this tool versus alternatives (e.g., get_secondary_structure for secondary structure, get_variation for variations). No when-not-to-use or prerequisite guidance is provided. The context is clear but lacks explicit disambiguation.

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

get_best_non_overlapping_structures_observed_api_uniprot_besA
Read-only

Retrieve a list of non-overlapping PDB chains that cover the largest number of observed residues for a given UniProt accession.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

A3.7/5.0
Behavior4/5

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

The description adds value beyond the annotations by explaining the tool returns 'non-overlapping PDB chains that cover the largest number of observed residues'. It does not contradict annotations (readOnlyHint=true). It provides behavioral context about the output nature, though it lacks details about edge cases (e.g., no structures found).

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 a single sentence of 18 words, with no redundant information. It is concise, front-loads the purpose, and earns its place.

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

Completeness3/5

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

For a simple tool with one parameter and no output schema, the description is fairly complete. However, it does not describe the return format (e.g., what fields or how results are structured), leaving a gap that could affect usability. The annotations are sparse, so the description could have done more.

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% with one parameter 'uniprot_accession' described minimally. The tool description adds context about the parameter's purpose (to retrieve PDB chains) but does not provide additional format hints or examples. Baseline 3 is appropriate as the schema already documents the parameter.

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 retrieves a list of non-overlapping PDB chains covering the largest number of observed residues for a given UniProt accession. It uses a specific verb ('retrieve') and resource (non-overlapping PDB chains), and distinguishes itself from the sibling tool 'get_best_structures_observed' by mentioning 'non-overlapping'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions. Without this, an agent might struggle to choose between this and similar tools.

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

get_best_structures_observed_api_uniprot_best_structures__unB
Read-only

Provides a ranked list of PDB structures mapped to the given UniProt accession based on an internal quality score (based on data quality, model quality and resolution ). Each structure entry includes the experimental method, taxonomic origin, resolution, PDB ID and chain, entity and assembly identifiers, observed UniProt alignment segments, model residue ranges, and computed coverage of the UniProt sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the tool is clearly a safe read operation. The description adds context about the internal quality scoring and output fields, but does not disclose additional behavioral traits like rate limits or data freshness. It does not contradict annotations.

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 a single sentence that is relatively concise and front-loaded with the key purpose. However, it is somewhat long and could be broken into multiple sentences for clarity. No unnecessary details, but could be more streamlined.

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?

Given the tool's simplicity (one parameter, no output schema), the description adequately lists the output fields and explains the ranking basis. It does not mention pagination or limits, but these may not be critical. Overall, it provides a good mental model of what the tool returns.

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?

With schema description coverage at 100% and only one parameter (uniprot_accession), the schema already fully documents the parameter. The tool description does not add extra semantic information about the parameter beyond what the schema provides. The baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool provides a ranked list of PDB structures for a given UniProt accession based on quality scores. It specifies the output includes identifiers and coverage. However, it does not explicitly differentiate from the very similar sibling get_best_non_overlapping_structures_observed_api_uniprot_bes, but the purpose is still specific.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or context. There is no explicit 'when to use' or 'when not to use' information.

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

get_binding_sites_api_pdb_entry_binding_sites__pdb_id___entiA
Read-only

Returns ligand-binding site annotations for a specified PDB entity, including metadata such as Best Chain ID, Scaffold ID, and the total number of protein residues that interact with each ligand (based on ARPEGGIO). For each ligand, the endpoint provides its CCD ID, name, and a list of interacting residues grouped by the Bound Molecule ID they interact with.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds context about the returned fields but does not disclose additional behavioral traits such as authentication requirements, rate limits, or potential performance implications.

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 concise at a few sentences, front-loaded with the main action, and avoids unnecessary repetition. It could be slightly tighter but is efficient.

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?

Given the simple input parameters, comprehensive annotations covering safety, and the detailed explanation of output fields, the description provides sufficient context for using the tool effectively, though it omits potential edge cases or error conditions.

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?

Input schema has 100% description coverage for both required parameters. The description does not add new information about parameters beyond what the schema already provides, so baseline score of 3 applies.

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 specifies the verb (returns) and resource (ligand-binding site annotations for a specified PDB entity), and distinguishes this tool from siblings that focus on sequences, ligands, or other annotations.

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 states what the tool returns, implying it should be used when ligand-binding site annotations for a PDB entity are needed, but it does not provide explicit guidance on when to choose this over alternative tools or exclude certain use cases.

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

get_bound_molecule_interactions_api_pdb_bound_molecule_interA
Read-only

Returns composition and high-level interactions for a specific Bound Molecule ID (e.g., “bm1”) of a PDB entry ID. This includes its full composition (all covalently linked ligands with their CCD IDs), internal connectivity between those ligands (e.g: [“F1”, “F6”] means bound ligands identified by author_residue_number “1” and “6” in chain_id “F” are covalently bound), and all detected interactions between the bound molecule and surrounding residues or ligands (e.g., covalent, hydrogen-bond, polar, van der Waals, hydrophobic, and atom-plane interactions) calculated for the preferred assembly of the PDB entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
bm_idYesBound molecule ID (can be obtained from the output of bound_molecules call) title: Bm Id description: Bound molecule ID (can be obtained from the output of bound_molecules call)
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true; the description adds details on the returned composition, connectivity, and interaction types, and mentions calculation for the preferred assembly, providing behavioral context beyond annotations.

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 a single paragraph that front-loads the purpose and provides sufficient detail without excessive verbosity. It is slightly long but well-structured.

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?

Given the complexity of the output and no output schema, the description adequately explains what the tool returns, including examples of connectivity and interaction types. It covers essential context.

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 description coverage is 100%; both parameters are described in the schema. The tool description repeats some of that information but does not add new semantic detail beyond the schema.

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 returns composition and high-level interactions for a specific bound molecule ID of a PDB entry, distinguishing it from sibling tools like get_bound_molecules that list bound molecules.

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 implies usage after obtaining bm_id from the bound_molecules call, but does not explicitly state when to use vs alternatives or when not to use.

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

get_bound_molecules_api_pdb_bound_molecules__pdb_id__getB
Read-only

Returns information for all bound molecules for a given PDB entry ID, including carbohydrate polymers. Details include each Bound Molecule IDs (e.g: “bm1”, “bm2”), composition (covalently bound ligands with unique CCD IDs) and internal connectivity, or which bound are covalently bound together (e.g: [“F1”, “F6”] means bound ligands identified by author_residue_number “1” and “6” in chain_id “F” are covalently bound).

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description doesn't need to repeat safety. It adds useful context about output structure (IDs, composition, connectivity) but doesn't discuss any behavioral traits beyond what annotations provide.

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 three sentences, efficiently packed with key details. It front-loads the main purpose and avoids unnecessary words.

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?

Given the low complexity (one parameter, no output schema), the description adequately explains the output format. It lacks pagination or limit info, but that may not be needed for this tool.

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 sole parameter pdb_id is described in the schema. The description does not add additional meaning or usage context beyond the schema.

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

Purpose4/5

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

The description clearly states it returns information for all bound molecules for a given PDB entry ID, including carbohydrate polymers. It specifies the resource and output details, but does not explicitly differentiate from sibling tools like get_molecules_api_pdb_entry_molecules__pdb_id__get.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, nor any prerequisites or limitations. The description only explains what it does, not when it's appropriate.

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

get_chains_api_pdb_entry_chains__pdb_id___entity_id__getA
Read-only

Returns detailed chain-level annotations for a specified PDB Entity ID, including all of their polymer chains, their residue ranges, and per-residue validation information, along with metadata such as Best Chain ID and author-provided chain identifiers (Obs: chainId in additionalData response refers to struct_asym_id not the author-provided auth_asym_id).

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by clarifying that chainId in the response maps to struct_asym_id, not auth_asym_id, and details the data contents (residue ranges, validation info). This goes beyond the annotations.

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 a single sentence that front-loads the main purpose, but it is a bit long and includes a parenthetical note that could be separated. Still efficient and focused.

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?

Given no output schema, the description adequately covers the response contents (polymer chains, residue ranges, validation info, Best Chain ID, author-provided IDs) and includes a caveat about chainId. Could mention optional filters or pagination, but not critical.

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 description does not add additional meaning to the parameters beyond what the schema already provides (pdb_id: '4-character PDB id code', entity_id: 'Entity id (molecule number in mmcif-speak)').

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 'Returns detailed chain-level annotations for a specified PDB Entity ID' with specifics like polymer chains, residue ranges, validation info, and metadata. This distinguishes it from sibling tools like get_annotations_api (general annotations) and get_domains_api (domain info).

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 implies when to use it (when chain-level annotations with residue detail are needed) but does not explicitly contrast with alternatives like get_annotations_api or get_domains_api. No 'when not to use' guidance is given.

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

get_compound_in_pdb_get_api_pdb_compound_in_pdb__hetcode__geB
Read-only

This call returns a list of PDB entries that contain the given chemical component as defined in the PDB Chemical Component Dictionary. The list includes PDB entries where the component appears either as a standalone chemical component or as part of a larger entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
hetcodeYesHetcode for the compound title: Hetcode description: Hetcode for the compound

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false, covering safety. The description adds context about the compound dictionary and inclusion of larger entities but no further behavioral traits like pagination or limits.

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?

Two concise sentences, front-loaded with the key purpose. No extraneous information.

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?

For a simple tool with one parameter and clear annotations, the description is complete enough. It explains the input and output scope without needing to detail return format.

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% for the single parameter, so the description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool returns a list of PDB entries containing a given chemical component, specifying the source dictionary and inclusion criteria. However, it does not differentiate from similar sibling tools like get_ligand_summary.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only explains what the tool does, with no when-not, exclusions, or prerequisites.

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

get_compound_interaction_api_compound_interaction__hetcode__A
Read-only

Returns aggregated interaction counts for protein-ligand interactions, derived from all PDB structures containing the given chemical component. The response reports how frequently a ligand atom interacts with specific amino-acid residues across the PDB, grouped by interaction type.

ParametersJSON Schema
NameRequiredDescriptionDefault
hetcodeYesHetcode for the compound title: Hetcode description: Hetcode for the compound

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description confirms it is a safe read operation. It adds value beyond annotations by explaining the aggregation mechanism and the output format (grouped by interaction type). No side effects or rate limits are mentioned, but the description is sufficient.

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 with no filler. It front-loads the main action and then specifies the output content efficiently. Every sentence adds value.

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?

For a tool with one parameter and no output schema, the description explains the aggregated data well. It mentions the source (all PDB structures), the granularity (ligand atom to residue), and the grouping (by interaction type). It does not compare with siblings, but the tool is simple enough that this is not a major gap.

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?

The schema covers the single parameter 'hetcode' with a description. The tool description does not add any additional meaning, format, or constraints beyond what the schema provides. Baseline 3 is appropriate due to full schema coverage.

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 verb ('Returns'), the resource ('aggregated interaction counts'), and the scope ('derived from all PDB structures containing the given chemical component'). It distinguishes from siblings by specifying it focuses on protein-ligand interaction counts per residue and interaction type, which is unique among the listed sibling tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like get_compound_intx_proteins or get_similar_ligands. It does not specify prerequisites or exclusions.

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

get_compound_intx_proteins_api_compound_uniprot__hetcode__geA
Read-only

Returns the protein chains in PDB entries that interact with the given chemical component and are mapped to UniProt, including the associated UniProt metadata for these proteins.

ParametersJSON Schema
NameRequiredDescriptionDefault
hetcodeYesHetcode for the compound title: Hetcode description: Hetcode for the compound

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds that it returns protein chains with UniProt metadata, but does not disclose any additional behavioral traits such as authentication needs, rate limits, or data freshness. It adds some context but not beyond what annotations provide.

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 a single sentence of 25 words that is front-loaded with the main action. No extraneous information, every word serves a purpose.

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?

For a simple lookup tool with one parameter and annotations indicating read-only behavior, the description is mostly complete. It specifies what the tool returns. However, it does not mention pagination or result limits, which could be relevant for large datasets. Given the low complexity, this is a minor gap.

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 description coverage is 100% with the parameter 'hetcode' described as 'Hetcode for the compound'. The tool description only refers to 'given chemical component', which adds no new meaning beyond the schema. Baseline score of 3 is appropriate.

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 returns protein chains that interact with a given chemical component and are mapped to UniProt, including metadata. It specifies the verb (returns), resource (protein chains), and condition (interaction with chemical component), clearly distinguishing it from siblings like get_compound_interaction or get_ligand_summary.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. There is no mention of when it is appropriate, when not to use it, or of alternative tools for different scenarios.

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

get_domains_api_pdb_entry_domains__pdb_id___entity_id__getA
Read-only

Returns sequence and structural domain annotations for a specified PDB Entity ID, including domain boundaries, identifiers, and names from CATH, SCOP 1.75, Pfam and InterPro domain resources, along with metadata such as the entity’s Best Chain ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description is consistent. It adds value by detailing the domain resources and metadata returned, which goes beyond the hints. However, it does not discuss potential edge cases (e.g., missing entity) or rate limits, but with annotations present, this is acceptable.

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 a single, well-structured sentence that front-loads the result type, lists specific resources, and includes metadata. It is concise with no extraneous information.

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?

For a tool with only 2 parameters, no output schema, and no nested objects, the description adequately covers what the tool returns (domain boundaries, identifiers, names, Best Chain ID). It is sufficient for an agent to understand the tool's purpose and output.

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 description coverage is 100%, with both parameters (pdb_id, entity_id) well-described in the schema. The description adds no additional semantic information beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 it returns sequence and structural domain annotations for a specified PDB Entity ID, listing specific domain resources (CATH, SCOP 1.75, Pfam, InterPro) and metadata like Best Chain ID. This is a specific verb+resource and distinguishes from sibling tools that focus on sequences, ligands, complexes, etc.

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 implies usage when domain annotations are needed, but does not provide explicit guidance on when not to use this tool or mention alternative tools like get_annotations_api_pdb_entry_annotations. It lacks exclusion criteria or comparison to siblings.

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

get_entry_chain_sequence_api_pdb_sequence__pdb_id___chain_idA
Read-only

Returns the amino-acid sequence for a specific PDB Entry and Chain ID (label_asym_id).

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
chain_idYesPDB chain id. title: Chain Id description: PDB chain id.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate read-only and non-destructive behavior. The description adds the detail that it returns a sequence, which is minimal beyond the annotations. It does not disclose potential issues like rate limits, authentication, or edge cases.

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 a single sentence that conveys the essential information without any wasted words. It is front-loaded and efficiently communicates the tool's function.

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 simplicity (two simple parameters, straightforward return of a sequence), the description is complete. It covers input requirements and output nature, and no output schema is needed for such a basic tool.

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%, so the schema already documents both parameters. The description only restates the parameter definitions (4-character code, chain ID) without adding new semantic information. Baseline score of 3 applies.

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 returns the amino-acid sequence for a specific PDB entry and chain ID, using precise verbs and resource identification. It distinguishes itself from sibling tools like get_chains (which lists chains, not sequences) and get_pdb_complex (which provides complex details).

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 implies usage when the user has a specific PDB entry and chain ID, but it does not provide explicit guidance on when not to use this tool or suggest alternatives. No when-to-use or when-to-avoid information is given.

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

get_interface_residues_api_pdb_entry_interfaces__pdb_id___enA
Read-only

Returns protein–protein interface annotations for a specified PDB Entity ID, identifying all residues that form PISA-detected contacts with interacting partner proteins. For each partner, the endpoint provides its UniProt accession, name, and the corresponding interface residue ranges, along with metadata such as the entity’s Best Chain ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description aligns by stating it returns data. The description adds value beyond annotations by detailing the output: partner UniProt accession, name, interface residue ranges, and Best Chain ID metadata. No mention of limitations like pagination, but overall transparent.

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 a single, well-structured sentence that immediately states the purpose. It is concise, front-loaded, and every part adds value without redundancy.

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?

With 2 parameters, no output schema, and annotations present, the description provides adequate context about the output (residues, partner info, metadata). It lacks mention of output format or pagination, but covers essential expectations for an agent.

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% with both parameters (pdb_id, entity_id) described. The description mentions 'specified PDB Entity ID' but adds no new information beyond the schema's description. Baseline 3 is appropriate as the schema already provides adequate meaning.

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 returns protein-protein interface annotations for a specified PDB Entity ID, identifying residues and providing partner metadata. This specific verb+resource combination distinguishes it from sibling tools like sequence retrieval or UniProt-based interfaces.

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 explains what the tool does but does not provide explicit guidance on when to use it versus alternatives. While the purpose is clear, there is no mention of when to choose this over other interface-related siblings (e.g., UniProt-based one). Usage context is implied rather than stated.

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

get_key_validation_stats_api_validation_key_validation_statsA
Read-only

Provides a validation summary listing key geometric and electron-density–based metrics. For each category (e.g., bonds, angles, RNA suite, Ramachandran, sidechains, RSRZ), the report includes: - number of residues/instances checked - number of outliers - percent outliers - and, where applicable, RMSZ values. Categories with no relevant residues return null percentages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds context about the summary content but no additional behavioral traits (e.g., auth, rate limits).

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?

Concise, front-loaded purpose, with structured list of metrics and special case for null percentages. Every sentence adds value with no redundancy.

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?

Details output per-category metrics (counts, outliers, percent, RMSZ) and handles null cases. No output schema, but description compensates well. Lacks top-level structure specification.

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?

Input schema has 100% coverage for the single parameter pdb_id, which is adequately documented. The description does not add further semantic meaning to the parameter beyond the schema.

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 provides a validation summary listing geometric and electron-density metrics, with specific categories and output fields. This distinguishes it from siblings like get_outliers (list of outliers) and get_summary_quality_scores (likely a different summary).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description does not mention conditions for use or when to prefer other validation tools among the sibling list.

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

get_ligand_summary_get_api_pdb_compound_summary__hetcode__geA
Read-only

This call returns a summary for the chemical component identified by the given hetcode, including its chemical structure identifiers, physico-chemical descriptors, synonyms, PDB chemical component metadata, functional annotations, and cross-references to external resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
hetcodeYesHetcode for the compound title: Hetcode description: Hetcode for the compound

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, so the description adds value by detailing the response content (chemical structure identifiers, descriptors, etc.). No contradictions; the description properly supplements annotations.

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?

Two sentences, front-loaded with the main action, and efficiently lists contents. No irrelevant text.

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?

For a simple lookup tool, the description adequately covers the output by listing categories. However, it omits potential edge cases (e.g., invalid hetcode) and does not specify return format, though output schema is absent. Overall sufficient.

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% for the single parameter 'hetcode', but the description only reinforces its role without adding new semantic details. Baseline is 3; no extra value.

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 returns a summary for a chemical component by hetcode, listing specific content categories (identifiers, descriptors, synonyms, etc.), and distinguishes it from sibling tools like get_compound_in_pdb (which lists PDB entries) and get_compound_interaction (interaction data).

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 implies usage (to get a comprehensive summary of a compound), but does not explicitly state when to use it versus alternatives or when not to use it. The context is clear enough for an agent to infer purpose.

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

get_llm_uniprot_summary_api_uniprot_llm_annotations_summary_B
Read-only

Retrieve text mined annotations for a given UniProt accession. The response includes associated PDB structures, and residue-level annotations. The residue start and end positions follow either UniProt or PDB numbering. Each annotation details the provider, additional supporting data such as citations, entity type, textual evidence, annotator, and AI-generated confidence scores, enabling comprehensive exploration of machine-predicted functional and structural insights.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

B3.4/5.0
Behavior4/5

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

The description adds context beyond annotations: it explains the response includes PDB structures, residue numbering, confidence scores, and provider details. Annotations already indicate readOnlyHint=true, so no contradiction. The description enriches understanding of the tool's behavior.

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

Conciseness3/5

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

The description is a single paragraph with multiple sentences, somewhat verbose. It front-loads the purpose but includes details that could be more concise. Acceptable but not optimally structured.

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?

Given one parameter and no output schema, the description adequately explains the response content and structure. It covers key aspects like residue numbering, providers, and AI confidence. Missing error handling details but sufficient for a retrieval tool.

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?

The single parameter 'uniprot_accession' is already fully described in the schema (description: 'UniProt accession.'). The description adds no further parameter meaning, so baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states it retrieves text mined annotations for a UniProt accession, including PDB structures and residue-level details. However, it does not distinguish this tool from sibling tools like 'get_uniprot_generic_annotations' that also retrieve annotations.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, constraints, or when not to use it.

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

get_mappings_api_mappings__accession__getA
Read-only

Provides unified SIFTS residue-level mappings between PDB protein chains (auth_asym_id or struct_asym_id) and all major sequence and domain resources, including UniProt, Pfam, InterPro, CATH, SCOP, GO, Ensembl, and HMMER. Supports both PDB-to-identifier and identifier-to-PDB queries, returning the mapped residue segments and associated annotations for each resource.

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession or 4-character PDB id code or Pfam domain accession or Interpro domain accession or CATH cathcode or SCOP sunid or GO accession. title: Accession description: UniProt accession or 4-character PDB id code or Pfam domain accession or Interpro domain accession or CATH cathcode or SCOP sunid or GO accession.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, making safety clear. The description adds that it returns mapped residue segments and associated annotations, which is sufficient for a read-only query tool. No unexpected side effects are possible, and the behavior is well described.

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 a single sentence that is clear and front-loaded with the core purpose. It could be split into two sentences for readability, but it remains efficient, containing only relevant details without extraneous words.

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?

Given the tool's complexity (multiple resources, bidirectional queries) and lack of output schema, the description adequately covers what the tool does and what it returns (mapped residue segments and annotations). No major gaps in expected information are present.

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 lists acceptable accession types. The description restates many of these types (e.g., UniProt, Pfam) but adds little new meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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 provides unified SIFTS residue-level mappings between PDB chains and many sequence/domain resources. It lists specific resources (UniProt, Pfam, etc.) and distinguishes itself from siblings like get_uniprot_mapping by emphasizing 'unified' and broader scope.

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 mentions bidirectional query support (PDB-to-identifier and identifier-to-PDB), giving clear usage context. However, it does not explicitly state when to use this tool versus more specific sibling tools like get_uniprot_mapping, so some guidance is implicit rather than explicit.

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

get_molecules_api_pdb_entry_molecules__pdb_id__getB
Read-only

Returns summarised detailed information about each molecule (or entity in mmcif-speak) in a specified PDB entry, including entity type; molecule names mapped from UniProt; the synonym field (equivalent to _entity.pdbx_description) for polymeric entities; DrugBank-derived synonyms for ligands; sequence data; chain assignments; copy numbers; source organism and sample preparation details; and ligand or chemical component information.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idNoEntity id (molecule number in mmcif-speak).

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's disclosure of returned data adds moderate value but does not cover additional behavioral traits or performance characteristics. The description is consistent with annotations.

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 a single, well-structured sentence that front-loads the core action ('Returns summarised detailed information about each molecule') and lists all included data fields efficiently. It is concise given the amount of information conveyed.

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?

Given the complexity of the returned data and the absence of an output schema, the description provides a comprehensive list of fields (entity type, UniProt names, sequence, chains, etc.), adequately setting expectations for the agent.

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 description coverage is 100%, so the baseline is 3. The description does not add extra meaning to the parameters beyond what the schema already provides (e.g., pdb_id format, entity_id as integer).

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

Purpose4/5

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

The description clearly states it returns summarised detailed information about each molecule in a specified PDB entry, listing specific data fields. However, it does not explicitly differentiate from sibling tools like get_bound_molecules or get_ligand_summary, which limits clarity in a contextual toolset.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, intended use cases, or exclusions, leaving the agent to infer usage from the description alone.

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

get_outliers_api_validation_outliers_all__pdb_id__getA
Read-only

Lists all geometric and model–data outliers detected by MolProbity, grouped by category (e.g., clashes, sidechains, RSRZ, bond/angle outliers, RNA suite/pucker, chirality, planes, symmetry clashes). Atoms or residues involved in each outlier are reported using unit-id notation The types_of_outliers section summarizes, per residue, which types of outliers it participates in.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, so the description adds behavioral context about grouping by category and per-residue types_of_outliers, which goes beyond the annotations. No contradictions.

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 relatively concise, providing a clear list of outlier categories in one sentence. However, there is a missing period and the title in annotations duplicates the description, reducing conciseness slightly.

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?

Given no output schema, the description adequately informs about output structure (grouping, unit-id notation, types_of_outliers). However, it lacks details on pagination, ordering, or exact JSON format, leaving some gaps for a comprehensive understanding.

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% with a single parameter pdb_id described as '4-character PDB id code'. The description does not add additional parameter semantics beyond what the schema provides, so baseline 3 is appropriate.

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 lists all geometric and model-data outliers detected by MolProbity, grouped by category, with specific examples. The tool name itself indicates 'outliers_all', and the description distinguishes from sibling summary tools by providing detailed output.

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 implies usage for detailed outlier information when summary stats from sibling tools are insufficient. However, it does not explicitly state when to use this tool vs alternatives like get_summary_quality_scores.

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

get_pdb_complex_api_complex_details__id__getB
Read-only

Get list of participants and subcomplexes (if any) for the given identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe identifier value type: string title: Id description: The identifier value
id_typeYesThe identifier type. It can be one of four types: pdb_complex_id, complex_portal_id, accession or pdb_id

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that it returns a 'list' of participants and subcomplexes, but does not elaborate on pagination, error behavior, or other important traits. It adds minimal value beyond annotations.

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 a single, concise sentence that conveys the core purpose without redundancy. It is front-loaded and efficient, though it could be slightly more specific about the identifier type.

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

Completeness3/5

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

With no output schema, the description provides basic information about what is returned (participants and subcomplexes). However, it does not detail the structure or any constraints. Given the low to medium complexity, it is adequate but not rich.

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%, so the schema already describes both parameters (id and id_type) with descriptions. The description does not add any additional meaning or context about the parameters, so it stays at baseline.

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

Purpose4/5

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

The description clearly states the tool retrieves participants and subcomplexes for an identifier. It uses a specific verb ('Get') and resource, and the purpose is easily understood. It doesn't explicitly differentiate from siblings, but the name and context imply it's specific to complex details.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus the many sibling tools or when not to use it. The description only states what it does, not when it's appropriate.

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

get_rfam_pdb_api_nucleic_mappings__accession__getB
Read-only

This call returns all PDB entries and RNA chains that map to the specified Rfam accession, including the matched regions.

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesRfam accession or PDB ID type: string title: Accession description: Rfam accession or PDB ID

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the tool is safe. The description adds that it returns all PDB entries and RNA chains with matched regions, which is useful context. It does not mention any limitations, errors, or pagination, but for a read-only tool with good annotations, this is adequate.

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 a single, clear sentence with no extraneous information. It is front-loaded and efficient.

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

Completeness3/5

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

Given a single required parameter, no output schema, and present annotations, the description is minimally sufficient. It covers the basic functionality but could benefit from additional details about return format or typical usage to fully support the agent.

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%, so the parameter is fully documented. The description reiterates 'specified Rfam accession' while the schema says 'Rfam accession or PDB ID', causing a slight inconsistency. However, it does not add significant new meaning beyond the schema.

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

Purpose4/5

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

The description clearly states the tool returns PDB entries and RNA chains mapping to an Rfam accession, including matched regions. The verb 'returns' and specific resource 'PDB entries and RNA chains' provide clear purpose. It does not explicitly distinguish from siblings like get_mappings_api_mappings__accession__get, but the specificity of RNA chains and matched regions implies a distinct function.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus sibling tools. The description lacks context on prerequisites, alternatives (e.g., get_mappings_api_mappings__accession__get), or typical use cases. Agents would need to infer usage from the name and schema alone.

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

get_secondary_structure_api_pdb_entry_secondary_structure__pA
Read-only

Returns secondary-structure annotations for a specified PDB Entity ID, including helices and strands, plus per-residue structural predictions from external tools (e.g., disorder, folding propensity, flexibility), each with associated scores, labels, and source metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description's behavioral disclosure is limited to detailing the tool's output composition (helices, strands, predictions, scores, labels, source metadata). This adds value beyond annotations, though it omits potential constraints like rate limits or response size.

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 a single sentence that front-loads the main action, efficiently covering the tool's purpose and output. While slightly long, it contains no wasted words and earns its place.

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 absence of an output schema, the description thoroughly describes the tool's return value: secondary-structure annotations, per-residue predictions, and associated metadata. For a simple fetch tool with two parameters, this is complete and actionable.

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%, with both parameters already described in the input schema. The description mentions 'PDB Entity ID' but adds no additional semantic context beyond what the schema provides, warranting the baseline score.

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 returns secondary-structure annotations for a specified PDB Entity ID, explicitly listing helices, strands, and per-residue predictions. This specificity distinguishes it from sibling tools like get_annotations_api and get_domains_api.

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 implies usage for secondary structure data but lacks explicit guidance on when to use this tool over alternatives or when not to use it. No prerequisites or exclusions are mentioned, relying on the agent to infer from the tool's specific purpose.

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

get_sequence_conservation_pdb_entity_api_pdb_sequence_conserA
Read-only

Returns residue-level sequence conservation data for a specified PDB entry ID and PDB entity ID, including per-residue conservation scores and amino-acid probability distributions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already mark the tool as read-only (readOnlyHint=true). The description adds that it returns per-residue conservation scores and amino-acid probability distributions, which provides useful behavioral context beyond the annotations. However, it does not disclose other traits like performance, error handling, or output format details.

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 a single, front-loaded sentence that efficiently conveys the tool's purpose and key output characteristics without extraneous information.

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

Completeness3/5

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

Given the lack of an output schema, the description partially addresses return values by mentioning 'per-residue conservation scores and amino-acid probability distributions', but it does not specify the structure, format, or any additional context about the data.

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?

Input schema coverage is 100% with both parameters (pdb_id, entity_id) having descriptions. The description adds no further meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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 returns residue-level sequence conservation data for a specific PDB entry and entity, including per-residue scores and probability distributions. It distinguishes itself from sibling tools like the Uniprot conservation endpoint by specifying 'PDB entry ID' and 'PDB entity ID'.

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 implies usage by specifying the required parameters (pdb_id, entity_id), but it does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. No guidance on prerequisites or limitations.

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

get_sequence_conservation_uniprot_api_uniprot_sequence_conseA
Read-only

Retrieve PDBe-KB sequence conservation data for a UniProt accession. The response provides residue-level conservation scores, per-residue amino acid probability profiles, sequence identifiers, the length of the UniProt sequence, and colors for visualizing main and sub-tracks.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true and destructiveHint=false. The description adds context about response contents (residue-level scores, probability profiles, etc.) but does not disclose potential errors, authentication needs, or data limitations. It adds some value beyond annotations.

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 concise sentences, front-loading the purpose and listing response details. Every word adds value, with no redundancy.

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?

For a single-parameter, read-only tool with no output schema, the description adequately explains the return content. It covers the main outputs and is sufficient for basic usage, though it lacks error or edge-case information.

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 description coverage is 100%, so the parameter is documented. The description repeats 'UniProt accession' without adding format, validation, or example details. It meets the baseline but does not enhance parameter understanding.

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 verb 'Retrieve' and the specific resource: 'PDBe-KB sequence conservation data for a UniProt accession.' It lists detailed response content, distinguishing it from the sibling 'get_sequence_conservation_pdb_entity' which targets PDB entities.

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 no explicit guidance on when to use this tool versus alternatives. While the sibling tool names hint at the difference (UniProt vs. PDB entity), the description does not clarify usage context or exclusions.

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

get_similar_ligands_api_compound_similarity__hetcode__getA
Read-only

Returns chemical components that are similar to the given chemical component. Results include stereoisomers, components sharing a common scaffold, and molecules with ≥60% PARITY score-based similarity.

ParametersJSON Schema
NameRequiredDescriptionDefault
hetcodeYesHetcode for the compound title: Hetcode description: Hetcode for the compound

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, confirming it's read-only. The description adds value by disclosing criteria (stereoisomers, common scaffold, ≥60% PARITY) and does not contradict annotations. No side effects or auth needs noted, but acceptable for a read operation.

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 a single sentence that front-loads the core purpose without any superfluous words. Every element earns its place.

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

Completeness3/5

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

No output schema exists, so the description should explain return structure. It states results include certain categories but does not specify whether a list or single object is returned, nor the fields within results. Adequate but incomplete.

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 description coverage is 100%, but the schema's own parameter description is tautological ('Hetcode for the compound'). The tool description does not add any further parameter semantics beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states it returns similar chemical components and specifies similarity criteria (stereoisomers, common scaffold, ≥60% PARITY). However, it does not explicitly contrast with sibling tools (e.g., get_compound_in_pdb) to fully distinguish.

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 implies usage for finding similar compounds but provides no explicit when-to-use or when-not-to-use guidance compared to alternatives. Usage is inferred from the purpose.

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

get_summary_quality_scores_api_validation_summary_quality_scA
Read-only

These scores are harmonic means of percentile-based quality metrics for macromolecular structures: - geometry_quality: from geometric percentiles (Ramachandran, clashscore, sidechains). - data_quality: from diffraction–data percentiles (R-free, RSRZ). - overall_quality: combines geometry and data percentiles. If any contributing percentile is 0, the harmonic mean is 0. If all percentiles are unavailable, the score is null. experiment_data_available indicates whether experimental diffraction data were used

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=false. Description adds behavioral details: scores are harmonic means, conditions for 0 or null values, and the experiment_data_available flag. No contradiction with annotations.

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?

Description is fairly concise, with bullet points for readability. However, it could be even more succinct; some redundancy exists (e.g., repeating the harmonic mean explanation).

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?

Given the complexity of quality metrics and no output schema, the description provides sufficient detail: explains derived variables, edge cases (0/null), and a flag. Missing guidance on expected return structure, but overall complete.

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?

Only one parameter (pdb_id) with schema coverage 100%. The description does not add meaning beyond the schema's '4-character PDB id code.' Baseline 3 is appropriate.

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 returns harmonic means of percentile-based quality metrics for macromolecular structures, specifying geometry_quality, data_quality, overall_quality, and experiment_data_available. It identifies the verb (get) and resource (summary quality scores) and distinguishes from sibling validation tools by detailing the composite metrics.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like get_key_validation_stats or get_outliers. The context lacks when-to-use or when-to-avoid instructions, leaving the agent to infer.

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

get_uniprot_generic_annotations_api_uniprot_annotations__uniA
Read-only

This call provides PDBe-KB annotations for a given UniProt accession, with optional filtering by annotation category. The response includes the UniProt sequence and length, along with detailed annotation records describing residue ranges in UniProt and PDB numbering, residue codes, associated PDB entries, and supporting metadata such as accession identifiers, scores, confidence levels, and resource links. Information on processed protein start positions is also provided, offering a unified view of structural and functional annotations across the sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.
annotation_categoryNoAnnotation category

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's main contribution is detailing the response content (sequence, residue ranges, metadata). This adds value but does not disclose potential issues like rate limits or permission requirements. Score is appropriate given annotation coverage.

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: first sentence states purpose and key behavior, followed by a detailed breakdown of the response. It is reasonably concise for the level of detail, with no repetition. A slight reduction in verbosity would not harm, but current length is justified.

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?

Given no output schema, the description thoroughly explains the return values: sequence, length, annotation records with residue details, numbering, PDB entries, and metadata. It covers essential aspects for a generic annotation tool. Lacks mention of pagination or error handling, but is sufficient for most use cases.

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%, with descriptions for both parameters. The description adds that filtering by annotation_category is optional, which aligns with the schema. However, no further detail on valid annotation categories is provided. Baseline 3 is correct as schema does the heavy lifting.

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 provides PDBe-KB annotations for a given UniProt accession with optional filtering. The verb 'provides' and specific resource 'PDBe-KB annotations' make the purpose unambiguous. While it doesn't explicitly distinguish from siblings, the unique focus on generic annotations is evident from the detailed context.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only explains what it does, without indicating when it is preferable over sibling tools like get_uniprot_mapping or get_uniprot_variation. Users must infer usage from the tool name alone.

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

get_uniprot_generic_interface_residues_api_uniprot_interfaceA
Read-only

Retrieve detailed information on interface residues for a given UniProt accession, including the amino acid sequence for polymeric entities and the total sequence length. The response provides the type of data included and an array of residue-level details, with information such as the starting position in a processed protein sequence when applicable. This endpoint enables analysis of residues involved in protein interfaces, offering sequence context alongside structural and functional annotations.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds context about the analysis capabilities but does not disclose additional behavioral traits such as rate limits, pagination, or error handling. With annotations covering the main safety aspect, the description provides adequate but not exceptional transparency.

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, front-loading the main purpose and providing essential details without redundancy. Every sentence adds value, and the structure is efficient.

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?

Given the simple input (one parameter) and no output schema, the description covers the main aspects: input, output content (array of residue details), and additional information like starting position. It lacks details on error responses or specific output format, but for a straightforward tool it is nearly complete.

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 coverage is 100% with a description for uniprot_accession. The description adds value by explaining what the response includes (sequence, length, residue-level details, starting position), going beyond the schema to help the agent understand the output context.

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 retrieves detailed information on interface residues for a given UniProt accession, specifying what is included (amino acid sequence, total sequence length, residue-level details). It uses a specific verb 'retrieve' and distinguishes from sibling tools that focus on other aspects (e.g., sequences, ligands, annotations).

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. It only describes what the tool does without mentioning prerequisites, limitations, or conditions under which this tool should be preferred over siblings.

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

get_uniprot_generic_unipdb_api_uniprot_unipdb__uniprot_accesA
Read-only

Retrieve comprehensive information on PDB structures mapped to a given UniProt accession. The response includes the UniProt sequence and length, along with detailed structure annotations such as entity and chain identifiers, residue coverage in UniProt and PDB numbering, observed regions, mutations, modifications, experiment type, resolution, ligand and entity counts, and supporting metadata like titles, ranking scores, and additional structure-specific information. This endpoint provides an integrated view of how PDB structures align with and represent the UniProt sequence

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description reinforces read-only behavior. It adds value by detailing the extensive response content (sequence, chains, residues, etc.), which is beyond the annotation's scope.

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

Conciseness3/5

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

The description is verbose, listing many response details in a single paragraph. It could be more concise by grouping related items or removing redundant phrases like 'This endpoint provides...'.

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?

Without an output schema, the description compensates by enumerating many response fields (sequence, mutations, resolution, etc.). It provides a solid overview, though it uses 'such as' indicating it's not exhaustive.

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 description coverage is 100%, so the parameter is documented. The tool description restates the parameter's role but does not add new semantic detail beyond the schema. Baseline 3 is appropriate.

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 specifies the verb 'Retrieve' and the resource 'comprehensive information on PDB structures mapped to a given UniProt accession.' It distinguishes this tool from siblings like get_uniprot_generic_interface_residues by being the generic endpoint for all mapped PDB structures.

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 implies usage when comprehensive PDB structure info for a UniProt accession is needed, but it lacks explicit guidance on when to use this tool vs. alternatives. No when-not-to-use or alternative references are provided.

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

get_uniprot_interaction_partners_api_uniprot_interaction_parA
Read-only

Retrieve information on interaction partners for a given UniProt accession, including their names, annotations such as antibody roles, the PDB structures where interactions are observed, and whether the interaction is self-directed. This endpoint provides structural and functional context for protein interactions.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds no behavioral traits beyond what annotations provide, like rate limits or return format details. It does not contradict annotations.

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, front-loading the main action and then specifying details. Every sentence adds value, with no redundancy. It is concise and well-structured.

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?

For a single-parameter read-only tool with no output schema, the description adequately explains the return data (names, annotations, PDB structures, self-directed flag) and distinguishes from siblings. Minor lack of mention of pagination or limits, but overall complete.

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% for the single parameter, with a clear description. The tool description does not add additional meaning or constraints beyond the schema, so baseline 3 is appropriate.

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 verb 'Retrieve' and the resource 'interaction partners for a given UniProt accession', specifying the returned data: names, annotations, PDB structures, and self-directed flag. This distinguishes it from siblings like get_best_structures_observed or get_uniprot_generic_interface_residues.

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 implies usage for retrieving interaction partners, but does not provide explicit when-to-use or when-not-to-use guidance, nor mention alternatives among siblings. It is adequate but lacks explicit usage context.

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

get_uniprot_mapping_api_pdb_entry_uniprot_mapping__pdb_id___A
Read-only

Returns UniProt mappings for a specific PDB Entity ID, including matched UniProt accessions, residue-level alignment ranges, and metadata identifying the corresponding Best Chain ID for the mapping.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and description is consistent. Description adds detail on output content but no additional behavioral traits like error handling or limitations.

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?

Single sentence, 28 words, front-loaded with purpose, no redundancy. Efficient use of space.

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?

Given no output schema, description provides good detail on return content. However, it lacks mention of potential edge cases or multiple mappings, but adequate for typical use.

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%, so schema already documents both parameters. Description does not add any new parameter information beyond what schema provides.

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?

Description clearly states the tool returns UniProt mappings for a specific PDB Entity ID, listing specific outputs (accessions, alignment ranges, Best Chain ID). It distinguishes from siblings by focusing on UniProt mapping.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_annotations or get_domains. Missing context for selection.

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

get_uniprot_variation_api_uniprot_variation__uniprot_accessiA
Read-only

Retrieve variation details for a given UniProt accession. The response includes the protein sequence and length, UniProt identifiers, and a list of variant features with information on alternative sequences, associated diseases, evidences, genomic locations, consequence types, and predictions from tools such as PolyPhen and SIFT. Additional metadata includes clinical significance, source information, cross-references, and relevant URLs, enabling comprehensive analysis of protein sequence variations.

ParametersJSON Schema
NameRequiredDescriptionDefault
uniprot_accessionYesUniProt accession. title: Uniprot Accession description: UniProt accession.

TDQS

A4/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, which aligns with the description retrieving data. The description adds significant detail about the response contents (protein sequence, variants, diseases, predictions), providing transparency beyond the annotation alone.

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 a single well-structured paragraph that front-loads the main purpose. It is slightly long but every sentence provides value about the response contents, making it efficient for the complexity.

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?

Despite lacking an output schema, the description thoroughly enumerates the response fields (protein sequence, variants, diseases, genomic locations, predictions, etc.), providing sufficient context for an agent to understand what the tool returns.

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?

There is only one parameter with 100% schema coverage. The description does not add any additional meaning beyond what the schema already provides (just 'UniProt accession'). It meets the baseline for full coverage.

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 retrieves variation details for a given UniProt accession, specifying the exact resource and scope. It distinguishes itself from sibling tools, which are primarily PDB-related or other UniProt functions.

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?

There is no explicit guidance on when to use this tool vs. alternatives or when not to use it. The context from sibling names implies its usage for UniProt variation queries, but the description lacks direct usage recommendations.

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

get_variation_api_pdb_entry_variation__pdb_id___entity_id__gA
Read-only

Returns UniProt sequence-variation annotations for a specified PDB Entity ID, remapped to the entity’s residue positions. The response includes each mapped UniProt accession and its variant features, such as variant type, alternative sequence, position, associated evidence, cross-references, clinical or functional annotations, and any available structural-impact metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdb_idYes4-character PDB id code. title: Pdb Id description: 4-character PDB id code.
entity_idYesEntity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak).

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare read-only and non-destructive behavior. The description adds detail about the response content (variant features, structural-impact metadata) but does not disclose additional behavioral traits like authentication or rate limits.

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 a single dense sentence that immediately conveys the core function. It lists many output features, which is thorough but slightly verbose. Overall efficient and well-structured.

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?

Despite no output schema, the description comprehensively lists the types of data returned (variant type, position, evidence, cross-references, clinical annotations, structural-impact). It adequately informs the agent of the expected response structure.

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% with detailed parameter descriptions. The description adds no new parameter-level meaning beyond the schema, so baseline score of 3 is appropriate.

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 returns UniProt sequence-variation annotations for a specific PDB entity ID, remapped to residue positions. It distinguishes from sibling tools like get_uniprot_variation by focusing on PDB entity context.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives (e.g., get_uniprot_variation). The description only states functionality, leaving the agent to infer usage context from the tool name and sibling list.

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

TDQS

B3.4/5.0
Disambiguation4/5

Tools have distinct purposes as described, but the large number (33) and similar naming patterns for related functions (e.g., multiple 'get_uniprot_*' tools) could cause confusion for an agent without careful reading. Most are clearly differentiated.

Naming Consistency2/5

All tool names start with 'get_', but the rest is inconsistent and includes full API endpoint paths (e.g., 'get_entry_chain_sequence_api_pdb_sequence__pdb_id___chain_id'). No standard verb_noun pattern; naming is messy and overly long.

Tool Count2/5

33 tools is high, exceeding the 25+ threshold for being excessive. While the domain is complex, many tools cover narrow sub-functionalities (e.g., two similar best-structure tools), suggesting the set could be consolidated.

Completeness4/5

The tool set covers a broad range of PDBe functionality: sequences, ligands, complexes, validation, UniProt mappings, annotations, and variations. Minor gaps exist (e.g., no general search tool), but the core workflows are well-supported.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables searching, retrieving, and downloading protein structure data from the RCSB Protein Data Bank. Supports intelligent protein structure search, comprehensive data retrieval, and multiple file format downloads for bioinformatics research.
    3
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables interaction with the RCSB Protein Data Bank to search, analyze, and visualize protein structures. It provides specialized tools for downloading coordinate files and performing structural modifications like residue mutations and metal atom replacements.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to AlphaFold predicted protein 3D structures from EBI, enabling retrieval of prediction metadata, summaries, annotations, and UniProt data.
    19
    MIT

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/PDBeurope/PDBe-MCP-Servers'

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