ncbi-entrez-skill

Query NCBI Entrez E-Utilities for compact PubMed, Gene, Protein, and GEO metadata summaries.

5.3k|765|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/openai/plugins --skill ncbi-entrez-skill
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ncbi-entrez-skill
Source: https://github.com/openai/plugins/tree/main/plugins/life-science-research/skills/ncbi-entrez-skill
Command: npx skills add https://github.com/openai/plugins --skill ncbi-entrez-skill

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Researchers often need quick, targeted answers from NCBI databases without wading through massive raw API responses. This Skill submits compact Entrez E-Utilities requests and returns concise, readable summaries instead of overwhelming JSON or XML dumps.

Core Features & Use Cases

  • Targeted Entrez Queries: Run esearch, esummary, efetch, elink, and einfo calls against PubMed, Gene, Protein, Nucleotide, PMC, and GEO databases with controlled result sizes.
  • Compact Output: Automatically truncates and summarizes responses, rendering PMIDs and DOIs as clickable Markdown links in final answers.
  • GEO Metadata Support: Query GEO DataSets and profiles through Entrez using db=gds or db=geoprofiles, with dedicated query patterns in the references.
  • Use Case: Ask for recent PubMed articles on KRAS and colorectal cancer, and receive a concise list of linked PMIDs rather than a raw JSON payload.

Quick Start

Search PubMed for the ten most recent articles on TP53 in human cancer and summarize the results with linked PMIDs.

Frequently Asked Questions about ncbi-entrez-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search PubMed with the NCBI Entrez API?

Use the esearch endpoint with db=pubmed and a term parameter, such as {"endpoint":"esearch","params":{"db":"pubmed","term":"KRAS AND colorectal cancer","retmode":"json","retmax":10}}. The script returns a compact list of matching record IDs.

How do I fetch gene or protein metadata from NCBI?

Use esummary or efetch with db=gene or db=protein and a specific record ID, for example {"endpoint":"esummary","params":{"db":"gene","id":"7157","retmode":"json"}}. Results are returned as compact summaries limited by max_items.

Can I query GEO datasets through Entrez?

Yes, GEO is accessible through Entrez using db=gds for DataSets and series-level metadata or db=geoprofiles for profile-level records. Use GSE[ETYP] or GSM[ETYP] in search terms to filter by accession type.

Does the NCBI Entrez script support API keys?

Yes, the script reads NCBI_API_KEY or NCBI_EUTILS_API_KEY from environment variables and adds it to requests automatically. It also supports NCBI_TOOL and NCBI_EMAIL environment variables for NCBI usage policies.

How do I get the full raw JSON or XML response from Entrez?

Set save_raw=true in the input JSON and optionally provide raw_output_path. The script writes the complete response to the specified file and reports the saved path instead of returning the full payload inline.

Why does my Entrez request return an error?

Errors return ok=false with an error code such as invalid_input, invalid_json, network_error, or invalid_response. Common causes include missing endpoint fields, malformed JSON input, non-integer max_items values, or network failures reaching the NCBI servers.