PDBe MCP Servers
OfficialThis server provides comprehensive access to Protein Data Bank in Europe (PDBe) structural biology data, enabling you to query, search, and analyze protein structures, ligands, sequences, and molecular interactions.
Ligand & Chemical Component Tools:
Find similar ligands (stereoisomers, scaffold-sharing, or ≥60% PARITY similarity)
Retrieve aggregated protein-ligand interaction counts across all PDB structures
Get UniProt-mapped protein chains interacting with a specific chemical component
Look up chemical component summaries (identifiers, physico-chemical descriptors, synonyms, cross-references)
List all PDB entries containing a given chemical component
PDB Entry & Molecule Tools:
Retrieve amino-acid sequences for specific PDB entry chains
Get detailed information about molecules/entities in a PDB entry (type, names, sequences, chains, organisms)
List bound molecules and retrieve their interaction details (hydrogen bonds, van der Waals, hydrophobic interactions)
Entity-Level Annotation Tools:
Get residue-level sequence conservation data and amino-acid probability distributions
Retrieve secondary structure, binding site, and protein–protein interface annotations
Access functional/biophysical annotations from PDBe-KB partners (SASA, hydrophobicity, EM local resolution)
Get domain annotations from CATH, SCOP, Pfam, and InterPro
Fetch UniProt sequence variation annotations remapped to PDB residue positions
Validation Tools:
Get summary quality scores (geometry, data quality, overall quality)
Retrieve key validation statistics (Ramachandran, clashscore, RSRZ, bonds, angles)
List all geometric and model-data outliers detected by MolProbity
UniProt-Centric Tools:
Get ranked best PDB structures for a UniProt accession
Retrieve interaction partners, interface residues, and sequence conservation
Access variation details (diseases, PolyPhen/SIFT predictions, clinical significance)
Fetch text-mined AI-generated annotations
Mapping & Cross-Reference Tools:
Get unified SIFTS residue-level mappings between PDB chains and external resources (UniProt, Pfam, InterPro, CATH, SCOP, Ensembl, etc.)
Look up PDB complex participants and subcomplexes
Retrieve PDB entries and RNA chains mapped to an Rfam accession
Search Tools:
Execute advanced Solr-style queries with field selection, filter queries, facets, grouping, sorting, and pagination
Graph Tools (requires local Neo4j setup):
Inspect the PDBe-KB graph schema (node types, relationship types)
Execute custom read-only Cypher queries against a locally configured PDBe-KB Neo4j database
Allows interaction with a local Neo4j graph database containing PDBe-KB data, enabling read-only Cypher queries to explore molecular interactions and relationships in the Protein Data Bank.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PDBe MCP Serversfind structures for human insulin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-serverThe 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:
Clone and navigate to the repository:
git clone https://github.com/PDBeurope/PDBe-MCP-Servers.git cd PDBe-MCP-ServersCreate a virtual environment:
uv venvInstall with uv:
uv pip install .
AI Client Integration
Configuration
Open your AI client's MCP configuration.
MCP-compatible clients use different settings locations and file formats. Many JSON-based clients use an
mcpServersobject, while some clients provide commands or a settings UI for adding servers.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
uvxis available in your PATH (this comes with uv)For local development, ensure that
uvis installed and the/path/to/your/PDBe-MCP-Serversmatches your actual directory
Add the graph server only if you have a local PDBe-KB Neo4j graph database configured. See Advanced Graph Server Configuration.
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 listFor 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_serverUsing 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 datapdbe_search_server: Advanced Solr-based search capabilities for complex structural queries and data analysispdbe_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 asq(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 resultsfilters(optional): Backwards-compatible alias forflfq(optional): Filter query string or array of filter query stringssort(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 facetingfacet_fields(optional): Field facet string or array, sent asfacet.fieldfacet_queries(optional): Query facet string or array, sent asfacet.queryfacet_limit,facet_mincount,facet_sort(optional): Common facet controlsgroup(optional): Enable Solr groupinggroup_field(optional): Grouping field string or array, sent asgroup.fieldgroup_limit,group_offset,group_sort(optional): Common grouping controlsparams(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 identifierexperimental_method: Structure determination methodrelease_date: Structure release dateresolution: Structure resolution (Å)molecule_type: Type of molecule (protein, DNA, RNA, etc.)organism_scientific_name: Source organismligand_name: Bound ligandstitle: 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 --devNode.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 sseUsing local development:
uv run pdbe-mcp-server --server-type pdbe_api_server --transport ssePDBe Search Server
Provides advanced Solr-based search and analytics capabilities:
Using PyPI installation:
uvx pdbe-mcp-server --server-type pdbe_search_server --transport sseUsing local development:
uv run pdbe-mcp-server --server-type pdbe_search_server --transport sseThe 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 usernameNEO4J_PASSWORD: The Neo4j passwordNEO4J_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_serverStarting the Graph Server Manually
Using PyPI installation:
uvx pdbe-mcp-server --server-type pdbe_graph_server --transport sseUsing local development:
uv run pdbe-mcp-server --server-type pdbe_graph_server --transport sseGraph 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/inspectorThe 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
uvis installed and in your PATHVerify the full path to
uvin 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
Model Context Protocol - Official MCP documentation and specifications
PDBe API Documentation - Complete API reference and examples
PDBe Graph Database - Advanced querying and relationship mapping
Antigravity MCP Documentation - MCP setup instructions for Antigravity
OpenAI Docs MCP - Codex MCP configuration examples
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:
Issues: Use the GitHub Issues tracker
PDBe Helpdesk: Visit the PDBe Help & Support pages
Available Tools
33 toolsget_annotations_api_pdb_entry_annotations__pdb_id___entity_iARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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_besARead-only
Retrieve a list of non-overlapping PDB chains that cover the largest number of observed residues for a given UniProt accession.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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__unBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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___entiARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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_interARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| bm_id | Yes | Bound 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_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. |
TDQS
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.
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.
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.
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.
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.
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__getBRead-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).
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. |
TDQS
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.
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.
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.
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.
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.
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__getARead-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).
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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__geBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| hetcode | Yes | Hetcode for the compound title: Hetcode description: Hetcode for the compound |
TDQS
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.
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.
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.
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.
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.
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__ARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| hetcode | Yes | Hetcode for the compound title: Hetcode description: Hetcode for the compound |
TDQS
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.
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.
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.
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.
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.
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__geARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| hetcode | Yes | Hetcode for the compound title: Hetcode description: Hetcode for the compound |
TDQS
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.
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.
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.
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.
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.
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__getARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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_idARead-only
Returns the amino-acid sequence for a specific PDB Entry and Chain ID (label_asym_id).
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| chain_id | Yes | PDB chain id. title: Chain Id description: PDB chain id. |
TDQS
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.
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.
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.
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.
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.
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___enARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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_statsARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. |
TDQS
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.
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.
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.
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.
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.
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__geARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| hetcode | Yes | Hetcode for the compound title: Hetcode description: Hetcode for the compound |
TDQS
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.
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.
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.
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.
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.
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_BRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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__getARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| accession | Yes | 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. 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
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.
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.
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.
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.
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.
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__getBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | No | Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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__getARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. |
TDQS
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.
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.
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.
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.
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.
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__getBRead-only
Get list of participants and subcomplexes (if any) for the given identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The identifier value type: string title: Id description: The identifier value | |
| id_type | Yes | The identifier type. It can be one of four types: pdb_complex_id, complex_portal_id, accession or pdb_id |
TDQS
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.
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.
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.
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.
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.
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__getBRead-only
This call returns all PDB entries and RNA chains that map to the specified Rfam accession, including the matched regions.
| Name | Required | Description | Default |
|---|---|---|---|
| accession | Yes | Rfam accession or PDB ID type: string title: Accession description: Rfam accession or PDB ID |
TDQS
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.
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.
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.
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.
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.
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__pARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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_conserARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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_conseARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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__getARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| hetcode | Yes | Hetcode for the compound title: Hetcode description: Hetcode for the compound |
TDQS
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.
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.
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.
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.
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.
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_scARead-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
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. |
TDQS
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.
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.
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.
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.
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.
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__uniARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. | |
| annotation_category | No | Annotation category |
TDQS
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.
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.
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.
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.
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.
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_interfaceARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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_accesARead-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
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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_parARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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___ARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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_accessiARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| uniprot_accession | Yes | UniProt accession. title: Uniprot Accession description: UniProt accession. |
TDQS
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.
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.
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.
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.
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.
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__gARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| pdb_id | Yes | 4-character PDB id code. title: Pdb Id description: 4-character PDB id code. | |
| entity_id | Yes | Entity id (molecule number in mmcif-speak). type: string pattern: ^[0-9]+$ title: Entity Id description: Entity id (molecule number in mmcif-speak). |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
Connect AI clients to biomedical data and tools.
PDBe (Protein Data Bank in Europe, EBI) MCP.
AI-powered bioprotocol optimization — generate, search, and manage lab protocols via MCP
Search and fetch Wikidata entities, execute SPARQL queries, and resolve external identifiers.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables 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.3MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables 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.
- AlicenseNot gradedqualityCmaintenanceEnables querying and retrieving experimental protein structures from the RCSB Protein Data Bank, including text search, full entry records, polymer entities, ligands, and assemblies.21MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to AlphaFold predicted protein 3D structures from EBI, enabling retrieval of prediction metadata, summaries, annotations, and UniProt data.19MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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