ncbi-datasets-mcp
This server provides access to NCBI Datasets v2, enabling genomic and taxonomic data discovery, metadata retrieval, and file downloads.
Install CLI tools: Automatically check, download, and install the required NCBI
datasetsanddataformatbinaries needed for downloads and format conversion.Discover data types: Browse all available NCBI Datasets report types (genes, genome assemblies, sequences, taxonomy, viruses, etc.), including which tools retrieve each type and full field/schema details for a specific type.
Search genome assemblies by taxon: Query genome assembly metadata by organism name or tax ID, with filters for assembly level, source (GenBank/RefSeq), reference status, and annotation status.
Fetch genome metadata by accession: Retrieve detailed assembly metadata for one or more known RefSeq or GenBank accessions.
Download genome packages: Download genome data (sequences, RNA, proteins, GFF3, etc.) by taxon or accession, with support for dehydrated packages.
Rehydrate genome packages: Fetch the full sequence files for a previously downloaded dehydrated package.
Convert genome reports to TSV: Transform genome JSONL data reports into TSV format, with optional field selection.
Explore taxonomy: Get lineage, rank, scientific/common names, and child taxa for any taxon by name or tax ID.
Download taxonomy packages: Retrieve a complete taxonomy data package for a given taxon.
The server is configurable via environment variables or a Claude Desktop JSON config, supporting settings like an NCBI API key (for higher rate limits), default download directory, auto-installation of CLI tools, and maximum results for summary tools.
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., "@ncbi-datasets-mcpsearch genome assemblies for Escherichia coli"
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.
ncbi-datasets-mcp
NOTE: This is not affiliated with NCBI or NCBI Datasets, this is a user provided tool.
An MCP server that gives Claude access to NCBI Datasets v2 — discover what data NCBI Datasets offers, search genome assembly metadata, retrieve taxonomy records, and download data packages without leaving your conversation.
Tools
Tool | Transport | Description |
| — | Install the NCBI CLI tools (run once, or set |
| — | Describe what kinds of data NCBI Datasets provides; optional per-type detail |
| REST | Search genome assemblies by organism name or tax ID |
| REST | Fetch assembly metadata for known accessions |
| CLI | Download a genome package by taxon |
| CLI | Download a genome package by accession |
| CLI | Fetch sequence files for a dehydrated package |
| CLI | Convert a genome JSONL data report to TSV |
| REST | Get lineage, rank, and names for a taxon |
| CLI | Download a taxonomy package |
Discovering available data
Not sure what NCBI Datasets offers? Ask "what kind of data can I get from
datasets?" and the server's list_data_types tool returns a readable catalog of
every data report type — genes, genome assemblies, genome sequences, taxonomy,
viruses, and more — along with which tools retrieve each one. Pass a specific
type (e.g. genome-assembly) for its full field list and schema documentation
link.
Related MCP server: mcp-pubmed
Installation
Option 1 — Desktop Extension (recommended for Claude Desktop users)
Download
ncbi-datasets.mcpbfrom the Releases page.Double-click the file and click Install in Claude Desktop.
Optionally enter your NCBI API key and download directory.
The NCBI CLI tools are downloaded automatically on first use (NCBI_AUTO_INSTALL=true is set by default in the extension).
Option 2 — JSON config (Claude Desktop / Claude Code)
Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ncbi-datasets": {
"command": "uvx",
"args": ["ncbi-datasets-mcp"],
"env": {
"NCBI_API_KEY": "your_key_here",
"NCBI_DOWNLOAD_DIR": "/path/to/downloads",
"NCBI_AUTO_INSTALL": "true"
}
}
}
}Requires uv (curl -LsSf https://astral.sh/uv/install.sh | sh).
Configuration
Variable | Default | Description |
| (none) | NCBI API key — raises rate limit to 10 req/s |
|
| Default download location |
|
| Auto-install CLI tools on startup |
|
| Cap for summary tool result counts |
|
| Seconds before a download times out |
| (auto) | Override path to |
| (auto) | Override path to |
Development
# Install with dev extras
pip install -e ".[dev]"
# Run unit tests
pytest
# Run all tests including live network calls
pytest -m integration
# Regenerate enums from the current NCBI OpenAPI spec
python scripts/gen_enums.py
# Run the server locally (stdio transport)
ncbi-datasets-mcpArchitecture
src/ncbi_datasets_mcp/
server.py FastMCP app — tool registrations only
config.py Pydantic-settings env config
cli/
locator.py Find datasets/dataformat (config → PATH → cache)
installer.py Download binaries from NCBI FTP
runner.py Async subprocess wrapper
rest/
client.py httpx client for metadata/summary endpoints
domains/
_generated_enums.py Vendored enums from OpenAPI spec
common.py Shared utilities (output dir, filename sanitising)
genome.py Genome CLI arg builders + response shaping
taxonomy.py Taxonomy CLI arg builders
models/
responses.py Shared DownloadResult dataclassSummary tools (no file I/O) → REST API.
Download and format-conversion tools → NCBI CLI binaries.
Cite
If you use NCBI Datasets in your research, please cite:
NCBI Datasets. National Center for Biotechnology Information. https://www.ncbi.nlm.nih.gov/datasets/
License
MIT
Available Tools
10 toolsdataformat_genome_tsvB
Convert a genome JSONL data report from a downloaded package to TSV.
Args: jsonl_path: Path to the genome data_report.jsonl file inside the package. fields: Optional list of fields to include. Omit to use the default set.
| Name | Required | Description | Default |
|---|---|---|---|
| jsonl_path | Yes | ||
| fields | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states conversion and parameter basics, missing details like whether the operation is read-only, performance implications, or error handling.
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 efficient: one sentence for the action, then parameter descriptions. No fluff, well-structured with front-loaded 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?
Output schema is present, so return values are covered. Parameter descriptions are adequate for basic usage. Missing context about typical use cases or output format, but acceptable for a conversion 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 0%, and the description provides brief explanations for both parameters (jsonl_path as file path, fields as optional list). This adds meaning but lacks finer details like allowed values or formatting.
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 action ('Convert'), the resource ('genome JSONL data report'), and the output format ('TSV'). It distinguishes from sibling tools, which focus on downloading or summarizing, not conversion.
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 genome_summary_by_accession. The description implies usage after downloading a package but does not provide exclusions or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ensure_cliA
Check whether the NCBI datasets/dataformat CLI tools are installed and, if not, download and install them automatically. Call this tool once before using any download or format-conversion tools.
Returns the install status, binary paths, and version string.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes behavior: checks installation, auto-installs if missing. Mentions return values (status, paths, version). Could mention potential side effects like system modifications or internet requirement, but overall 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?
Three sentences, concise and front-loaded with the main action. Every sentence adds value: action, usage guidance, return information. No waste.
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 zero parameters and a clear return description, the tool definition is complete. Output schema exists (though not shown) to detail return types. Description covers all needed information for an agent to invoke correctly.
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?
No parameters (0 params). Baseline score of 4 per instructions. Description adds no parameter info, but none is needed.
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's purpose: checking and installing NCBI CLI tools. It specifies the action (check/install), the resource (NCBI datasets/dataformat CLI), and distinguishes it from sibling tools which are all about data operations, not installation.
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?
Explicitly states when to use: 'Call this tool once before using any download or format-conversion tools.' Provides clear context of being a prerequisite. Lacks explicit 'when not to use' statements but not needed given the specificity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
genome_download_by_accessionA
Download a genome data package for one or more assembly accessions.
Returns the local path to the downloaded ZIP file.
Args: accessions: RefSeq/GenBank assembly accessions include: Data types — genome, rna, protein, cds, gff3, gbff, seq-report. Defaults to ["genome"]. output_dir: Directory for the download. Uses NCBI_DOWNLOAD_DIR if omitted. dehydrated: Download a lightweight dehydrated package (use rehydrate_genome_package to fetch the actual sequence files).
| Name | Required | Description | Default |
|---|---|---|---|
| accessions | Yes | ||
| include | No | ||
| output_dir | No | ||
| dehydrated | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses key behaviors: returns local path, dehydrated packages need rehydration. It does not mention authentication or rate limits, but covers the main functional traits adequately.
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 front-loaded with the main verb and result, then details in a structured Args section. It is efficient but the Args block could be slightly more streamlined without losing clarity.
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 and the presence of an output schema, the description covers all necessary aspects: input parameters, output location, and the dehydrated workflow. It is fully complete for an agent to invoke correctly.
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 0% schema coverage, the description fully explains each parameter: accessions format, include data types with defaults, output_dir fallback, and dehydrated's purpose. This adds critical 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 it downloads a genome data package for assembly accessions and returns the local path. It differentiates from siblings like genome_download_by_taxon and genome_summary_by_accession through its specific verb 'download' and resource 'genome data package'.
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 clear parameter explanations with defaults and notes the dehydrated option's follow-up tool. It implicitly guides usage but lacks explicit when-to-use vs sibling tools, which would make it a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
genome_download_by_taxonA
Download genome data packages for assemblies matching a taxon.
For taxa with many assemblies, use dehydrated=True first, then call rehydrate_genome_package to fetch only the data you need.
Args: taxon: Taxon name or NCBI tax ID include: Data types — genome, rna, protein, cds, gff3, gbff, seq-report output_dir: Directory for the download dehydrated: Download a dehydrated package (recommended for large taxa) reference_only: Download only the reference/representative genome
| Name | Required | Description | Default |
|---|---|---|---|
| taxon | Yes | ||
| include | No | ||
| output_dir | No | ||
| dehydrated | No | ||
| reference_only | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains the dehydrated option and parameter purposes, but does not disclose that the tool writes files to the output directory, any potential side effects, or success/failure responses. The behavior is partially transparent but missing details about file creation.
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 with an introductory sentence, a usage tip, and a well-structured Args list. No unnecessary words; 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?
Given the tool downloads files and has an output schema (not shown), the description covers the main purpose and all parameters adequately. It could mention that the download creates files in the output directory, but it is reasonably complete for a download 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 schema has 0% description coverage, so the description must add meaning. It includes an Args section explaining each parameter beyond the schema: taxon (name or ID), include (data types list), output_dir (directory), dehydrated (recommended for large taxa), reference_only (only reference/representative). This provides excellent semantic detail.
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 downloads genome data packages for assemblies matching a taxon, specifying the verb 'download', the resource 'genome data packages', and the condition 'for assemblies matching a taxon'. It differentiates from siblings by mentioning the dehydrated workflow and referencing rehydrate_genome_package.
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 explicit guidance for large taxa (use dehydrated=True then rehydrate_genome_package). It does not explicitly compare to genome_download_by_accession, but the different purpose is inferred. The recommendation for dehydrated packages is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
genome_summary_by_accessionA
Retrieve genome assembly metadata for one or more NCBI accessions.
Args: accessions: RefSeq or GenBank assembly accessions (e.g. ["GCF_000001405.40", "GCA_000001405.29"])
| Name | Required | Description | Default |
|---|---|---|---|
| accessions | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as being read-only, idempotent, or any side effects. For a retrieval tool, this is a significant gap.
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 short paragraphs, no unnecessary words. The description is efficient and front-loaded with the core 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?
Adequate but lacks mention of potential limits (e.g., maximum number of accessions) or pagination. With an output schema present, return value explanation is not needed.
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 description adds value by specifying that accessions are 'RefSeq or GenBank assembly accessions' and provides examples. With 0% schema coverage, this compensates well, though it could be more explicit about format constraints.
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 'genome assembly metadata' for 'NCBI accessions', distinguishing it from siblings like genome_download_by_accession or genome_summary_by_taxon.
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. It does not specify when not to use or provide context for selection among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
genome_summary_by_taxonA
Search NCBI for genome assemblies matching a taxon name or tax ID.
Returns assembly metadata including accession numbers, organism info, assembly statistics, annotation status, and submission details.
Args: taxon: Taxon name (e.g. "human", "Mus musculus") or NCBI tax ID assembly_level: Filter by level — chromosome, complete_genome, contig, scaffold assembly_source: Filter by source — all, genbank, refseq reference_only: Return only reference/representative genomes annotated_only: Return only annotated genomes limit: Maximum number of assemblies to return (capped by server config)
| Name | Required | Description | Default |
|---|---|---|---|
| taxon | Yes | ||
| assembly_level | No | ||
| assembly_source | No | ||
| reference_only | No | ||
| annotated_only | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states that it returns assembly metadata but does not explicitly confirm it is a read-only operation, mention authentication needs, or rate limits. The search nature implies safety, but not fully 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 concise with a clear front-loaded purpose and a structured Args section. Every sentence adds value, though it could be slightly tighter without losing 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?
With 6 parameters (1 required) and an output schema, the description covers all inputs and states the return type (assembly metadata). It provides enough context for an AI agent to understand the tool's scope and usage.
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 0%, so description must add meaning. It includes an 'Args' section explaining each parameter with examples (e.g., 'human' for taxon) and possible values (e.g., 'chromosome' for assembly_level). The limit parameter notes server cap. This adds significant value beyond the schema defaults.
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 states a specific verb ('Search') and resource ('NCBI genome assemblies') with clear matching criteria ('taxon name or tax ID'). It distinguishes from sibling tools like genome_summary_by_accession (different lookup method) and genome_download_by_taxon (download vs 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 explains what the tool does but does not provide explicit guidance on when to use it versus alternatives like genome_summary_by_accession. No when-not-to-use or preference suggestions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_data_typesA
Describe the kinds of data NCBI Datasets can provide.
Call with no arguments for a readable overview of every NCBI Datasets data report type (genes, genome assemblies, sequences, taxonomy, viruses, and more), including which other tools in this server retrieve each one.
Pass a report_type (e.g. "genome-assembly", "taxonomy", "virus") to get that type's full field categories and a link to its schema documentation.
Args: report_type: Optional data report type key. Omit to list all types. Unknown values return the list of valid keys.
| Name | Required | Description | Default |
|---|---|---|---|
| report_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full behavioral burden. It discloses behavior for both modes and error handling (unknown values return valid keys). No side effects or permissions needed for this read-only listing tool, so the description is sufficiently 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?
Description is concise with a clear structure: opening purpose, then mode-specific behavior, then parameter docs. Every sentence adds unique value, no fluff. Front-loaded with main idea.
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 the tool having an output schema (which need not be described), the description covers all needed context: purpose, usage modes, parameter semantics, and error behavior. Complete for a simple, single-parameter informational 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 only declares 'report_type' as optional string/null with 0% coverage. Description adds key semantics: it's a data report type key, provides examples ('genome-assembly', 'taxonomy'), explains effect of omitting or supplying it, and clarifies error handling. Fully compensates for missing schema descriptions.
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 describes data types NCBI Datasets can provide, explicitly listing examples (genes, genome assemblies, etc.) and noting it shows which other tools retrieve each type, distinguishing it clearly from siblings.
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?
Explicitly explains two usage modes: no arguments gives overview with tool mappings, optional report_type gives field categories and schema link. Also notes that unknown values return valid keys, providing complete when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rehydrate_genome_packageA
Fetch the full sequence files for a dehydrated genome package.
Args: package_path: Path to the dehydrated ZIP file or its extracted directory.
| Name | Required | Description | Default |
|---|---|---|---|
| package_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions that package_path can be a ZIP file or directory, but does not discuss errors, size implications, or side effects. The tool's read-write nature is not clarified.
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 with one functional sentence plus an argument definition. It front-loads the purpose but includes an 'Args:' section that is somewhat redundant with the schema. Still 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?
For a simple tool with one parameter and an output schema, the description covers the essential: what it does and what input to provide. It does not elaborate on return values, but the output schema handles that. The context of sibling tools is understood.
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 description explains that package_path is a path to a dehydrated ZIP file or its extracted directory, adding significant meaning beyond the schema's plain string type. This is crucial given 0% schema description 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 fetches full sequence files for a dehydrated genome package, using the verb 'fetch' and specifying the resource. This distinguishes it from sibling tools that handle downloads by accession or taxon, data formatting, or summaries.
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 alternatives, prerequisites (e.g., prior dehydration step), or exclusions. The description only states its basic function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxonomy_downloadC
Download a taxonomy data package for a given taxon.
Args: taxon: Taxon name or NCBI tax ID output_dir: Directory for the download
| Name | Required | Description | Default |
|---|---|---|---|
| taxon | Yes | ||
| output_dir | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should carry the burden of behavioral disclosure. It only says 'download,' implying a network operation, but does not mention file size, permissions, side effects, or whether the tool modifies any state.
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?
Very short, with the main action front-loaded. The parameter listing is concise, but could be more structured (e.g., bullet points) for clarity. No wasted 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 presence of an output schema, the description does not explain return values or the nature of the download (e.g., file format, size). Sibling tools exist but no context is provided. Incomplete for a network-bound 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 description coverage is 0%, so the description must compensate. It adds basic meaning: 'taxon' is a name or NCBI ID, 'output_dir' is a directory. However, no details on formats, defaults, or constraints beyond what is in 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 downloads a taxonomy data package for a given taxon, which is a specific verb+resource. It distinguishes from sibling tools like genome_download_by_taxon, which downloads genome data, by specifying 'taxonomy' data package.
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. For example, when to use taxonomy_download vs taxonomy_summary or genome_download_by_taxon is not explained. No mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taxonomy_summaryA
Get taxonomy metadata for a taxon — lineage, rank, scientific name, common names, and child taxa.
Args: taxon: Taxon name (e.g. "human", "Bacteria") or NCBI tax ID
| Name | Required | Description | Default |
|---|---|---|---|
| taxon | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the output fields but does not disclose behavioral traits such as that it is a read-only operation, error handling for invalid taxon inputs, or any rate limits. The description is adequate but incomplete for full 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 extremely concise, consisting of a single sentence followed by a parameter explanation. The purpose is front-loaded, and every sentence adds value. No wasted 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 has only one parameter and an output schema (not shown), the description provides sufficient context about the input and output. It lists the categories of returned data, which is helpful. Lacks details on error handling or edge cases, but the presence of an output schema reduces the burden. 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?
The input schema has 0% description coverage, but the description compensates thoroughly. It explains the parameter 'taxon' accepts both scientific names (with examples like 'human', 'Bacteria') and NCBI tax IDs, adding crucial semantic context beyond the schema's type definition.
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's purpose: 'Get taxonomy metadata for a taxon' and lists the types of data returned (lineage, rank, scientific name, common names, child taxa). It specifies the verb 'Get' and the resource 'taxon', making it distinct from siblings like 'taxonomy_download' which implies bulk data retrieval.
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 taxonomy metadata but does not explicitly state when to use this tool versus alternatives such as 'genome_summary_by_taxon' or 'taxonomy_download'. No guidelines for when not to use it are provided, relying on the agent to infer from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: setup, summary/download by accession or taxon, taxonomy, format conversion, and data type listing. No overlap in functionality.
Most tools follow a consistent resource_action_by_criterion pattern (genome_download_by_accession, genome_summary_by_taxon), with minor deviations like dataformat_genome_tsv and ensure_cli. Still highly readable.
10 tools is well-scoped for NCBI Datasets: provides setup, summary, download, conversion, and overview without being overwhelming.
Covers the full lifecycle: setup, search/summary, download (including dehydrated/rehydration), format conversion, and data type listing. No obvious gaps for the domain.
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
Hosted MCP server for live public-data APIs and Skills for AI agents.
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides access to Monarch Initiative's biomedical data through the Biolink API, enabling agents to query biological entities, associations, and knowledge graphs using natural language.
- AlicenseAqualityDmaintenanceAn MCP server that provides direct access to PubMed and PubMed Central via the NCBI E-utilities API. It enables AI models to search biomedical literature, retrieve detailed article metadata, and download open-access full texts.5MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for querying BV-BRC biological data, submitting analysis jobs (assembly, annotation, BLAST, etc.), and managing workspace files via natural language.
- AlicenseAqualityAmaintenanceA high-performance MCP server that gives LLMs access to 25 biomedical tools federated across 50+ upstream APIs for genes, variants, drugs, diseases, literature, clinical trials, and structural biology.412,0542Apache 2.0
Appeared in Searches
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/syntheticgio/ncbi-datasets-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server